@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap");

.fnt-jose {
    font-family: 'Josefin Sans', sans-serif;
}

html {
    font-size: 62.5%;
}

body {
    font-family: 'Noto Sans JP', "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴシック ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

body p {
    font-family: 'Noto Sans JP', "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴシック ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    line-height: 1.8;
}

/* .sb-fixed{
  pointer-events: none;
} */
@media screen and (min-width: 640px) {
    .container {
        max-width: 1255px;
        margin: 0 auto;
        width: 100%;
    }
}

@media only screen and (max-width: 1280px) {
    .container {
        padding: 0 3%;
    }
}

/* @media only screen and (max-width: 639px) { .container { width: 96%; } } */

#mainvisual {
    background-image: url("../lp/images/main.jpg");
    background-position: center top;
    text-align: center;
    background-repeat: no-repeat;
    /* height: 575px; */
    overflow: hidden;
    font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴシック Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

#mainvisual p {
    font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴシック Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

#mainvisual .mv_contact_wrap {
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 2% auto 0 auto;
}

#mainvisual .mv_contact_wrap .btn_link {
    display: inline-block;
    padding: 0.6em 1em;
    text-decoration: none;
    color: #FFF;
    border-radius: 60px;
    width: 260px;
    line-height: 1.4;
    font-size: 15px;
    font-weight: bold;
    position: relative;
}

#mainvisual .mv_contact_wrap .btn_link::before {
    position: absolute;
    top: 50%;
    right: 5%;
    content: '';
    width: 12px;
    height: 12px;
    border: 0px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-top: -7px;
}

#mainvisual .mv_contact_wrap .btn_link:hover {
    opacity: 0.8;
}

#mainvisual .mv_contact_wrap .right .btn_link {
    background-image: -webkit-gradient(linear, left top, left bottom, from(#ffb256), to(#f08508));
    background-image: linear-gradient(#ffb256 0%, #f08508 100%);
    border-bottom: solid 4px #975911;
}

#mainvisual .mv_contact_wrap .left {
    margin-right: 2%;
}

#mainvisual .mv_contact_wrap .left .btn_link {
    background-image: -webkit-gradient(linear, left top, left bottom, from(#5392f4), to(#0253d2));
    background-image: linear-gradient(#5392f4 0%, #0253d2 100%);
    border-bottom: solid 4px #0b377b;
}

#mainvisual .wrap_catch01 {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#mainvisual .wrap_catch01 img {
    max-width: 100%;
}

#mainvisual .wrap_catch01 a:hover {
    opacity: 0.7;
}

#mainvisual .wrap_catch01 .on_pc--catch01 img {
    width: 760px;
    height: auto;
}

#mainvisual .pc_10offMV {
    width: 73%;
    text-align: left;
}

#mainvisual .pc_10offBnr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 46%;
    padding-left: 60px;
}

#mainvisual .pc_10offBnr img {
    max-width: 100%;
}

#mainvisual .pc_contactbnr {
    margin-left: 42px;
}

#mainvisual .on_pc--catch {
    width: 90%;
}

#mainvisual a {
    text-decoration: none;
}

#mainvisual .on_pc--bnmv {
    margin-left: -30px;
}

#mainvisual .on_sp--bg {
    position: relative;
}

#mainvisual .on_sp--catch {
    position: absolute;
    top: 1.5%;
}

#mainvisual .on_sp--catch01 {
    text-align: center;
    margin: 0 auto;
}

#mainvisual .mainvisual_inner {
    width: 1320px;
    margin: 0 auto;
}

#mainvisual h1 {
    font-size: 40px;
    padding-top: 75px;
    line-height: 1.2;
}

#mainvisual h1 .catch_small {
    font-size: 20px;
}

#mainvisual h1 .catch_small span.brackets {
    color: #faab00;
}

#mainvisual h1 .larger {
    font-size: 52px;
}

#mainvisual span.underline {
    position: relative;
    z-index: 1;
}

#mainvisual .underline {
    position: relative;
    z-index: 1;
}

#mainvisual .underline::after {
    content: "";
    position: absolute;
    left: -2px;
    bottom: -4px;
    display: block;
    width: 100%;
    height: 10px;
    background-color: #ffd700;
    z-index: -2;
}

#mainvisual .mv_txt {
    font-size: 20px;
    font-weight: bold;
}

#mainvisual .mv_mark .mv_txt_small {
    font-size: 10px;
    position: absolute;
    bottom: -9px;
    width: 165px;
    right: 0;
    left: -9px;
    margin: auto;
    font-weight: normal;
}

#mainvisual .mv_mark span {
    font-size: 30px;
}

#mainvisual .wrap_img_photo {
    overflow: hidden;
    -webkit-box-shadow: 0 7px 20px 0 rgba(0, 0, 0, 0.1);
    box-shadow: 0 7px 20px 0 rgba(0, 0, 0, 0.1);
    border-radius: 0 0 30px 30px;
}

#mainvisual .mv_mark_list {
    position: relative;
    z-index: 1;
    align-items: center;
}

#mainvisual .mv_mark_list li {
    background-image: url("../lp/images/mark_bg.png");
    width: 141px;
    height: 126px;
    font-weight: bold;
    padding-top: 28px;
    margin: 20px;
    text-shadow: 1px 1px 0px #fff, -1px -1px 0px #fff, -1px 1px 0px #fff, 1px -1px 0px #fff, 1px 0px 0px #fff, -1px 0px 0px #fff, 0px 1px 0px #fff, 0px -1px 0px #fff;
    line-height: 1.3;
    position: relative;
}

#mainvisual .mv_mark_list li.round {
    color: #253748;
    background-color: #f9d82a;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 0;
    text-shadow: none;
    font-size: 19px;
    background-image: none;
    text-align: center;
    height: 141px;
}

#mainvisual .mv_btn {
    margin-top: 45px;
}

#mainvisual .mv_btn_list a {
    color: #fff;
    height: 60px;
    position: relative;
    border-radius: 33px;
    text-decoration: none;
    font-size: 16px;
    font-weight: bold;
}

#mainvisual .mv_btn_list .btn_cost a {
    padding: 0 35px;
    background-color: #faab00;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

#mainvisual .mv_btn_list .btn_cost a::after {
    background-image: url("../common_img/arrow-right-white.png");
    position: absolute;
    content: "";
    right: 12px;
    width: 8px;
    height: 14px;
}

#mainvisual .mv_btn_list .btn_telbox {
    position: relative;
    margin-left: 30px;
}

#mainvisual .mv_btn_list .btn_telbox span.support {
    color: #253748;
    width: 47px;
    height: 47px;
    background-color: #ffd700;
    position: absolute;
    top: -15px;
    left: -22px;
    border-radius: 50%;
    line-height: 1.2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 14px;
    font-weight: bold;
}

#mainvisual .mv_btn_list .btn_telbox p {
    line-height: 1.4;
}

#mainvisual .mv_btn_list .btn_telbox .btn_contact {
    position: relative;
    overflow: hidden;
    width: 240px;
    height: 60px;
    border-radius: 30px;
    text-align: center;
    color: #ffffff;
    background-color: #ec7413;
    border: 4px solid #ec7413;
    font-size: 16px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 15px;
    margin-top: -1px;
    margin-right: -1px;
    padding-right: 30px;
}

#mainvisual .mv_btn_list .btn_telbox .btn_contact:before {
    position: absolute;
    content: '';
    display: inline-block;
    right: -250px;
    bottom: -100px;
    width: 200px;
    height: 200px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    background: transparent;
    -webkit-transform: rotate(315deg);
    transform: rotate(315deg);
}

#mainvisual .mv_btn_list .btn_telbox .btn_contact::after {
    content: "";
    background-image: url("../common_img/mail.png");
    position: absolute;
    content: "";
    right: 10px;
    background-repeat: no-repeat;
    width: 25px;
    height: 19px;
    background-size: contain;
}

#mainvisual .mv_btn_list .btn_telbox a.btn_contact:hover {
    opacity: 1 !important;
}

#mainvisual .mv_btn_list .btn_telbox a.btn_contact:hover:before {
    right: -120px;
    background: #ffffff2a;
}

#mainvisual .mv_btn_list .btn_telbox span.time {
    font-size: 14px;
    display: block;
}

#mainvisual .mv_btn_list .btn_telbox .btn_tel {
    color: #333;
    width: 300px;
    display: inline-block;
    padding-left: 20px;
    margin-top: 5px;
}

#mainvisual .mv_btn_list .btn_telbox .btn_tel .tel {
    font-size: 22px;
}

#mainvisual .btn_telbox_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border: 3px solid #ec7413;
    background-color: #ffffff;
    border-radius: 33px;
    height: 63px;
}

#mainvisual .wrap_img {
    position: relative;
}

@media only screen and (max-width: 1280px) {
    #mainvisual .mainvisual_inner {
        width: 1200px;
        margin: 0 auto;
    }

    #mainvisual .wrap_img {
        width: 45%;
    }
}

@media (max-width: 767px) {
    #mainvisual {
        position: relative;
        padding: 0 0 30px;
        height: auto;
        background-size: cover;
    }

    #mainvisual .mv_contact_wrap {
        padding: 1.25% 1.45833%;
        width: 100%;
    }

    #mainvisual .mv_contact_wrap .left {
        margin: 0 1% 0 0;
    }

    #mainvisual .mv_contact_wrap .btn_link {
        width: 180px;
        font-size: 12px;
        padding: 0.8em 1.7em 0.5em 1.7em;
    }

    #mainvisual .mv_contact_wrap .btn_link::before {
        width: 10px;
        height: 10px;
        margin-top: -5px;
        border-top-width: 1px;
        border-right-width: 1px;
    }

    #mainvisual .mainvisual_inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        width: 100%;
    }

    #mainvisual h1 {
        font-size: 22px;
        width: 95%;
        margin: 0 auto;
        padding-top: 20px;
        padding-bottom: 15px;
    }

    #mainvisual h1 .larger {
        font-size: 30px;
    }

    #mainvisual h1 .catch_small {
        font-size: 15px;
    }

    #mainvisual h1 .catch_small span.brackets {
        font-size: 11px;
    }

    #mainvisual .mv_txt {
        font-size: 15px;
        margin-top: 9px;
    }

    #mainvisual .wrap_img_photo {
        border-radius: 20px;
        margin-left: 2%;
        margin-right: 2%;
    }

    #mainvisual .wrap_img {
        width: 100%;
        margin: 0 auto;
    }

    #mainvisual .mv_btn_list li {
        width: 100%;
        margin-bottom: 10px;
    }

    #mainvisual .mv_btn_list li a {
        width: 100%;
        font-size: 16px;
        height: 55px;
    }

    #mainvisual .mv_btn_list a span {
        font-size: 16px;
        display: inline-block;
        text-align: center;
        width: 100%;
    }

    #mainvisual .mv_btn_list .btn_telbox {
        margin-top: 20px;
        margin-left: 2%;
        margin-right: 2%;
    }

    #mainvisual .mv_btn_list .btn_telbox span.support {
        font-size: 13px;
        width: 45px;
        height: 45px;
        top: 10px;
        z-index: 1;
        left: 12px;
    }

    #mainvisual .mv_btn_list .btn_telbox .btn_contact {
        width: 100%;
        border-radius: 0 0 9px 9px;
    }

    #mainvisual .mv_btn_list .btn_telbox .btn_contact::after {
        right: auto;
        width: 20px;
        height: 20px;
        left: 17px;
    }

    #mainvisual .mv_btn_list .btn_telbox .btn_tel {
        width: auto;
    }

    #mainvisual .mv_btn_list .btn_telbox .btn_tel .tel {
        font-size: 22px;
    }

    #mainvisual .mv_mark span {
        font-size: 26px;
    }

    #mainvisual .mv_mark .mv_txt_small {
        left: -19px;
        font-size: 8px;
    }

    #mainvisual .mv_mark_list li {
        width: 125px;
        height: 112px;
        padding-top: 24px;
        background-size: cover;
        background-repeat: no-repeat;
    }

    #mainvisual .mv_mark_list {
        flex-wrap: wrap;
    }

    #mainvisual .mv_mark_list li.round {
        height: 125px;
        font-size: 17px;
    }

    #mainvisual .btn_telbox_wrap {
        width: 100%;
        border-radius: 15px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        position: relative;
        height: auto;
    }

    #mainvisual .sp_10offBnr {
        margin-top: 10px;
        margin-bottom: 10px;
    }

    #mainvisual .sp_10offBnr a:hover {
        opacity: 0.7;
    }
}

@media only screen and (max-width: 320px) {
    #mainvisual .mv_contact_wrap .btn_link {
        width: 150px !important;
    }
}

@media only screen and (min-width: 376px) and (max-width: 767px) {
    #mainvisual .on_sp--catch {
        top: 5%;
    }
}

@media only screen and (max-width: 375px) {
    #mainvisual .on_sp--catch {
        top: 5%;
    }
}

@media only screen and (max-width: 479px) {
    #mainvisual .mv_btn_list .btn_telbox .btn_contact {
        padding-left: 40px;
    }
}

.outside-menu {
    background-color: #4ab2c8;
    width: 100%;
    margin-bottom: 20px;
}

.outside-menu div[class*="submenu--"] {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.outside-menu div[class*="submenu--"] > * {
    color: #fff;
    text-align: center;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.5;
    text-decoration: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-item-align: stretch;
    align-self: stretch;
    padding: 10px 0;
    width: calc((100% - 130px)/5);
    border-right: 1px solid #a6d3dd;
}

.outside-menu div[class*="submenu--"] > *::before {
    display: block;
}

/* .outside-menu div[class*="submenu--"] >*:hover {
  background-color: #22c0ce;
  color: #001830;
} */
.outside-menu div[class*="submenu--"] > *:nth-child(1) {
    border-bottom: 1px solid #a6d3dd;
    border-top: none;
}

.outside-menu div[class*="submenu--"] > *:nth-child(1):before {
    content: url("../common_img/isub6.png");
}

.outside-menu div[class*="submenu--"] > *:nth-child(2) {
    border-bottom: 1px solid #a6d3dd;
    border-top: none;
}

.outside-menu div[class*="submenu--"] > *:nth-child(2):before {
    content: url("../common_img/isub7.png");
}

.outside-menu div[class*="submenu--"] > *:nth-child(3) {
    border-bottom: 1px solid #a6d3dd;
    border-top: none;
    width: 130px;
}

.outside-menu div[class*="submenu--"] > *:nth-child(3):before {
    content: url("../common_img/isub8.png");
}

.outside-menu div[class*="submenu--"] > *:nth-child(4) {
    border-bottom: 1px solid #a6d3dd;
    border-top: none;
}

.outside-menu div[class*="submenu--"] > *:nth-child(4):before {
    content: url("../common_img/isub9.png");
}

.outside-menu div[class*="submenu--"] > *:nth-child(5) {
    border-bottom: 1px solid #a6d3dd;
    border-top: none;
}

.outside-menu div[class*="submenu--"] > *:nth-child(5):before {
    content: url("../common_img/isub10.png");
}

.outside-menu div[class*="submenu--"] > *:nth-child(6) {
    border-bottom: 1px solid #a6d3dd;
    border-top: none;
}

.outside-menu div[class*="submenu--"] > *:nth-child(6):before {
    content: url("../common_img/isub11.png");
}

.outside-menu div[class*="submenu--"] > *:nth-child(7):before {
    content: url("../common_img/isub12.png");
}

.outside-menu div[class*="submenu--"] > *:nth-child(8):before {
    content: url("../common_img/isub13.png");
}

.outside-menu div[class*="submenu--"] > *:nth-child(9) {
    width: 130px;
}

.outside-menu div[class*="submenu--"] > *:nth-child(9):before {
    content: url("../common_img/isub14.png");
}

.outside-menu div[class*="submenu--"] > *:nth-child(10):before {
    content: url("../common_img/isub15.png");
}

.outside-menu div[class*="submenu--"] > *:nth-child(11):before {
    content: url("../common_img/isub16.png");
}

.outside-menu div[class*="submenu--"] > *:nth-child(12):before {
    content: url("../common_img/isub17.png");
}

.outside-menu div[class*="submenu--"] > *:nth-child(6n+6) {
    border-right: none;
}

@media (max-width: 767px) {
    .outside-menu div[class*="submenu--"] > * {
        width: 50% !important;
        border-bottom: 1px solid #a6d3dd;
    }

    .outside-menu div[class*="submenu--"] > *:nth-child(odd) {
        border-right: 1px solid #a6d3dd;
    }
}

.bnr_a-f-web {
    margin-top: -85px;
    z-index: 10;
    position: relative;
    margin-bottom: 30px;
}

.bnr_a-f-web a img {
    margin: 0 auto;
}

@media (max-width: 767px) {
    .bnr_a-f-web {
        margin-top: 0px;
        margin-bottom: 0px;
        margin-left: 2%;
        margin-right: 2%;
    }
}

.sec01 {
    padding-top: 50px;
    padding-bottom: 50px;
}

.sec01 .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.sec01 .inner .left {
    width: calc(60% - 20px);
}

.sec01 .inner .youtube {
    width: calc(40% - 20px);
}

.sec01 .inner h2 {
    color: #22c0ce;
    font-weight: 700;
    font-size: 30px;
    line-height: 1.5;
    margin-bottom: 20px;
}

.sec01 .inner .txt {
    font-size: 22px;
    margin-bottom: 20px;
}

/* .sec01 .inner .youtube iframe { width: 100%; height: 100%; } */
@media (max-width: 767px) {
    .sec01 {
        padding-top: 0;
    }

    .sec01 .inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .sec01 .inner > * {
        width: 100% !important;
    }

    .sec01 .inner h2 {
        font-size: 20px;
    }

    .sec01 .inner .txt {
        font-size: 14px;
    }

    .sec01 .inner .youtube {
        margin-top: 20px;
        /* height: 300px; */
    }
}

/* .sec02 { padding-top: 80px; padding-bottom: 60px; } */

.sec02 h2 {
    text-align: center;
    color: #f47164;
    font-size: 41px;
}

.sec02 .inner {
    padding: 40px 35px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 4px solid #f47164;
    border-radius: 20px;
}

.sec02 .inner-step {
    margin-top: 40px;
}

.sec02 .inner-step .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.sec02 .inner-step .item + .item {
    margin-top: 80px;
}

.sec02 .inner-step .item figure {
    overflow: hidden;
    border: 1px solid #dcdcdc;
}

.sec02 .inner-step .item figure img {
    -webkit-transform: scale(1.01);
    transform: scale(1.01);
}

.sec02 .inner-step .item .right {
    width: calc(100% - 380px);
    font-size: 16px;
}

.sec02 .inner-step .item .right .title {
    padding: 0 10px 5px;
}

.sec02 .inner-step .item .right .title h3 strong {
    font-size: 20px;
    margin-right: 30px;
}

.sec02 .inner-step .item .right .title h3 small {
    font-size: 14px;
}

.sec02 .inner-step .item .right .item-content .arr-down {
    border-left: 100px solid transparent;
    border-top: 25px solid #5cb0c7;
    border-right: 100px solid transparent;
    height: 25px;
    width: 0;
    margin-left: 230px;
    margin-top: 10px;
    margin-bottom: 10px;
}

.sec02 .inner-step .item .right .yellow-line-bg {
    background-color: #FCF411;
}

.sec02 .tel-last {
    text-align: right;
    margin-top: 30px;
    position: fixed;
    z-index: 999;
    right: 10px;
    bottom: -100% !important;
    transition: .3s;
}

.sec02 .tel-last.fixed {
    bottom: 10px !important;
}

.sec02 .tel-last a {
    display: inline-block;
    background-image: -webkit-gradient(linear, left top, right top, from(#ffd02e), to(#f19c13));
    background-image: linear-gradient(90deg, #ffd02e 0%, #f19c13 100%);
    border-radius: 10px;
    text-decoration: none;
    color: #fff;
    padding: 20px 25px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.sec02 .tel-last a > * {
    display: block;
    text-align: center;
}

.sec02 .tel-last a .number {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 35px;
    font-weight: 600;
    margin: 15px 0 10px;
}

.sec02 .tel-last a .number img {
    width: 36px;
    height: auto;
    margin-right: 7px;
}

@media (max-width: 767px) {
    .sec02 h2 {
        font-size: 25px;
        position: relative;
        z-index: 1;
        padding-left: 10px;
        padding-right: 10px;
        line-height: 1.5;
    }

    .sec02 h2 span {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        font-size: 35px;
    }

    .sec02 h2 span:nth-child(1) {
        left: 0;
    }

    .sec02 h2 span:nth-child(2) {
        right: 0;
    }

    .sec02 .inner {
        padding: 20px 2%;
        border-width: 2px;
    }

    .sec02 .inner-step .item {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .sec02 .inner-step .item + .item {
        margin-top: 40px;
    }

    .sec02 .inner-step .item .right {
        width: 100%;
        margin-top: 20px;
        font-size: 14px;
    }

    .sec02 .inner-step .item .right .title {
        margin-bottom: 10px;
    }

    .sec02 .inner-step .item .right .title h3 strong {
        font-size: 16px;
        display: block;
        margin-right: 0;
    }

    .sec02 .inner-step .item .right .item-content .arr-down {
        margin-left: auto;
        margin-right: auto;
        border-left-width: 60px;
        border-right-width: 60px;
    }

    .sec02 .tel-last {
        text-align: center;
        display: none;
    }

    .sec02 .tel-last a > * {
        font-size: 10px;
    }

    .sec02 .tel-last a {
        padding: 10px;
    }

    .sec02 .tel-last a .number {
        font-size: 20px;
        margin-top: 5px;
        margin-bottom: 0;
    }

    .sec02 .tel-last a .number img {
        width: 20px;
    }
}

.sec03 .title {
    padding: 50px 0;
}

.sec03 .title p {
    font-size: 41px;
    line-height: 1;
}

.sec03 .title p span {
    font-size: 70px;
    font-weight: 700;
}

.sec03 .product__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.sec03 .product__list .product__item {
    width: calc((100% - 30px)/3);
    margin-top: 30px;
}

.sec03 .product__list .product__item .product__ListImg {
    width: 100%;
    height: 268px;
    overflow: hidden;
}

.sec03 .product__list .product__item .product__ListImg img {
    width: 100%;
    height: auto;
}

@media (max-width: 767px) {
    .sec03 .title {
        padding: 30px 2%;
    }

    .sec03 .title p {
        font-size: 20px;
    }

    .sec03 .title p span {
        font-size: 35px;
    }

    .sec03 .product__list .product__item {
        width: 100%;
        margin-right: 0;
    }
}

.sec04 {
    padding-top: 80px;
}

@media (max-width: 767px) {
    .sec04 {
        padding-top: 20px;
    }
}

.sec04 .title {
    text-align: center;
    position: relative;
    z-index: 1;
    display: table;
    margin-left: auto;
    margin-right: auto;
}

.sec04 .title h2 {
    font-size: 27px;
}

.sec04 .title .note {
    position: absolute;
    left: -255px;
    font-size: 22px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    padding: 5px 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: left;
    line-height: 1.3;
}

@media (max-width: 767px) {}

.sec04 .title .note::after {
    content: '';
    border-top: 12px solid transparent;
    border-left: 15px solid #3e4150;
    border-bottom: 12px solid transparent;
    position: absolute;
    right: -15px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.sec04 .list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-top: 40px;
}

.sec04 .list [class*="item"] {
    position: relative;
    width: 24%;
    -webkit-box-shadow: 1px 1px 6px #d8d8ed;
    box-shadow: 1px 1px 6px #d8d8ed;
    padding: 28px 20px 5px 20px;
    min-height: 350px;
    background-image: url("../lp/images/bfa2.png");
    background-repeat: no-repeat;
    background-position: right 15px bottom 15px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.sec04 .list [class*="item"] > a {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 99;
}

.sec04 .list [class*="item"] .left {
    position: relative;
    padding: 19px 0 0;
    text-align: center;
}

.sec04 .list [class*="item"] .right {
    color: #fff;
    text-align: center;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.sec04 .list [class*="item"] .right > span {
    color: #5fccd6;
    font-family: "Josefin Sans", sans-serif;
    border-top: 3px solid #5fccd6;
    display: block;
    font-size: 20px;
    padding-top: 10px;
}

.sec04 .list [class*="item"] .right .ttl {
    line-height: 1.6;
    padding: 15px 10px;
    position: relative;
    margin-bottom: 15px;
    font-family: "Josefin Sans", sans-serif;
    background: #4ab2c8;
    color: #fff;
    border-radius: 15px;
    font-size: 16px;
    text-align: center;
}

.sec04 .list [class*="item"] .right .ttl:after {
    content: '';
    position: absolute;
    bottom: -13px;
    right: 25%;
    background: url(../images/ico_after.png) bottom center no-repeat;
    width: 19px;
    height: 13px;
}

.sec04 .list [class*="item"] .right .ttl strong {
    font-size: 30px;
    font-weight: normal;
}

.sec04 .list [class*="item"] .right .desc01 {
    color: #3e4150;
    font-size: 23px;
    font-weight: bold;
}

.sec04 .list [class*="item"] .right .desc01 strong {
    font-size: 38px;
    color: #5fccd6;
    font-weight: bold;
}

.sec04 .list [class*="item"] .right .desc01 span {
    font-size: 32px;
    color: #5fccd6;
    font-weight: bold;
}

.sec04 .list [class*="item"] .right .desc02 {
    line-height: 1.7;
    color: #3e4150;
    font-size: 16px;
}

.sec04 .list [class*="item"]:hover {
    background-color: #bef9ff;
}

.sec04 .list .item--2 .right h3 {
    font-size: 33px;
    line-height: 60px;
    margin-bottom: 15px;
    padding-bottom: 3px;
}

@media (max-width: 767px) {
    .sec04 .title h2 {
        font-size: 16px;
    }

    .sec04 .list {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .sec04 .list [class*="item"] {
        width: 48%;
        padding: 10px;
        margin-bottom: 4%;
    }

    .sec04 .list [class*="item"] .right .ttl {
        font-size: 15px;
    }

    .sec04 .list [class*="item"] .right .desc01 {
        font-size: 14px;
    }

    .sec04 .list [class*="item"] .right .desc01 strong {
        font-size: 19px;
    }

    .sec04 .list [class*="item"] .right .desc01 span {
        font-size: 16px;
    }
}

.txt--1 {
    background: -webkit-gradient(linear, left top, left bottom, from(#ffe743), to(#ffe743)) repeat-x center bottom/3px 5px;
    background: linear-gradient(#ffe743, #ffe743) repeat-x center bottom/3px 5px;
    font-weight: 700;
}

.sec05 {
    padding-top: 80px;
    padding-bottom: 90px;
}

.sec05 .fbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.sec05 .fbox > * {
    width: 50%;
}

@media (max-width: 767px) {
    .sec05 .fbox {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .sec05 .fbox .right {
        margin-top: 20px;
    }

    .sec05 .fbox > * {
        width: 100%;
    }
}

.about_tit--graph {
    font-size: 26px;
}

.about_tit--graph + p {
    font-size: 16px;
}

@media (max-width: 767px) {
    .about_tit--graph {
        font-size: 16px;
    }
}

.sec06 {
    padding-bottom: 90px;
}

@media (max-width: 1280px) {
    .sec06 {
        padding: 0 3%;
    }
}

.sec06 .container {
    border-radius: 20px;
    border: 5px solid #FFA234;
    padding: 50px 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.sec06 h2 {
    font-size: 32px;
    text-align: center;
}

.sec06 .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-top: 50px;
}

.sec06 .inner .left {
    font-size: 16px;
    width: calc(50% + 20px);
}

.sec06 .inner .left p {
    line-height: 1.7;
}

.sec06 .inner .left p + p {
    margin-top: 20px;
}

.sec06 .inner .right {
    text-align: right;
    width: calc(50% - 70px);
}

.sec06 .inner .right a {
    display: inline-block;
    background-image: -webkit-gradient(linear, left top, right top, from(#ffd02e), to(#f19c13));
    background-image: linear-gradient(90deg, #ffd02e 0%, #f19c13 100%);
    border-radius: 10px;
    text-decoration: none;
    color: #fff;
    padding: 20px 25px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 26px;
    width: 100%;
}
@media (max-width: 1200px) {
    .sec06 .inner .right a {
        font-size: 19px;
    }
    .sec06 .inner .right a .number{
        font-size: 40px;
    }
}
.sec06 .inner .right a > * {
    display: block;
    text-align: center;
}

.sec06 .inner .right a strong {
    line-height: 1.5;
}

.sec06 .inner .right a .number {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 57px;
    font-weight: 600;
    margin: 15px 0 10px;
}

.sec06 .inner .right a .number img {
    margin-right: 7px;
}

@media (max-width: 767px) {
    .sec06 {
        padding-bottom: 40px;
    }

    .sec06 .container {
        padding: 10px;
        margin-left: auto;
        margin-right: auto;
        width: 96%;
        border-width: 2px;
    }

    .sec06 h2 {
        font-size: 20px;
    }

    .sec06 .inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding-top: 20px;
    }

    .sec06 .inner .left {
        width: 100%;
    }

    .sec06 .inner .right {
        width: 100%;
        margin-top: 20px;
    }

    .sec06 .inner .right a {
        font-size: 16px;
    }

    .sec06 .inner .right a .number {
        font-size: 30px;
    }

    .sec06 .inner .right a .number img {
        width: 30px;
        height: auto;
    }
}

.sec07 {
    padding-top: 65px;
    padding-bottom: 65px;
}

.sec07 h2 {
    font-size: 32px;
    padding-bottom: 40px;
}

.sec07 h3 {
    border-bottom: 1px solid currentColor;
    font-size: 26px;
    margin-top: 50px;
    padding-bottom: 10px;
    margin-bottom: 25px;
    color: #009fb7;
}

.sec07 .set1 {
    color: #ff6b5c;
    font-size: 20px;
    text-decoration: none;
    border-bottom: 1px solid #ff6b5c;
}

.sec07 .set2 {
    color: #4ac7c8;
    font-size: 20px;
    text-decoration: none;
    border-bottom: 1px solid #4ac7c8;
}

.sec07 .post {
    margin-bottom: 20px;
}

.sec07 .post .ques {
    font-size: 18px;
    font-weight: 600;
    /* background-color: #4ac7c8; */
    background-color: #e8eff8;
    padding: 15px;
    padding-left: 60px;
    color: #000;
    /* background-image: url("../lp/images/ic_q.png"); */
    background-repeat: no-repeat;
    background-position: left 30px center;
    position: relative;
    line-height: 1.8;
}

.sec07 .post .ques::before {
    content: 'Q.';
    font-weight: bold;
    font-size: 30px;
    color: #4abba9;
    position: absolute;
    top: 7px;
    left: 20px;
    font-family: "Josefin Sans", sans-serif;
}

.sec07 .post .ques .mark {
    display: none;
}

.sec07 .post .ques .mark.active span:first-child {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

.sec07 .post .ans {
    /* padding: 30px; */
    background-color: #fff;
    position: relative;
    z-index: 1;
    display: none;
}

.sec07 .post .ans::before {
    content: 'A.';
    font-weight: bold;
    font-size: 30px;
    color: #4abba9;
    position: absolute;
    top: 7px;
    left: 20px;
    font-family: "Josefin Sans", sans-serif;
}

.sec07 .post .ans .outside {
    /* background-color: #FBFCFE; */
    /* padding: 35px 35px 35px 87px; */
    /* background-image: url("../lp/images/ic_a.png"); background-repeat: no-repeat; background-position: left 30px top 35px; */
    padding: 16px;
    padding-left: 60px;
}

.sec07 .post .ans .outside p {
    line-height: 25.5px;
    color: #353c42;
    margin-bottom: 25px;
}

@media (max-width: 767px) {
    .sec07 {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .sec07 h2 {
        font-size: 24px;
        padding-bottom: 30px;
    }

    .sec07 h3 {
        font-size: 22px;
    }

    .sec07 .post {
        margin-bottom: 10px;
    }

    .sec07 .post .ques {
        background-size: 30px auto;
        background-position: center left 10px;
        padding-left: 50px;
        line-height: 1.5;
        padding-top: 10px;
        padding-bottom: 10px;
        padding-right: 30px;
        font-size: 16px;
    }

    .sec07 .post .ans {
        padding: 10px;
        display: none;
    }

    .sec07 .post .ans .outside {
        background-size: 32px auto;
        background-position: left 10px top 20px;
        padding: 20px 20px 20px 50px;
    }

    .sec07 .post .ques .mark {
        display: block;
    }

    .post .ques .mark {
        width: 15px;
        top: 0;
        bottom: 0;
        background: linear-gradient(currentColor, currentColor) no-repeat center center/15px 1px, linear-gradient(currentColor, currentColor) no-repeat center center/1px 15px;
        position: absolute;
        right: 5px;
    }

    .post .ques .mark.active {
        background-size: 15px 1px, 1px 0px;
    }
}

.sec08 {
    position: relative;
    z-index: 1;
    padding-top: 50px;
    padding-bottom: 80px;
}

.sec08 h2 {
    background: url(../lp/images/s8_arr.png) no-repeat center top;
    text-align: center;
    font-size: 40px;
    text-shadow: -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff;
    padding: 80px 0 50px;
    margin-bottom: 40px;
}

.sec08 .inner {
    -webkit-box-shadow: 0px 1px 6px 0px rgba(216, 216, 237, 0.4);
    box-shadow: 0px 1px 6px 0px rgba(216, 216, 237, 0.4);
    background-color: #fff;
    padding: 25px 20px 40px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: url(../lp/images/s8_ico1.png) no-repeat left 20px bottom 20px, url(../lp/images/s8_ico2.png) no-repeat right 20px bottom 20px;
}

.sec08 .inner .row1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.sec08 .inner .row1 .list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-right: 40px;
}

.sec08 .inner .row1 .list li {
    border-radius: 100%;
    border: 4px dotted #37BABD;
    width: 150px;
    height: 150px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 30px;
    font-weight: 700;
    color: #253748;
}

.sec08 .inner .row1 .list li + li {
    margin-left: 20px;
}

.sec08 .inner .row1 img {
    width: 340px;
    height: auto;
}

.sec08 .inner .row2 h3 {
    font-size: 23px;
    text-align: center;
    margin-top: 30px;
    margin-bottom: 25px;
}

.sec08 .inner .row2 .btn_telbox_wrap {
    border: 3px solid #ec7413;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    border-radius: 999px;
    width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.sec08 .inner .row2 .btn_telbox_wrap > p:nth-child(1) {
    width: 470px;
    text-align: center;
}

.sec08 .inner .row2 .btn_telbox_wrap .btn_tel {
    width: 100%;
}

.sec08 .inner .row2 .btn_telbox_wrap .btn_tel span {
    display: block;
    font-weight: 700;
    line-height: 1.1;
}

.sec08 .inner .row2 .btn_telbox_wrap .btn_tel .tel {
    font-size: 30px;
}

.sec08 .inner .row2 .btn_telbox_wrap .btn_tel .time {
    font-size: 19px;
}

.sec08 .inner .row2 .btn_telbox_wrap .btn_contact {
    position: relative;
    overflow: hidden;
    margin-left: auto;
    border-radius: 999px;
    text-align: center;
    color: #ffffff;
    background-color: #ec7413;
    border: 4px solid #ec7413;
    font-size: 21px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 45px;
    margin-top: -1px;
    margin-right: -1px;
    padding-right: 100px;
    white-space: nowrap;
    height: 91px;
}

.sec08 .inner .row2 .btn_telbox_wrap .btn_contact::before {
    position: absolute;
    content: '';
    display: inline-block;
    right: -250px;
    bottom: -100px;
    width: 200px;
    height: 200px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    background: transparent;
    -webkit-transform: rotate(315deg);
    transform: rotate(315deg);
}

.sec08 .inner .row2 .btn_telbox_wrap .btn_contact::after {
    content: "";
    background-image: url(../common_img/mail.png);
    position: absolute;
    right: 30px;
    background-repeat: no-repeat;
    width: 34px;
    height: 26px;
    background-size: contain;
}

.sec08 .inner .row2 .btn_telbox_wrap .btn_contact:hover::before {
    right: -120px;
    background: #ffffff2a;
}

.sec08 .inner .row2 .btn_telbox_wrap a {
    text-decoration: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 90px;
}

@media (max-width: 767px) {
    .sec08 {
        padding-bottom: 40px;
        padding-top: 40px;
    }

    .sec08 h2 {
        background-size: auto 100%;
        font-size: 20px;
        padding-top: 40px;
        padding-bottom: 20px;
        margin-bottom: 30px;
    }

    .sec08 .inner {
        padding: 10px;
        background-image: none;
    }

    .sec08 .inner .row1 {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .sec08 .inner .row1 .list {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-right: 0;
        margin-bottom: 20px;
    }

    .sec08 .inner .row1 .list li {
        width: 130px;
        height: 130px;
        margin-left: 15px !important;
        margin-right: 15px !important;
        margin-bottom: 10px;
    }

    .sec08 .inner .row2 h3 {
        font-size: 16px;
    }

    .sec08 .inner .row2 .btn_telbox_wrap {
        width: 100%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        border-radius: 20px;
    }

    .sec08 .inner .row2 .btn_telbox_wrap > p:nth-child(1) {
        width: 100%;
    }

    .sec08 .inner .row2 .btn_telbox_wrap .btn_contact {
        border-radius: 0 0 10px 10px;
    }
}

.acl ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: center;
}

.acl ul li {
    width: 230px;
    margin-left: 10px;
    margin-right: 10px;
}

.acl ul li a {
    text-decoration: none;
    display: block;
    background-color: #4ab2c8;
    border-radius: 35px;
    line-height: 60px;
    text-align: center;
    font-size: 15px;
    color: #fff;
    font-weight: bold;
    -webkit-transition: all 0.01s;
    -o-transition: all 0.01s;
    transition: all 0.01s;
    background-image: url("../products/images/bfa2.png");
    background-repeat: no-repeat;
    background-position: center bottom;
    -webkit-box-shadow: 2px 2px 6px 1px #c3d4e5;
    box-shadow: 2px 2px 6px 1px #c3d4e5;
}

.acl ul li a:hover {
    background-image: url("../products/images/bfa1.png");
    color: #66f5f6;
    background-color: #3e4150;
    -webkit-transition: all 0.01s;
    -o-transition: all 0.01s;
    transition: all 0.01s;
}

.acl ul li:last-child a {
    padding-top: 1.25%;
}

@media (max-width: 767px) {
    .acl ul li {
        width: 49%;
        margin-bottom: 2.97619%;
        margin-left: 0;
        margin-right: 0;
    }

    .acl ul li:nth-child(even) {
        margin-left: auto;
    }

    .acl ul li a {
        background-size: 27.5%;
        line-height: 17px;
        height: 55px;
        font-size: 16px;
        padding-top: 6.25%;
    }

    .acl ul li a {
        font-size: 13px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding-bottom: 6.25%;
    }
}

/* =============================== */
.sec09 .container {
    width: 1000px;
}

.sec09 .container h2,
.sec03 .container h2 {
    font-size: 30px;
    margin-bottom: 25px;
    text-align: center;
}

.sec09 .container > p {
    text-align: center;
    font-size: 16px;
    line-height: 28px;
    margin-bottom: 50px;
}

.sec09 .container > p span {
    font-size: 22px;
    vertical-align: -1px;
    background-size: auto 8px;
}

.sec09 .container .list .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 60px;
    background-color: #e6f5f8;
    position: relative;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.sec09 .container .list .item:after {
    content: "";
    width: 0;
    height: 0;
    border-left: 60px solid transparent;
    border-right: 60px solid transparent;
    border-top: 45px solid #009fb7;
    display: block;
    position: absolute;
    top: calc(100% + 5px);
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}

/* .sec09 .container .list .item:last-child:after {
  content: "";
  width: 120px;
  padding-bottom: 86px;
  background-image: url("../flow/images/bfa1.png");
  top: calc(100% + 5px);
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  background-repeat: no-repeat;
  border: 0;
} */
.sec09 .container .list .item:last-child:after {
    display: none;
}

.sec09 .container .list .item .text {
    padding: 30px 0 30px 150px;
}

.sec09 .container .list .item .text h3 {
    font-size: 24px;
    width: 550px;
    margin-bottom: 15px;
}

.sec09 .container .list .item .text h3 > span {
    width: 83px;
    height: 83px;
    background-image: url("../flow/images/bg1.png");
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 50%;
    top: 40px;
    left: 45px;
    position: absolute;
    color: #fff;
    font-family: "Oswald", sans-serif;
    font-size: 45px;
    font-weight: 400;
}

.sec09 .container .list .item .text p {
    text-align: left;
    font-size: 15px;
    line-height: 26px;
}

.sec09 .container .list .item .text p span {
    font-size: 10px;
    vertical-align: 3px;
    color: #009fb7;
}

.sec09 .container .list .item figure {
    width: calc(100% - 550px);
    text-align: center;
    padding: 15px 0;
}

/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
    .sec09 .container {
        width: 87.5%;
    }
}

/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {

    .sec09 .container h2,
    .sec03 .container h2 {
        font-size: 23px;
        margin-bottom: 4.7619%;
    }
}

/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
    .sec09 .container > p {
        margin-bottom: 9.52381%;
        line-height: 20px;
        font-size: 14px;
        text-align: left;
    }

    .sec09 .container > p span {
        font-size: 17px;
    }
}

/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
    .sec09 .container .list .item {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-bottom: 14.28571%;
    }
}

/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
    .sec09 .container .list .item:after {
        border-left: 30px solid transparent;
        border-right: 30px solid transparent;
        top: calc(100% + 10px);
        border-top: 22px solid #009fb7;
    }
}

/* ========== end △ */
/* ▽ SP layout ========== */
/* @media only screen and (max-width: 639px) {
  .sec09 .container .list .item:last-child:after {
    width: 14.28571%;
    padding-bottom: 10.11905%;
    top: calc(100% + 10px);
    background-size: cover;
  }
} */
/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
    .sec09 .container .list .item .text {
        padding: 0 0 0 4.16667%;
        width: 100%;
    }
}

/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
    .sec09 .container .list .item .text h3 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: 100%;
        padding-top: 4.96894%;
    }
}

/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
    .sec09 .container .list .item .text h3 > span {
        position: unset;
        width: 12.42236%;
        font-size: 23px;
        height: auto;
        padding: 1.98758% 0;
        margin-right: 3.72671%;
    }
}

/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
    .sec09 .container .list .item .text p {
        margin-bottom: 5.95238%;
        font-size: 14px;
        line-height: 22px;
    }
}

/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
    .sec09 .container .list .item figure {
        width: 100%;
        padding: 0 0 4.7619% 0;
    }

    .sec09 .container .list .item figure img {
        width: 57.14286%;
    }
}

/* ========== end △ */
/*--*/
.lp02 #mainvisual {
    background: url(../lp02/images/bg-mv-sp.png) bottom right no-repeat #efefef;
    height: calc(100vh - 200px);
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding: 0 8%;
    position: relative;
    text-align: left;
}

.lp02 #mainvisual p {
    padding-left: 8%;
}

@media only screen and (max-width: 1600px) {
    .lp02 #mainvisual {
        background-position: bottom right -130px;
        background-size: 75% !important;
    }

    .lp02 #mainvisual p {
        padding-left: 4%;
    }
}

.lp02 #mainvisual .mainvisual_inner {
    width: auto;
}

@media only screen and (max-width: 1400px) {
    .lp02 #mainvisual {
        padding: 0 3%;
        background-size: 70% !important;
    }
}

@media only screen and (max-width: 1200px) {
    .lp02 #mainvisual > div {
        width: 100%;
    }
}

@media only screen and (max-width: 639px) {
    .lp02 #mainvisual {
        background: url(../lp02/images/bg-mv-sp.png) bottom center no-repeat #eee;
        background-size: 100% !important;
        height: auto;
        padding: 7% 0 43%;
    }

    .mv_mark_list.flex {
        justify-content: center;
    }

    .lp02 .cm-banner-right {
        display: none;
    }

    .lp02 {
        padding-bottom: 0;
    }

    .lp02 #mainvisual p {
        padding: 0 5%;
        text-align: center;
    }

    .lp02 #mainvisual p img {
        width: auto;
        margin: auto;
        max-width: 100%;
    }
}

.lp02 #mainvisual .mv-txt {
    text-align: left;
    font-size: 70px;
    line-height: 1.6;
    padding-top: 0;
    margin-bottom: 30px;
}

@media only screen and (max-width: 1300px) {
    .lp02 #mainvisual .mv-txt {
        padding: 0 3%;
        font-size: 3.5vw;
    }
}

@media only screen and (max-width: 1200px) {
    .lp02 #mainvisual .mv-txt {
        font-size: 45px;
    }
}

@media only screen and (max-width: 639px) {
    .lp02 #mainvisual .mv-txt {
        font-size: 7vw;
        margin-bottom: 0;
    }
}

.lp02 #mainvisual .mv-txt strong {
    color: #1fb2bf;
}

.lp02 #mainvisual .mv-txt span {
    border-bottom: 2px solid #000000;
    transform: skewX(-15deg);
    -webkit-transform: skewX(-15deg);
    display: inline-block;
    margin-bottom: 15px;
    line-height: 1;
}

.lp02 #mainvisual .mv-txt small {
    font-size: 50px;
}

@media only screen and (max-width: 1300px) {
    .lp02 #mainvisual .mv-txt small {
        font-size: 3vw;
    }

    .lp02 .container {
        max-width: 96%;
    }
}

@media only screen and (max-width: 639px) {
    .lp02 #mainvisual .mv-txt small {
        font-size: 4vw;
    }
}

.lp02 .sec01 {
    position: relative;
    /* z-index: 1; */
    padding: 120px 0 !important;
    margin-bottom: 80px;
    background: url(../images/bg01.png) top center no-repeat;
}

.lp02 .sec01 .container {
    width: 1255px;
    max-width: 100%;
    padding: 0 2%;
}

@media only screen and (max-width: 639px) {
    .lp02 .sec01 {
        padding: 40px 0 !important;
        background: #f1f2f1;
        margin-bottom: 20px;
    }
}

/* .lp02 .sec01:after{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 70%;
    height: 100%;
    background: #f1f2f1;
    transform: skewX(-14deg);
    -webkit-transform: skewX(-14deg);
        transform-origin: top left;
    z-index: -1;
}
@media only screen and (max-width: 639px) {
    .lp02 .sec01:after{
        width: 100%;
    }
} */
.lp02 .sec01 .inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.lp02 .sec01 .inner .title {
    font-size: 40px;
    color: #000;
    margin-bottom: 20px;
}

.lp02 .sec01 .inner .left {
    width: 43%;
}

@media only screen and (max-width: 1200px) {
    .lp02 .sec01 .inner .title {
        font-size: 30px;
    }
}

@media only screen and (max-width: 639px) {
    .lp02 .sec01 .inner .left {
        width: 100%;
        margin-bottom: 20px;
    }

    .lp02 .sec01 .inner .title {
        font-size: 25px;
    }
}

.lp02 .sec01 .inner .youtube {
    width: 50%;
}

@media only screen and (max-width: 639px) {
    .lp02 .sec01 .inner .youtube {
        width: 100%;
    }
}

.lp02 .sec01 .inner .youtube .txt-b {
    text-align: center;
    color: #fff;
    background: #000;
    transform: skewX(-14deg);
    -webkit-transform: skewX(-14deg);
    margin: 0 20px 20px;
    padding: 0 20px;
}

.lp02 .sec01 .inner .youtube .txt-b span {
    transform: skewX(14deg);
    -webkit-transform: skewX(14deg);
    display: inline-block;
}

.lp02 .sec01 .inner .ytb {
    height: 300px;
}

.lp02 .sec01 .inner p {
    font-size: 18px;
}

.lp02 .cm-banner-right {
    display: none;
}

.cm-web-banner {
    background: url(../lp02/images/bg-line.png) no-repeat;
    background-size: cover;
    position: relative;
    overflow: hidden;
}

.cm-web-banner .container {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: 1255px;
}

.cm-web-banner .title {
    font-size: 20px;
    color: #fff;
    font-style: italic;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    position: relative;
    z-index: 1;
    align-items: center;
    font-weight: bold;
}

@media only screen and (max-width: 639px) {
    .cm-web-banner .container {
        max-width: 100%;
    }

    .cm-web-banner .title {
        width: 100%;
        padding: 10px 0;
        font-size: 20px;
    }
}

.cm-web-banner .title:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background: #000;
    width: 500%;
    height: 100%;
    transform: translateX(-78%);
    z-index: -1;
}

.cm-web-banner .title:before {
    content: '';
    position: absolute;
    top: 0;
    right: -55px;
    border-top: 66px solid transparent;
    border-bottom: 66px solid transparent;
    border-left: 50px solid #000;
}

.cm-web-banner .title span {
    font-size: 30px;
    color: #f47164;
}

.cm-web-banner .title small {
    font-size: 20px;
}

.cm-web-banner ul {
    display: flex;
    align-items: flex-end;
    padding: 10px 0 5px 65px;
    position: relative;
    z-index: 1;
}

@media only screen and (max-width: 639px) {
    .cm-web-banner ul {
        flex-wrap: wrap;
        padding: 10px;
        justify-content: space-between;
    }
}

.cm-web-banner ul li {
    text-decoration: none;
    color: #fff;
    font-size: 18px;
    text-align: center;
    padding: 0 45px;
}

@media only screen and (max-width: 1300px) {
    .cm-web-banner ul li {
        padding: 0 35px;
    }
}

@media only screen and (max-width: 1200px) {
    .cm-web-banner ul li {
        padding: 0 30px;
    }
}

@media only screen and (max-width: 1120px) {
    .cm-web-banner ul li {
        padding: 0 24px;
    }
}

.cm-web-banner ul li:last-child {
    padding-right: 0;
}

.cm-web-banner ul li {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: flex-end;
    text-align: center;
}

@media only screen and (max-width: 639px) {
    .cm-web-banner ul li {
        height: auto;
        width: 48%;
        text-align: center;
        justify-content: center;
        margin: 5px 0;
        align-items: center;
    }

    .cm-web-banner ul li {
        padding: 10px;
        font-size: 18px;
    }

    .cm-web-banner ul li figure img {
        width: auto;
    }
}

.cm-web-banner ul li:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: -6px;
    background: url(../lp/images/ico-x.png) center center no-repeat;
    width: 12px;
    height: 12px;
}

@media only screen and (max-width: 639px) {
    .cm-web-banner ul li:after {
        right: -10px;
    }

    .cm-web-banner ul li:nth-child(2n+2):after {
        content: none;
    }
}

.cm-web-banner li:last-child:after {
    content: none;
}

.cm-web-banner ul figure {
    height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media only screen and (max-width: 639px) {
    .cm-web-banner ul figure {
        height: 40px;
    }
}

@media only screen and (max-width: 1300px) {
    .cm-web-banner ul figure img {
        max-width: 50px;
    }
}

.lp02 .nav_lp .btn_telbox {
    background: none;
}

.lp02 .logo-lp,
.lp02 .logo02-lp {
    display: block;
}

.lp02 .logo-lp {
    margin-right: 10px;
}

.lp02 .logo-cm {
    display: none;
}

@media only screen and (max-width: 639px) {
    .lp02 .logo02-lp {
        display: none;
    }
}

.lp001-sec04 {
    padding: 100px 3% 100px;
}

.lp001-sec04-gray {
    max-width: 1600px;
    margin: 0 auto;
    background: #f0f0f0;
    border-radius: 20px;
    padding: 30px 3% 100px;
}

.lp001-sec04 .block01 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 30px 0 80px;
}

.lp001-sec04 .block01 .ttl01 {
    font-size: 38px;
    font-weight: 900;
    color: #000000;
    line-height: 1.6;
}

/* ▽ PC-TAB layout ========== */
@media only screen and (min-width: 768px) and (max-width: 1300px) {
    .lp001-sec04 .block01 .ttl01 {
        font-size: 27px;
    }
}

/* @media only screen and (min-width: 768px) and (max-width: 1200px) {
    .lp001-sec04 .block01 .ttl01 {
        font-size: 34px;
    }
} */

/* ========== end △ */
.lp001-sec04 .block01 .ttl01 .red1 {
    font-size: 58px;
    color: #f47164;
}

/* ▽ PC-TAB layout ========== */
@media only screen and (min-width: 768px) and (max-width: 1300px) {
    .lp001-sec04 .block01 .ttl01 .red1 {
        font-size: 54px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) {
    .lp001-sec04 .block01 .ttl01 .red1 {
        font-size: 50px;
    }
}

/* ========== end △ */
.lp001-sec04 .block01 .ttl01 .maru01 {
    position: relative;
    display: inline-block;
}

.lp001-sec04 .block01 .ttl01 .maru01 i {
    font-size: 38px;
    position: absolute;
    left: 0;
    top: -20px;
    line-height: 1;
    font-style: normal;
}

/* ▽ PC-TAB layout ========== */
@media only screen and (min-width: 768px) and (max-width: 1300px) {
    .lp001-sec04 .block01 .ttl01 .maru01 i {
        font-size: 36px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) {
    .lp001-sec04 .block01 .ttl01 .maru01 i {
        font-size: 33px;
    }
}

/* ========== end △ */
.lp001-sec04 .block01 .ttl01 strong {
    font-size: 58px;
}

/* ▽ PC-TAB layout ========== */
@media only screen and (min-width: 768px) and (max-width: 1300px) {
    .lp001-sec04 .block01 .ttl01 strong {
        font-size: 54px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) {
    .lp001-sec04 .block01 .ttl01 strong {
        font-size: 50px;
    }
}

/* ========== end △ */
.lp001-sec04 .block01 .ttl01 small {
    font-size: 35px;
}

/* ▽ PC-TAB layout ========== */
@media only screen and (min-width: 768px) and (max-width: 1300px) {
    .lp001-sec04 .block01 .ttl01 small {
        font-size: 32px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1200px) {
    .lp001-sec04 .block01 .ttl01 small {
        font-size: 30px;
    }
}

/* ========== end △ */
/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 768px) {
    .lp001-sec04 .block01-info {
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        align-items: flex-end;
    }

    .lp001-sec04 .block01-info .lp-ttl01 {
        width: 315px;
        padding-bottom: 6px;
    }

    .lp001-sec04 .block01-info .ttl01 {
        width: calc(100% - 315px);
    }
}

/* ========== end △ */
.lp001-sec04 .block-vc {
    background: #fff;
    border-radius: 20px;
    border-bottom: 5px solid #22c0ce;
    padding: 40px 45px 45px;
    margin-bottom: 50px;
}

.lp001-sec04 .block-vc .v-ttl01 {
    position: relative;
    font-size: 28px;
    font-weight: 400;
    padding: 0 0 0 45px;
    margin-bottom: 28px;
}

.lp001-sec04 .block-vc .v-ttl01:before {
    position: absolute;
    content: "";
    left: 0;
    top: 50%;
    width: 31px;
    height: 31px;
    margin: -15px 0 0;
    background: url(../lp02/images/voice_icon01.png) center center no-repeat;
    background-size: 100% auto;
}

.lp001-sec04 .block-vc .desc01 {
    font-size: 18px;
    line-height: 2.1;
}

.lp001-sec04 .block-vc .desc01 .red1 {
    color: #f47164;
    font-weight: bold;
}

.lp001-sec04 .block-vc .cus {
    margin: 20px 0 0;
    text-align: right;
}

.lp001-sec04 .block-vc .cus-txt {
    display: inline-block;
    vertical-align: middle;
    font-size: 18px;
    font-weight: bold;
    margin-right: 15px;
}

.lp001-sec04 .block-vc .cus-avt {
    display: inline-block;
    vertical-align: middle;
}

/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 768px) {
    .lp001-sec04 .block-vc .box {
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .lp001-sec04 .block-vc .box-img {
        width: 43%;
    }

    .lp001-sec04 .block-vc .box-img img {
        max-width: 100%;
    }

    .lp001-sec04 .block-vc .box-info {
        width: 57%;
        padding: 0 0 0 55px;
    }
}

/* ========== end △ */
.lp_temp .lp-ttl01 .ttlen {
    font-family: 'Oswald', sans-serif;
    color: #22c0ce;
    display: inline-block;
    vertical-align: top;
    font-size: 60px;
    font-weight: 400;
    line-height: 1.2;
    margin-right: 20px;
    letter-spacing: 0.08em;
}

.lp_temp .lp-ttl01 .ttljp {
    color: #000000;
    font-size: 16px;
    font-weight: 400;
    display: inline-block;
    vertical-align: top;
    padding: 43px 0 0;
}

.lp_temp .lp-ttl01.is-block .ttlen {
    display: block;
    margin: 0 0 14px;
}

.lp_temp .lp-ttl01.is-block .ttljp {
    display: block;
    padding: 0;
}

@media only screen and (max-width: 767px) {
    .lp001 .sec01 .lp-ttl01 {
        margin-bottom: 13px;
    }

    .lp001-sec04 {
        padding: 40px 10px 40px;
    }

    .lp001-sec04-gray {
        border-radius: 10px;
        padding: 20px 0;
    }

    .lp001-sec04 .block01 {
        margin: 0 0 30px;
    }

    .lp001-sec04 .block01 .ttl01 {
        font-size: 26px;
        line-height: 1.6;
    }

    .lp001-sec04 .block01 .ttl01 .red1 {
        font-size: 34px;
    }

    .lp001-sec04 .block01 .ttl01 .maru01 i {
        font-size: 29px;
        top: -13px;
    }

    .lp001-sec04 .block01 .ttl01 strong {
        font-size: 40px;
    }

    .lp001-sec04 .block01 .ttl01 small {
        font-size: 22px;
    }

    .lp001-sec04 .block01-img {
        text-align: center;
        padding: 15px 10% 0;
    }

    .lp001-sec04 .block-vc {
        border-radius: 10px;
        border-bottom: 3px solid #22c0ce;
        padding: 20px 10px 25px;
        margin-bottom: 25px;
    }

    .lp001-sec04 .block-vc .v-ttl01 {
        font-size: 20px;
        padding: 0 0 0 35px;
        margin-bottom: 15px;
    }

    .lp001-sec04 .block-vc .v-ttl01:before {
        width: 28px;
        height: 28px;
        margin: -13px 0 0;
    }

    .lp001-sec04 .block-vc .desc01 {
        font-size: 16px;
        line-height: 1.8;
    }

    .lp001-sec04 .block-vc .cus {
        margin: 20px 0 0;
    }

    .lp001-sec04 .block-vc .cus-txt {
        font-size: 16px;
        margin-right: 12px;
    }

    .lp001-sec04 .block-vc .cus-avt img {
        max-width: 65px;
    }

    .lp001-sec04 .block-vc .box-img {
        text-align: center;
        margin-bottom: 15px;
    }
}

@media only screen and (max-width: 767px) {
    .lp_temp .lp-ttl01 .ttlen {
        font-size: 36px;
        margin-right: 10px;
        letter-spacing: 0.05em;
    }

    .lp_temp .lp-ttl01 .ttljp {
        font-size: 15px;
        padding: 15px 0 0;
    }

    .lp_temp .lp-ttl01.is-block .ttlen {
        margin: 0 0 2px;
    }
}