.sp,
.h_btn_sp {
    display: none;
}

@media screen and (min-width: 751px) {
    .b06_txt_bot {
        text-align: center;
    }

    .box03 .idx_h2 {
        text-align: left;
    }

    .box03 .b03_list {
        margin-bottom: 40px;
    }

    .box03 .b03_item {
        width: 32%;
        margin: 0 15px 15px 0;
    }

    .b04_itm_showroom_tel a {
        font-size: 24px;
    }

    .b03_itm_img .h_img {
        height: 240px;
    }


    .h_btn a:hover,
    .b05_btn a:hover {
        background-position: top 50% center;
    }

    #totop a:hover {
        opacity: 0.7;
    }
}

@media screen and (max-width: 1740px) {
    #header .container {
        padding: 0 15px;
    }
}

@media screen and (max-width: 1625px) {
    .b10_ttl02 {
        font-size: 4.8vw;
        padding-left: 2vw;
    }

    .b07_item.itm02 .b07_itm_main dl {
        margin-left: -15px;
    }

    .b07_item.itm02 .b07_itm_main dt {
        margin: 60px 0 60px 0
    }
}

@media screen and (max-width: 1660px) {
    .b04_main::after {
        background: url("../images/b04_img01c.png") no-repeat top center;
        background-size: 100%;
    }

    .box04 .b04_main_ttl {
        line-height: 1.7em;
        margin-bottom: 3vw;
    }
}

@media screen and (max-width: 1560px) {
    .h_btn a {
        padding: 10px !important;
        font-size: 17px;
    }

    .h_btn .lager {
        display: block;
        font-size: 170%;
    }

    #mainvisual .container {
        padding: 0 15px;
    }

    .idx_bot dt {
        margin-right: 30px;
        padding-right: 40px;
    }

    #mainvisual:before {
        right: calc(50% + 150px);
    }

    .idx_bot {
        width: 100%;
        top: 0;
    }

    #main {
        margin-top: 0;
        padding-top: 100px;
    }

    .idx_bot dl {
        justify-content: center;
    }
}

@media screen and (max-width: 1440px) {
    #mainvisual .inner .contR {
        position: relative;
    }

    #mainvisual:before {
        right: calc(50% + 230px);
        width: 650px;
        height: 702px;
    }

    #mainvisual .container .main_img .inner {
        align-items: flex-end;
    }

    #mainvisual .container .main_img .inner .imgL {
        margin: 0 0 0 -120px;
    }

    #mainvisual .inner h2 {
        margin-bottom: 10px;
    }

    .box07.customize .b07_itm_main dt {
        margin: 78px -271px 0 0;
    }

    .fix_box07_move .b07_item.itm02 .b07_itm_main dt {
        margin: 60px 0 60px -160px;
        width: auto;
    }

    .b07_item.itm02 .b07_itm_main dd {
        padding: 50px 30px 30px 63px;
    }

    .fix_box07_move .b07_itm_main {
        width: 96%;
    }

    .b07_item.itm02 .b07_itm_main::before {
        bottom: -78px;
        right: -200px;
    }

    .box07.customize .b07_item.itm02 .b07_itm_main dd {
        padding: 62px 40px 114px 48px;
    }

    /*.box07.customize .b07_item.itm02 .b07_itm_main::before {
      background-image: url("../images/b07_icon02a.png");
      width: 232px;
      height: 306px;
      bottom: -65px;
      right: -40px;
      top: auto;
      left: inherit;
      z-index: 9;
    }*/
    .b07_item.itm03 .b07_itm_main dd {
        padding: 61px 36px 78px 74px;
    }

    /*
    .b07_item.itm03 .b07_itm_main:before {
      background-image: url("../images/b07_icon03.png");
      width: 262px;
      height: 263px;
      bottom: 0;
      right: inherit;
      left: -50px;
      top: auto;
    }*/
    .b07_item.pink .b07_itm_main dt {
        margin: -42px -80px 0 0;
    }

    .b07_item.pink .b07_itm_main01 dd {
        padding: 50px 0 78px 50px;
        width: 105%;
        margin: 0 -5% 0 0;
        position: relative;
    }

    .box07.customize .b07_itm_main dd {
        padding: 1px 51px 78px;
        width: 100%;
    }

    .box07.customize .b07_itm_main dt {
        margin: 78px -269px 0 0;
    }

    .box07.customize .b07_item.itm02 {
        margin-bottom: 160px;
    }

    .box07.customize .b07_item.pink.itm02 .b07_itm_main dl {
        margin: 0;
        padding: 4%
    }

    .box07.customize .b07_item.pink.itm02 .b07_itm_main dd {}

    .box07.customize .b07_item.itm02 .b07_itm_top {
        padding-left: 240px;
    }

    .box07.customize .b07_item.itm02.pink .b07_itm02_note {
        width: 92%
    }

    .box07.customize .b07_item.itm03 .b07_itm_main dt {}

    .box07.customize .b07_item.itm03 .b07_itm_main dd {
        padding-top: 61px;
        padding-left: 67px;
    }

    .box07.customize .b07_item.itm03 .b07_itm03_ttl {
        padding-right: 150px;
    }

    .b05_tel dl {
        margin: 0 80px 4px 0;
    }

    .box05::after {
        content: '';
        position: absolute;
        width: 378px;
        height: 455px;
        bottom: 0;
        left: calc(50% + 360px);
    }

    .b07_itm03_main_txt {
        font-size: 25px;
    }

    .b05_btn a {
        font-size: 30px;
        max-width: 760px;
        height: 200px;
        position: relative;
        left: -30px;
    }

    .b05_btn a::before {
        content: '';
        position: relative;
        display: inline-block;
        width: 120px;
        height: 120px;
        background: url(../images/icon_mail.svg) no-repeat center center/80px auto #fff;
        border-radius: 50%;
        margin-right: 15px;
        top: 10px;
    }

    /* .b04_main::after {
      content: '';
      position: absolute;
      background: url("../images/b04_img01b.png") no-repeat top center;
      width: 100vw;
      min-width: 1200px;
      height: 955px;
      top: 200px;
      left: 50%;
      transform: translate(-50%,12%);
      z-index: -3;
      pointer-events: none;
    }*/
    .fix_box07_move .b07_itm_main dt {
        margin: -42px -100px 0 0;
        width: 44%;
    }

    .bot-top,
    .bot-top span {
        bottom: 20px;
        font-size: 32px;
    }
}

@media screen and (max-width: 1200px) {
    .container {
        padding: 0 15px;
    }

    .b10_ttl02 {
        font-size: 58px;
        padding: 0;
        left: 0;
        transform: none;
    }

    .b10_ttl02 .note {
        padding: 0 50px;
    }

    #form_mail {
        padding: 60px;
    }

    .b08_item {
        width: calc(50% - 30px);
    }

    #mainvisual:before {
        right: calc(50% + 114px);
        width: 600px;
        height: 600px;
        bottom: 157px;
    }

    .h_tel li:not(:last-child) {
        margin-right: 20px;
        font-size: 14px;
    }

    .h_btn a {
        font-size: 16px;
        padding: 12px 20px 12px 20px;
    }

    .h_btn {
        margin: 0 20px 0 0;
    }

    .h_tel_num {
        font-size: 34px;
    }

    .idx_main {
        width: 60%;
    }

    .idx_main {
        width: 60%;
    }

    #mainvisual h2 {
        font-size: 40px;
    }

    .b01_main {
        width: 800px;
        padding: 40px;
    }

    .box04 {
        min-width: 1200px;
    }

    .box04 .b04_main_list li {
        max-width: 760px;
    }

    .box05:after {
        left: calc(50% + 380px);
        width: 300px;
        height: 500px;
    }

    .b05_txt span {
        max-width: 820px;
    }

    .b05_txt {
        font-size: 26px;
    }

    .b05_tel dd a {
        font-size: 100px;
    }

    .b05_tel dl {
        padding-right: 200px;
    }

    .idx_main_list li {
        width: 160px;
        height: 160px;
        font-size: 18px;
        padding: 0 0 10px;
    }

    .idx_main_list li .lager {
        font-size: 230%;
    }

    .b04_itm04_imgc img {
        width: 100%;
    }

    .b04_itm04_txtc {
        padding-bottom: 0;
    }

    .box04 .b04_main_ttl {
        font-size: 45px;
    }
}

@media screen and (max-width: 750px) {
    #main {
        margin-top: 0;
        padding-top: 50px;
    }

    #mainvisual .container {
        padding: 0 0 0;
    }

    #mainvisual .container .main_img .inner {
        align-items: normal;
        display: block
    }

    #mainvisual .container .main_img .inner .imgL {
        margin: 0 auto;
        width: 100%;
        height: 100%;
        background-image: url(../images/sp_img_main2.png);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: top;
    }

    #mainvisual .container .main_img .inner .imgL img {
        height: 100%;
        object-fit: cover;
        width: 100%;
        max-width: 100vh;
        object-position: top center;
        transform: translateX(-50%);
        position: relative;
        left: 50%;
    }

    #mainvisual .inner .contR {
        top: 0;
    }

    #mainvisual .container .main_img .inner .contR {
        width: 100%;
        position: relative;
        z-index: 10;
        margin-left: auto;
    }

    .bot-top {
        left: inherit;
        bottom: 10px;
        right: 10px;
        font-size: 2.8vw;
    }

    .bot-top span {
        font-size: 4vw;
		text-align: right;
    }

    #mainvisual .inner h2 {
        display: none
    }

    #mainvisual .h2_sp {
        background: #43aac9;
        padding: 15px 10px 15px;
    }

    #mainvisual .h2_sp h2 {
        display: block;
        font-weight: 700;
        color: #fff;
        line-height: 1.8em;
        white-space: nowrap;
        margin-bottom: 10px;
    }

    #mainvisual .h2_sp h2 .txt_white {
        font-weight: 400;
    }

    .h2_sp .circle span:after {
        width: 8.6vw;
        height: 8.6vw;
        left: 50%;
    }

    .idx_main_list {
        display: flex;
        justify-content: end;
        margin-bottom: 15px;
        flex-wrap: wrap;
    }

    #mainvisual .h2_sp h2 .lager01 span {
        font-size: 157%;
    }

    #mainvisual .h2_sp h2 .lager01 {
        display: block;
        font-size: 200%;
        line-height: 1.2em;
        margin: 4px 0 15px;
    }

    #mainvisual .h2_sp h2 {
        font-size: 3.3vw;
        text-align: center;
    }

    #mainvisual .h2_sp .circle span {
        padding: 1px 2.8vw 2vw;
    }

    #mainvisual .h2_sp h2 .lager02 {
        font-size: 115%;
        display: block;
    }

    #mainvisual .h2_sp .circle span {
        padding: 1px 3vw 1vw;
    }

    .fix_box07_move .b07_itm_main {
        width: 100%;
    }

    .fix_box07_move .b07_item.itm02 .b07_itm_main dd.sp {
        padding: 4% 4% 0;
    }

    .b07_item.itm02 .b07_itm_main dt {
        margin: 20px 0 0 0;
        width: 100%;
    }

    .box07.customize .b07_item.pink.itm02 .b07_itm_main dt {
        margin: 0 auto 10px;
        width: 90%;
        max-width: 480px;
    }

    .box07.customize .b07_item.pink.itm02 .b07_itm_main dd.sp,
    .box07.customize .b07_item.itm03 .b07_itm_main dd.sp {
        padding: 0;
        width: 100%
    }

    .box07.customize .b07_item.pink.itm02 .b07_itm_main dd {
        padding: 0 0;
    }

    .box07.customize .b07_item.itm02 .b07_itm_top {
        padding-left: 0;
    }

    .box07.customize .b07_item.itm02 .b07_itm_top .b07_itm02_note {
        width: 100%;
    }

    .box07.customize .b07_item.itm03 .b07_itm_main dl {
        margin: 0;
        padding: 4%;
        box-shadow: 4px 4px 21px 0px rgba(2, 10, 1, 0.2);
    }

    .box07.customize .b07_item.itm03 .b07_itm_main dl dd {
        width: 100%;
        padding: 0 0 0 0;
    }

    .box07.customize .b07_item.itm03 .b07_itm_main dt {
        margin: 0 auto 15px;
        width: 70%;
    }

    .box07.customize .b07_item.itm03 .b07_itm_main dt span {
        font-size: 3.5vw;
        bottom: 10px;
        left: -55%;
        text-shadow: rgb(6, 16, 47) 2px 0px 0px, rgb(6, 16, 47) 1.75517px 0.958851px 0px, rgb(6, 16, 47) 1.0806px 1.68294px 0px, rgb(6, 16, 47) 0.141474px 1.99499px 0px, rgb(6, 16, 47) -0.832294px 1.81859px 0px, rgb(6, 16, 47) -1.60229px 1.19694px 0px, rgb(6, 16, 47) -1.97999px 0.28224px 0px, rgb(6, 16, 47) -1.87291px -0.701566px 0px, rgb(6, 16, 47) -1.30729px -1.51361px 0px, rgb(6, 16, 47) -0.421592px -1.95506px 0px, rgb(6, 16, 47) 0.567324px -1.91785px 0px, rgb(6, 16, 47) 1.41734px -1.41108px 0px, rgb(6, 16, 47) 1.92034px -0.558831px 0px;
    }

    .box07.customize .b07_item.itm03 .b07_itm03_main_ttl {
        font-size: 6vw;
    }

    .box07.customize .b07_item.itm03 .b07_itm03_ttl {
        padding-right: 0;
    }

    .box07.customize .b07_item.itm02 .b07_itm_main dd {
        padding: 0 0;
        border-radius: 0;
        background: none;
        box-shadow: none
    }

    .box07.customize .b07_itm_main dl {
        padding: 4%;
        border-radius: 0 0 3vw 3vw;
        background: #fff;
        box-shadow: 4px 4px 21px 0px rgba(2, 10, 1, 0.2);
    }

    .box07.customize .b07_itm_main dd {
        padding: 0;
        width: 100%;
    }

    .b04_itm_h3c {
        margin-bottom: 40px;
        font-size: 6vw;
    }

    .b04_itm_h3c span {
        font-size: 8vw;
    }

    .b04_item.customize {
        margin-bottom: 255px;
    }

    .box07.customize {
        margin-top: -200px;
    }

    .b04_itm04_imgc {
        float: initial;
    }

    .b04_itm04_imgc img {
        float: left;
        padding-bottom: 15px;
        width: 100%;
    }

    .b04_itm_h3c::after {
        border-width: 40px 0 0 0;
    }

    .b04_item.itm04.customize {
        padding: 10px;
        border-radius: 0;
    }

    .b04_itm04_txtc {
        width: 100%;
    }

    .b04_itm_ttl .lager_1 {
        font-size: 41px;
    }

    .b04_itm_ttl .lager_2 {
        font-size: 31px !important;
    }

    .b04_itm_ttl .lager_2::after {
        width: calc(51% + 30px);
        left: 19px;
        margin-top: 25px;
    }

    .b04_list {
        padding-bottom: 1px;
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    input,
    button,
    textarea,
    select,
    p,
    blockquote,
    th,
    td,
    pre,
    address,
    li,
    dt,
    dd {
        font-size: 140%;
    }

    #wrapper {
        min-width: 100%;
    }

    .container {
        width: 100%;
        padding: 0 3%;
    }

    #mainvisual .sp {
        width: 100%
    }

    .sp {
        display: block;
    }

    .pc {
        display: none;
    }

    .h_right {
        display: none;
    }

    .h_btn_sp {
        display: none;
        align-items: center;
    }

    h1 {
        margin: 0;
        width: 33vw
    }

    .h_btn_sp a {
        text-decoration: none;
        color: #fff;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        font-size: 11px;
        max-height: 100px;
        max-width: 100px;
        width: 65px;
        height: 65px;
        /* width: 21.5vw;
    min-height: 43px; */
        background: rgb(67, 161, 21);
        /* background: linear-gradient(0deg, rgba(67, 161, 21, 1) 0%, rgba(67, 161, 21, 1) 50%, rgba(157, 200, 20, 1) 100%); */
        background-size: auto 200%;
        background-position: top center;
        /* border: 2px solid #eef8ae; */
        border-radius: 50%;
        font-weight: 500;
        padding: 5px;
    }

    .h_btn_sp .mail a {
        /* background: #9dc3e6; */
        border: 2px solid rgb(185, 214, 214);
        background: linear-gradient(0deg, rgb(88, 177, 187) 0%, rgb(101, 186, 196) 50%, rgb(166, 230, 238) 100%);
        padding: 2px;
    }

    .h_btn_sp .tel01 a {
        /* background: #92d050; */
        background: linear-gradient(0deg, rgba(67, 161, 21, 1) 0%, rgba(67, 161, 21, 1) 50%, rgba(157, 200, 20, 1) 100%);
        border: 2px solid rgba(157, 200, 20, 1);
    }

    .h_btn_sp .tel02 a {
        /* background: #9999ff; */
        /* border: 2px solid rgb(190, 199, 230); */
        /* background: linear-gradient(0deg, rgb(169, 171, 215) 0%, rgb(153, 153, 255) 50%, rgb(190, 199, 230) 100%); */
        background: #fff;
        border-color: #e86e81;
    }

    .h_btn_sp a img {
        width: 65px;
        height: 65px;
        object-fit: contain;
        margin: 0 auto;
    }

    .h_btn_sp .mail a img {
        width: 45px;
        height: 36px;
        margin-top: -8px;
        margin-right: 2px;
        object-fit: cover;
    }

    .h_btn_sp li:not(:first-child) {
        margin-left: 1vw;
    }

    .h_btn_sp li span {
        /* padding-left: 24px; */
    }

    .h_btn_sp li.mail a span,
    .h_btn_sp li.tel01 a span,
    .h_btn_sp li.tel02 a span {
        /* background: url(../images/icon_mail.png) no-repeat center left; */
        /* background-size: 20px 20px; */
        /* line-height: initial; */
    }

    /* .h_btn_sp li.mail a span:last-child{
    margin-top: 5px;
  } */
    .h_btn_sp li.mail a span,
    .h_btn_sp li.tel01 a span,
    .h_btn_sp li.tel02 a span {
        line-height: 1.9;
        /* background: url(../images/icon_tel01.png) no-repeat center left;
    background-size: contain;
    background-size: 20px 20px; */
    }

    .h_btn_sp li.tel02 a span {
        /* background: url(../images/icon_tel02.png) no-repeat center left;
    background-size: contain;
    background-size: 20px 20px;
    line-height: 1.2; */
    }

    /*Mainvisual*/
    .idx_main {
        width: 100%;
        margin-bottom: 3.2vw;
        padding-left: 40%;
        position: relative;
        height: 50vw
    }

    .idx_main::before {
        content: '';
        position: absolute;
        background: url("../images/idx_main_img.png") no-repeat center bottom /100% auto;
        width: 45vw;
        height: 54vw;
        bottom: -3.2vw;
        left: -6vw;
    }

    .idx_main_list {
        justify-content: flex-end;
        padding-right: 20px;
    }

    .idx_main_list li .lager {
        margin: 0.5vw 0 0.5vw;
    }

    .idx_main_list li {
        width: 18vw;
        height: 18vw;
        font-size: 2.2vw;
        margin: 0 1vw 5px !important;
        padding-top: 5px;
    }

    .idx_main_txt01 {
        font-size: 4.5vw;
        padding: 1vw 1vw 1.8vw;
        margin-bottom: 2.5vw;
    }

    .idx_main_txt01:after {
        border-width: 3vw 3vw 0 3vw;
        bottom: -2vw;
        left: calc(50% - 3vw);
    }

    .idx_main_txt02.sp {
        font-size: 3.5vw;
        margin-bottom: 2.5vw;
        line-height: 1.6;
        letter-spacing: 0px;
        font-weight: 600;
    }

    #mainvisual h2 .lager02 {
        font-size: 110%;
        display: block;
    }

    #mainvisual .ttl_main {
        text-align: center;
        padding-top: 5vw;
        position: relative;
        right: 3vw;
    }

    #mainvisual .ttl_main p {
        margin-bottom: 0;
        color: #fff;
        font-weight: 700;
    }

    #mainvisual .ttl_main p.ttl_main02,
    #mainvisual .ttl_main p.ttl_main01 {
        font-size: 4.5vw;
    }

    #mainvisual .ttl_main p.ttl_main01 span {
        color: #fff;
    }

    #mainvisual .ttl_main p.ttl_main03 {
        font-size: 8vw;
    }

    #mainvisual .ttl_main p.ttl_main01 br {
        display: block;
    }

    #mainvisual h2 {
        font-size: 3.3vw;
    }

    #mainvisual h2 .pink {
        font-size: 3.3vw;
    }

    #idx_bnr {
        margin: 0px 0 40px 0;
    }

    #idx_bnr .container {
        padding: 0;
    }

    #idx_bnr .box_easy h3 {
        font-size: 6vw;
        letter-spacing: 0;
        border-radius: 25px;
        padding: 6vh 10px 30px 10px;
        gap: 30px;
        border-width: 7px;
    }

    #idx_bnr .box_easy h3 span {
        width: calc(100% / 2 - 30px);
    }

    #idx_bnr .box_easy h3 img {
        width: calc(100% / 2 - 30px);
    }

    #idx_bnr .box_easy p.txt01 {
        font-size: 20px;
        padding: 5px 15px;
        border-radius: 0;
        right: 50%;
        display: inline-table;
        margin: 0 auto;
        transform: translateX(50%);
        left: unset;
    }

    #idx_bnr .box_easy p.txt02 {
        font-size: 4vw;
        padding: 0px 20px;
        max-width: max-content;
    }

    #idx_bnr .box_easy p.txt02::before {
        /* width: 45px;
    height: 22px;
    background-size: contain; */
    }

    #idx_bnr .box_easy p.txt01::after {
        width: 0px;
        height: 0px;
        border-top: 20px solid transparent;
        border-bottom: 0px solid transparent;
        border-left: 15px solid #d3576a;
        position: absolute;
        right: -15px;
        top: 0;
        content: "";
    }

    #idx_bnr .box_easy h3::before {
        bottom: -30px;
        border-width: 30px 300px 0 300px;
    }

    .circle span {
        padding: 0 2vw 1vw;
    }

    .circle span:after {
        width: 7vw;
        height: 7vw;
        left: 50%;
    }

    #mainvisual .circle span {
        padding: 0 1vw 1vw;
    }

    .b06_main:after {
        width: 25vw;
        height: 25vw;
        left: 2vw;
        bottom: -7vw;
    }

    .circle {
        margin-right: 1vw;
    }

    #mainvisual {
        padding-top: 0;
        background-color: #19a8cc;
    }

    #mainvisual:before {
        display: none
            /*width: 50vw;
    height: 54vw;
    bottom: auto;
    top: 7vw;
    left: -10vw;*/
    }

    #mainvisual .tit {
        font-size: 4vw;
        line-height: 1.4em;
        margin: 0 auto 2vw;
        letter-spacing: 0.2em;
    }

    #mainvisual h2 .lager01 {
        margin: 1vw 0 2vw;
    }

    .idx_char {
        margin-left: -1.8vw;
    }

    .idx_char.right {
        margin: 0 -1.5vw 0 0;
    }

    .idx_bot dl {
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
    }

    .idx_bot {
        z-index: 4;
        justify-content: flex-start;
        padding: 3vw 0;
        display: none;
    }

    .idx_bot dt {
        margin: 0 0 1vw;
        font-size: 4vw;
        padding-left: 10px;
    }

    .idx_bot dd {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        font-size: 4vw;
    }

    .idx_bot dd a:before {
        width: 9vw;
        height: 6vw;
        margin-right: 2vw;
        top: 1vw;
    }

    .box01 .container {
        display: block;
    }

    .b01_img {
        position: relative;
        right: 0;
        width: 100%;
    }

    .box01 {
        padding: 50px 0;
    }

    .b01_main {
        width: 100%;
        padding: 30px 5%;
    }

    .b01_main h3 {
        font-size: 24px;
        margin-bottom: 20px;
    }

    .b01_txt {
        margin-bottom: 15px;
    }

    .b01_list li:before {
        width: 13px;
        height: 9px;
        top: 8px;
    }

    .b01_list li {
        padding-left: 23px;
    }

    .b01_list {
        margin-bottom: 15px;
    }

    .box02 {
        padding: 50px 0 0;
    }

    .b02_main01 {
        margin-bottom: 50px;
    }

    .b02_main01:after {
        bottom: -45px;
        font-size: 24px;
    }

    .b02_main01:before {
        border-width: 80px 150px 0 150px;
        border-color: #252a61 transparent transparent transparent;
        bottom: -80px;
    }

    .b02_main02 {
        margin-bottom: 40px;
    }

    .b02_main03 {
        display: block;
    }

    .idx_h2 {
        text-align: center;
        font-size: 34px;
        margin-bottom: 15px;
    }

    .b02_m03_main {
        padding: 0;
        margin: 0 0 20px;
    }

    .b02_m03_img {
        width: 50%;
        max-width: 400px;
        margin: 0 auto -3vw;
    }

    .box03 {
        padding: 30px 0 20px;
        margin-bottom: 50px;
    }

    .box03 .idx_h2 {
        margin-bottom: 0;
        padding-right: 110px;
        padding-bottom: 20px;
    }

    .box03 .idx_h2 .en {
        line-height: 1.5;
        margin: 0
    }

    .box03 .idx_h2 .idx_h2_txt01 {
        line-height: 1.5;
        font-size: 17px;
    }

    .box03 .idx_h2::after {
        content: '';
        background: url("../images/img_fot2.png") no-repeat 0 top / 100% auto;
        width: 160px;
        height: 216px;
        display: block;
        position: absolute;
        right: -10px;
        bottom: 0;
    }

    .b03_item {
        width: 48%;
        margin: 0 1% 20px;
        display: flex;
        flex-direction: column;
        height: auto;
    }

    .b03_itm_ttl {
        font-size: 18px;
        width: 100%;
        padding: 10px 5px 20px;
        justify-content: initial
    }

    .b03_itm_ttl:after {
        width: 46px;
        height: 46px;
        background-size: 24px auto;
        top: -26px;
        left: calc(50% - 23px);
    }

    .b04_main_note {
        font-size: 6vw;
        padding: 5vw 3%;
        margin-bottom: 5vw;
    }

    .b04_main_note:after {
        border-width: 5vw 5vw 0 5vw;
        bottom: -4vw;
        left: calc(50% - 4vw);
    }

    .b04_main_note span {
        padding: 3px 20px 5px;
    }

    .b04_main_note span {
        display: block;
    }

    .b04_main_ttl {
        font-size: 5vw;
        margin-bottom: 10px;
    }

    .b04_main_ttl .note {
        padding: 0.5vw 4vw 0.7vw;
        margin-bottom: 2vw;
        border-radius: 2vw;
    }

    .b04_main_ttl .lager {
        line-height: 1.2em;
        padding: 0 0 2vw;
        background-size: 2vw auto;
        display: inline-block;
    }

    .box04_flex_sp {
        display: flex;
        align-items: flex-end;
        justify-content: space-around;
        margin-bottom: 20px;
    }

    .box04_flex_sp .b04_main_list {
        margin-bottom: auto;
        padding: 0 0 0 3%;
        width: 52%
    }

    .box04_flex_sp .b04_main_list li {
        padding: 5px 5px 5px;
        margin-top: 10px;
        font-size: 16px;
        line-height: 1.5em;
        text-align: left
    }

    .box04_flex_sp .b04_main_list li.name {
        display: block;
        background: none;
        padding: 0;
        color: #fff;
        font-size: 3.5vw;
        line-height: 1.4;
        margin-bottom: -40px;
        text-shadow: rgb(20, 38, 81) 2px 0px 0px, rgb(20, 38, 81) 1.75517px 0.958851px 0px, rgb(20, 38, 81) 1.0806px 1.68294px 0px, rgb(20, 38, 81) 0.141474px 1.99499px 0px, rgb(20, 38, 81) -0.832294px 1.81859px 0px, rgb(20, 38, 81) -1.60229px 1.19694px 0px, rgb(20, 38, 81) -1.97999px 0.28224px 0px, rgb(20, 38, 81) -1.87291px -0.701566px 0px, rgb(20, 38, 81) -1.30729px -1.51361px 0px, rgb(20, 38, 81) -0.421592px -1.95506px 0px, rgb(20, 38, 81) 0.567324px -1.91785px 0px, rgb(20, 38, 81) 1.41734px -1.41108px 0px, rgb(20, 38, 81) 1.92034px -0.558831px 0px;
        text-align: center
    }

    .box04_flex_sp .sp_img {
        width: 48%;
        margin-bottom: 0;
        display: block
    }

    .b04_main {
        background: #1263c6;
        position: relative;
    }

    .b04_main:after {
        content: '';
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 180px 960px 0 960px;
        border-color: #1263c6 transparent transparent transparent;
        display: block;
        left: 50%;
        top: calc(100% - 100px);
        transform: translateX(-50%);
    }

    .b04_ttl {
        width: 100%;
        margin: 0;
    }

    .box04 .container {
        padding: 0;
    }

    .b04_item {
        padding: 1px 3% 0;
    }

    .b04_itm_num {
        font-size: 17px;
        max-width: 170px;
        margin: -20px auto 20px;
        padding: 5px 0 8px;
    }

    .b04_itm_num:after {
        border-width: 15px 15px 0 15px;
        bottom: -14px;
        left: calc(50% - 15px);
    }

    .b04_itm_h3 {
        font-size: 34px;
        margin-bottom: 30px;
    }

    .b04_itm_h3:after {
        height: 17px;
    }

    .b04_itm_h3 span {
        display: inline-block;
        position: relative;
        z-index: 2;
        padding: 0 10px;
    }

    .b04_item:nth-child(1) .b04_itm_h3:after,
    .b04_item.itm05 .b04_itm_h3:after {
        display: none;
    }

    .b04_itm_h3 span:after {
        content: '';
        position: absolute;
        width: 100%;
        height: 17px;
        z-index: -2;
        background: #fff;
        bottom: 0;
        left: 0;
    }

    .b04_itm_txt01 {
        margin-bottom: 25px;
    }

    .b04_itm_ttl {
        font-size: 20px;
        margin-bottom: 20px;
    }

    .b04_itm_ttl .lager:after {
        height: 12px;
    }

    .b04_itm_ttl .lager {
        padding: 0;
        margin-top: -3px;
    }

    .b04_itm_txt02 {
        font-size: 18px;
    }

    .b04_itm_img {
        margin: -7vw 0 40px;
    }

    .b04_itm_img .ttl {
        font-size: 4vw;
        right: 0;
        padding: 0.5vw 3vw 0.8vw;
        border-radius: 2vw;
    }

    .b04_itm_col {
        margin: 30px 0 20px;
        display: block;
    }

    .b04_itm_col li {
        width: 100%;
        margin: 0 0 30px;
    }

    .b04_itm_col_ttl {
        font-size: 18px;
        border-left: 3px solid;
        padding-left: 8px;
        padding-bottom: 3px;
    }

    .b04_itm_col_tel a {
        font-size: 26px;
        background-size: 14px auto;
    }

    .b04_itm_showroom {
        width: 100%;
    }

    .b04_itm_showroom dl {
        width: 48%;
    }

    .b04_itm_showroom_ttl {
        font-size: 18px;
        border-left: 3px solid;
        padding: 0 0 2px 11px;
    }

    .b04_itm_showroom_tel a {
        font-size: 26px;
        background-size: 14px auto;
    }

    .b04_itm_tel {
        font-size: 20px;
        padding: 5px 10px 7px;
    }

    .b04_itm02_img {
        float: none;
        text-align: center;
        margin: 0;
    }

    .b04_itm02_txt02 dt {
        font-size: 20px;
        padding: 3px 10px 5px;
        margin-bottom: 20px;
    }

    .b04_itm02_txt02 {
        margin-bottom: 40px;
    }

    .b04_itm02_list dl {
        display: block;
        margin: 0;
    }

    .b04_itm02_list dt {
        width: 100%;
        height: auto;
        padding: 15px 10px;
        margin: 0;
    }

    .b04_itm02_list dd {
        text-align: center;
        padding: 15px 10px;
        display: block;
    }

    .b04_itm02_list dl:not(:last-child) dd:after {
        display: none;
    }

    .b04_itm02_list:not(:last-child) {
        margin-bottom: 20px;
    }

    .b04_itm02_list:nth-last-child(2) {
        margin-bottom: 0;
    }

    .itm02 .b04_itm_arr.bottom {
        height: 75px;
        bottom: -74px;
    }

    .b04_item.itm02 {
        padding-bottom: 0;
        margin-bottom: 240px;
    }

    .b04_itm03_list {
        justify-content: center;
    }

    .b04_itm03_list li:nth-child(odd) {
        margin-right: 4vw;
    }

    .b04_itm03_list li {
        width: 40vw;
        height: 40vw;
        padding: 0 0 3vw;
        margin-bottom: 5vw;
    }

    .b04_itm03_ttl {
        font-size: 5vw;
    }

    .b04_itm03_ttl.b04_itm03_ttl_s {
        font-size: 4vw;
    }

    .b04_itm03_list dt {
        font-size: 1vw;
        margin: 0 0 0 -3vw;
        line-height: 3em;
    }

    .b04_itm03_list dt .note {
        margin-top: 0;
        padding: 0.5vw 1vw 0.7vw;
        font-size: 320%;
    }

    .b04_itm03_list dt .note:after {
        border-width: 2.5vw 0 2.3vw 2vw;
        right: -1.9vw;
        top: -0.02vw;
    }

    .b04_item.itm03 .b04_itm_h3 {
        margin-bottom: 30px;
    }

    .b04_itm03_list dd {
        font-size: 13vw;
    }

    .b04_itm03_main {
        padding: 30px 3%;
        border-width: 3px;
        border-radius: 3vw;
        margin: 0;
    }

    .b04_itm03_main:before {
        height: 84px;
        top: -60px;
        width: 6px;
        left: calc(50% - 3px);
    }

    .b04_itm03_main_note {
        max-width: 280px;
        font-size: 22px;
        padding: 3px 10px 6px;
    }

    .b04_itm03_main_ttl {
        font-size: 32px;
        margin-bottom: 30px;
    }

    .b04_itm03_main_note:after {
        border-width: 15px 12px 0 12px;
        bottom: -13px;
    }

    .b04_itm03_main_list li {
        padding: 5px 10px 5px 50px;
        margin-bottom: 5px;
    }

    .b04_itm03_main_list li:before {
        left: 20px;
        top: 12px;
    }

    .b04_item.itm03 {
        padding-bottom: 0;
    }

    .b04_item.itm04 .b04_itm_h3 {
        margin-bottom: 30px;
    }

    .b04_itm04_img {
        float: none;
        margin: 0 0 20px;
        text-align: center;
    }

    .b04_itm04_txt {
        margin: 0;
    }

    .b04_itm04_txt+.b04_itm04_list {
        margin-top: 30px;
    }

    .b04_itm04_list dt {
        font-size: 20px;
        padding: 0;
    }

    .b04_itm04_list dd li {
        width: 32%;
    }

    .b04_itm04_list_ttl {
        font-size: 12px;
    }

    .b04_item.itm04 {
        padding-bottom: 0;
    }

    .b04_itm05_img {
        margin-bottom: 20px;
    }

    .b04_itm05_img img {
        width: 100%;
        max-width: 400px;
    }

    .b04_itm05_txt {
        margin-bottom: 35px;
    }

    .b04_itm05_ttl {
        font-size: 30px;
        margin-bottom: 25px;
    }

    .b04_itm05_list dt {
        font-size: 18px;
        max-width: 280px;
        margin-bottom: 40px;
    }

    .b04_itm05_list {
        border-width: 3px;
        border-radius: 20px;
        margin-bottom: 20px;
        padding-bottom: 40px;
    }

    .b04_itm05_list img:not(:last-child) {
        margin: 0 0 5vw;
    }

    .box04 {
        padding-bottom: 0px;
    }

    .box05 {
        padding: 50px 0 1px;
    }

    .box05 .b05_tel::after {
        content: '';
        position: absolute;
        background: url("../images/b07_icon04.png") no-repeat bottom center/100% auto;
        width: 34vw;
        height: 34vw;
        right: 10px;
        top: -34vw;
        z-index: 9;
    }

    .b05_tel {
        padding: 30px 3% calc(30px + 9vw);
        border-radius: 3vw;
        position: relative
    }

    .b05_tel dt {
        width: 16vw;
        font-size: 3vw;
        height: 10vw;
        margin-right: 3vw;
        flex-shrink: 0;
    }

    .b05_ttl {
        font-size: 6vw;
        padding: 2vw 0 2.5vw;
        border-top-width: 2px;
        border-bottom-width: 2px;
        margin-bottom: 3vw;
    }

    .b05_txt {
        font-size: 4vw;
        margin-bottom: 5vw;
        line-height: 1.5em;
        max-width: 66vw;
    }

    .b05_txt span {
        font-size: 4vw;
        margin-top: 2vw;
        border-radius: 2vw;
        border-width: 2px;
        padding: 1.3vw 2vw 2vw;
        line-height: 1.3em;
    }

    .b05_tel dd:before {
        flex-shrink: 0;
        width: 10vw;
        height: 7vw;
        margin-right: 2vw;
    }

    .b05_tel dd a {
        font-size: 8vw;
    }

    .b05_btn {
        margin: -8vw 0 50px;
    }

    .b05_tel dl {
        padding: 0;
        margin: 0 0 4vw 0;
    }

    .b05_tel dl:last-child {
        margin-bottom: 0;
    }

    .b05_tel dt:after {
        border-width: 2vw 0 2vw 3vw;
        right: -2vw;
        top: calc(50% - 2vw);
    }

    .b05_btn a:before {
        width: 15vw;
        height: 15vw;
        background-size: 60% auto;
        margin-right: 3vw;
        top: -1vw;
    }

    .b05_btn a .lager {
        margin-bottom: 0;
    }

    .b05_btn a {
        font-size: 3vw;
        width: 90%;
        padding: 4vw 3vw 3vw;
        height: 24vw;
        border-radius: 3vw;
        border-width: 3px;
        letter-spacing: -0.05em;
        left: inherit
    }

    .box05:after {
        display: none;
    }

    .box06 {
        padding: 0px 0;
        overflow: hidden;
    }

    .b06_main {
        border-width: 3vw;
        padding: 50px 3%;
    }

    .b06_main_txt {
        width: 60%;
        font-size: 3vw;
        padding: 1vw 1vw 1.3vw;
    }

    .b06_main_ttl {
        font-size: 7vw;
        margin: 2vw 0 3vw;
    }

    .b06_main_ttl .circle span:after {
        width: 22vw;
        height: 22vw;
        top: 52%;
        left: 50%;
    }

    .b06_main_ttl .circle {
        margin: 4vw 0;
    }

    .b06_main_note {
        width: 22vw;
        height: 22vw;
        font-size: 2.8vw;
        top: -2vw;
        left: -2vw;
        padding-top: 1vw;
    }

    .b06_main_note:after {
        width: 14vw;
        height: 14vw;
        bottom: -10vw;
        left: -4vw;
    }

    .b06_main:before {
        width: 30vw;
        height: 30vw;
        right: 1vw;
        top: -10vw;
    }

    .b06_main_note.note01 {
        right: -2vw;
        bottom: -2vw;
        padding-top: 3vw;
    }

    .b06_main_note.note01:after {
        top: -11vw;
        right: -3vw;
    }

    .b06_info {
        background: #2765d4;
        padding: 50px 3% 0;
        display: block;
    }

    .box06 .container {
        padding: 0;
    }

    .b06_info_main {
        display: block;
        margin-bottom: 0;
    }

    .b06_info_ttl {
        font-size: 6vw;
        padding: 1vw 0 1.3vw;
        margin-bottom: 2vw;
        letter-spacing: 0;
    }

    .b06_info_ttl span {
        padding: 1vw 2vw 1.3vw;
        top: -1vw;
        margin-right: 3vw;
    }

    .b06_info_txt {
        font-size: 5vw;
        padding: 0;
        margin: 0 0 2vw;
    }

    .b06_info_list li {
        font-size: 4.5vw;
        margin-bottom: 2vw;
        padding: 0 0 3vw 8vw;
    }

    .b06_info_list {
        margin-right: 0;
    }

    .b06_info_list li:before {
        width: 4vw;
        height: 4vw;
        left: 2vw;
        top: 0.5vw;
    }

    .b06_info_note {
        font-size: 5vw;
        margin-bottom: 5vw;
        letter-spacing: 0;
        padding: 0;
    }

    .b06_info_note .note {
        padding: 0.5vw 2vw 1vw;
        margin-right: 1vw;
    }

    .b06_txt_bot {
        font-size: 3vw;
        width: calc(100% + 8vw);
        margin: 0 -4vw;
        background: #2b89fb;
        padding: 5vw 4vw;
    }

    .b06_txt_bot .lager {
        font-size: 200%;
    }

    .box07 {
        padding: 50px 0;
    }

    .b07_itm_top {
        margin: 0;
        text-align: center;
        padding-bottom: 50px;
    }

    .b07_itm_top:after {
        right: -4%;
        border-radius: 0;
    }

    .b07_itm_main {
        margin: 0 0 10vw;
        width: 100%;
    }

    .b07_itm_main:before {
        display: none;
    }

    .b07_itm_note {
        font-size: 25px;
        max-width: 300px;
        padding: 5px 10px 8px;
    }

    .b07_itm_ttl {
        font-size: 28px;
    }

    .b07_item.itm02 .b07_itm_main dl {
        border-radius: 0 0 3vw 3vw;
        padding: 4%;
    }

    .b07_item.itm02 .b07_itm_main dl dd {
        padding: 3% 4% 4%
    }

    .b07_itm_main dl,
    .b07_item.itm02 .b07_itm_main dl {
        display: flex;
        align-items: flex-start;
        flex-wrap: wrap;
        margin: 10vw auto 4%;
    }

    .b07_itm_main01 dl {
        display: flex;
        align-items: flex-end;
        flex-wrap: wrap;
        margin: 10vw 0 0;
        border-radius: 0 0 3vw 3vw;
        padding: 0;
        background: #fff;
    }

    .b07_itm_main dt {
        margin: 0vw 0 0vw;
        padding: 0;
        order: 0;
        flex-shrink: 1;
    }

    .b07_itm_main01 dt {
        margin: 0vw 0 0vw;
        padding: 0;
        order: 2;
        flex-shrink: 1;
    }

    .b07_itm_main:after {
        width: 100%;
        min-width: 100%;
        border-radius: 3vw;
        height: 100%;
    }

    .b07_item.pink .b07_itm_main::after {
        display: none
    }

    .b07_item.pink .pink-flex {
        display: flex;
        justify-content: space-between;
        align-items: center
    }

    .b07_item.pink .imgl {
        width: 26vw;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        margin: 0;
    }

    .b07_item.pink .pink-flex .b07_itm_main_txt {
        margin: 0;
        text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 5px #fff, 0 0 5px #fff;
    }

    .b07_itm_main .pink-flex {
        display: flex;
        justify-content: space-between;
        align-items: flex-end
    }

    .pink-flex .imgl {
        width: 27vw;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        margin: 0;
    }

    .pink-flex .box_txt {
        width: 73vw;
    }

    .b07_itm_main_num .small .num {
        font-size: 6vw;
        color: #fff500;
        line-height: 1.0;
        display: inline-block;
    }

    .b07_itm_main_num .small .num span {
        font-size: 146%;
        line-height: 1.0;
        display: inline-block;
    }

    .b07_itm_main_num span.first {
        line-height: 1.0;
        display: inline-block;
        margin-right: 3px;
    }

    .b07_itm_main_num .small {
        font-size: 60%;
        line-height: 1.0;
        display: inline-block;
    }

    .b07_itm_main_note,
    .b07_itm_main_note01 {
        margin: 0 0 3vw;
        font-size: 3.5vw;
        padding: 1vw 1vw 1.3vw;
        max-width: 100%;
    }

    .b07_itm_main dd {
        padding: 5vw 0 2vw;
    }

    .b07_item.pink .b07_itm_main01 dl {
        padding: 2% 2% 0
    }

    .b07_item.pink .b07_itm_main01 dt {
        order: 1;
        width: 54%;
        margin-right: -4%;
    }

    .b07_item.pink .b07_itm_main01 dd {
        padding: 2vw 2%;
        margin-right: -8%;
        margin-bottom: auto;
        width: 58%;
        order: 2;
        position: relative
    }

    .b07_item.pink .b07_itm_main01 dd.sp {
        width: 100%;
        order: 0;
        margin: 0 0 10px;
    }

    .b07_item.pink .b07_itm_main01 dd.sp .b07_itm_main_txt {
        margin: 0 0 0;
    }

    .b07_itm_main_ttl {
        font-size: 8vw;
        margin-bottom: 3vw;
        padding: 0;
        max-width: 100%;
    }

    .b07_itm_main01 .list01 li {
        font-size: 2.5vw;
        padding: 2px 4px 4px;
        line-height: 1.4
    }

    .b07_itm_main_ttl01 {
        text-align: center;
    }

    .b07_itm_main_ttl:after {
        height: 3vw;
    }

    .b07_itm_main_ttl01::after {
        bottom: -4px;
    }

    .b07_itm_main_txt {
        font-size: 3vw;
        padding: 0;
        text-align: center;
        margin-bottom: 4vw;
        margin: 0 auto 10px;
    }

    .b07_itm_main_txt.sp {
        text-align: left;
        margin: 10px 0 0;
    }

    .b07_itm_main_txt01 {
        text-align: left;
    }

    .fz4 {
        font-size: 5vw;
    }

    .b07_itm_main_num {
        margin: 0 auto 0;
        font-size: 4vw;
        padding: 1vw 0 2vw;
        width: 100%;
        border-radius: 14px;
    }

    .b07_itm01_bot {
        padding: 6vw 0;
        font-size: 4.5vw;
    }

    .b07_item {
        margin-bottom: 10vw;
        padding-top: 0;
    }

    .b07_item.itm02 .b07_itm_top:after {
        left: -4%;
    }

    .b07_item.itm02 .b07_itm_top {
        padding: 7vw 0 0;
    }

    .b07_itm02_note,
    .b07_itm02_note01 {
        position: relative;
        left: 0;
        font-size: 4vw;
        padding: 1vw 1vw 1.3vw;
        margin-bottom: 3vw;
        margin-top: 12vw;
    }

    .b07_itm02_note01::before {
        position: absolute;
        content: '';
        display: inline-block;
        background: url("../images/b07_note_sp.png") no-repeat top center/100% auto;
        max-width: 320px;
        width: 45vw;
        height: 12vw;
        top: -12vw;
        left: calc(50% - 23vw);
    }

    .b07_itm02_ttl:before {
        /*width: 33vw;*/
        width: 0;
        height: 20vw;
        margin-right: 0;
        background: none;
    }

    .b07_itm02_ttl {
        padding: 0;
        font-size: 7vw;
    }

    .b07_item.itm02.pink .b07_itm02_ttl {
        padding: 0 0 5vw 0;
    }

    .b07_item.itm02.pink .b07_itm02_ttl span {
        padding: 0 2vw;
        margin: 0 auto
    }

    .b07_itm02_ttl .lager {
        padding: 2vw 2vw 0;
        border-bottom-width: 2vw;
    }

    .b07_itm02_ttl01 .lager {
        padding: 2vw 2vw 0;
        border-bottom-width: 2vw;
        margin: 0 auto;
    }

    .b07_itm02_note:after {
        border-width: 3vw 3vw 0 3vw;
        bottom: -2.5vw;
        left: calc(50% - 3vw);
    }

    .b07_item.itm02.pink .b07_itm02_note::after {
        border-width: 3vw 3vw 0 3vw;
        bottom: -2.5vw;
        left: calc(50% - 3vw);
    }

    .fix_box07_move .b07_item.itm02 .b07_itm_main dt {
        margin: 0 auto 15px;
        width: 70%;
    }

    .fix_box07_move .b07_item.itm02 .b07_itm_main dd {
        padding: 0;
    }

    .b07_item.itm02 .b07_itm_main dd {
        padding-top: 0;
        padding-left: 4%;
    }

    .b07_itm02_main_ttl,
    .b07_itm03_main_ttl {
        text-align: center;
        font-size: 8vw;
        margin: 0 0 3vw;
    }

    .b07_itm02_main_txt,
    .b07_itm03_main_txt {
        font-size: 2.5vw;
    }

    .b07_item.pink dd .list01 {
        margin-bottom: 10px;
    }

    .b07_item.pink .pink-flex .b07_itm_main_txt.b07_itm_main_txt01 {
        font-size: 2.3vw;
        padding-right: 10px;
    }

    .b07_itm02_bot {
        font-size: 5.5vw;
        padding: 6vw 0;
    }

    .b07_item.itm02 {
        margin-bottom: 60px;
    }

    .b07_itm03_ttl {
        font-size: 7vw;
    }

    .b07_item.itm03 .b07_itm_top {
        padding: 6vw 0 8vw;
    }

    .b07_itm03_ttl span:after {
        width: 110%;
        left: -5%;
        height: 3vw;
    }

    .b07_item.itm03 .b07_itm_main dd {
        padding-top: 0;
        padding-left: 4%;
    }

    .b07_itm03_bot {
        padding: 6vw 3%;
        font-size: 5vw;
    }

    .b07_itm03_bot .lager {
        padding: 1vw 2vw 1.3vw;
        margin-top: 2vw;
    }

    .b08_top {
        padding: 7vw 0;
    }

    .b08_top_txt {
        font-size: 6vw;
        margin: 0 0 1vw;
    }

    .b08_top_ttl {
        font-size: 10vw;
        padding: 1vw 2vw 1.5vw;
        border-radius: 2vw;
    }

    .b08_main {
        padding: 50px 0;
    }

    .b08_itm_txt {
        height: 290px;
        padding: 0;
    }

    .b08_item {
        width: 100%;
        height: auto;
        margin-bottom: 30px;
    }

    .b08_itm_ttl {
        font-size: 18px;
        padding: 8px 10px 10px;
        border-width: 2px;
        margin-bottom: 20px;
    }

    .b08_itm_txt_ques {
        font-size: 18px;
        background-size: 4px auto;
        padding: 0 0 10px;
        margin-bottom: 20px;
    }

    .b08_item dt {
        font-size: 18px;
        margin-bottom: 15px;
    }

    .b08_item dt:before,
    .b08_item dd:before {
        font-size: 18px;
        width: 28px;
        height: 28px;
    }

    .b08_item dd:before {
        top: 0;
    }

    .b08_item:nth-child(3) {
        margin-bottom: 30px;
    }

    .box09 {
        padding: 50px 0;
    }

    .b09_bnr {
        display: block;
    }

    .b09_bnr li {
        text-align: center;
        margin-bottom: 20px;
    }

    .b09_bnr li:last-child {
        margin-bottom: 0;
    }

    .b10_ttl01 {
        font-size: 8vw;
        padding: 5vw 0 0;
        margin-bottom: 20vw;
        line-height: 1.5em;
    }

    .b10_ttl01:after {
        border-width: 45vw 200vw 0 200vw;
    }

    .b10_ttl01 .lager:after {
        width: 110%;
        left: -5%;
        background-size: 2vw auto;
        height: 2vw;
    }

    .b10_ttl01 .lager {
        padding: 0 0 1vw;
    }

    .b10_info dt {
        width: 60%;
        font-size: 6vw;
        padding: 1vw 2vw 0.3vw;
        border-top-left-radius: 2vw;
        border-top-right-radius: 2vw;
    }

    .b10_info dd {
        border-width: 4px;
        border-radius: 4vw;
        padding: 4vw 3% 10vw;
    }

    .b10_info_txt01 {
        font-size: 7vw;
        margin: 0;
    }

    .b10_info_txt02 .txt:before {
        width: 12vw;
        height: 8vw;
        margin: 0 2vw 0 0;
        top: -0.5vw;
    }

    .b10_info_txt02 {
        font-size: 6vw;
        white-space: nowrap;
    }

    .b10_info_txt02 .note {
        width: 18vw;
        font-size: 58%;
        left: -2vw;
        top: -8vw;
        padding: 0.5vw 1vw 0.8vw;
    }

    .b10_info_txt02 .note:after {
        border-width: 2vw 2vw 0 2vw;
        bottom: -1.8vw;
        left: calc(50% - 2vw);
    }

    .b10_info_tel a {
        font-size: 12vw;
    }

    .b10_btn a:before {
        width: 13vw;
        height: 13vw;
        flex-shrink: 0;
        margin-right: 2vw;
        background-size: 45% auto;
    }

    .b10_btn {
        margin: -5vw 0 7vw;
    }

    .b10_btn a {
        width: 93%;
        font-size: 3.5vw;
        padding: 4vw 2vw 4.5vw;
    }

    .b10_ttl02 {
        width: 100%;
        font-size: 7vw;
        margin-bottom: 8vw;
    }

    .b10_ttl02 .note {
        padding: 0 7vw;
    }

    .b10_ttl02 .lager {
        padding: 0 0 4vw;
    }

    .b10_ttl02 .lager:after {
        width: 92%;
        background-size: 3vw auto;
        height: 2vw;
    }

    .b10_step li {
        width: 32%;
        font-size: 2.5vw;
        height: 12vw;
        border-radius: 20vw;
    }

    .b10_step {
        margin-bottom: 5vw;
    }

    .b10_col {
        display: block;
        margin: 0 0 50px;
    }

    .b10_col dl {
        width: 100%;
        margin: 0 0 40px;
    }

    .b10_col dt {
        font-size: 18px;
        margin-bottom: 20px;
    }

    #form_mail {
        padding: 40px 3%;
        border-radius: 20px;
        margin-top: 30px;
    }

    #form_mail input[type="text"] {
        max-width: 100%;
        padding: 10px;
    }

    #form_mail [type="radio"],
    #form_mail [type="checkbox"] {
        width: 14px;
        height: 14px;
        top: 2px;
    }

    .submit_confirm_button {
        width: 220px;
        font-size: 16px;
        height: 50px;
        background-size: 8px auto;
    }

    .box10 {
        padding: 0 0 50px;
    }

    #footer .container {
        display: block;
    }

    .f_mod {
        margin: 0 0 30px;
    }

    .f_ttl {
        font-size: 18px;
        border-left-width: 3px;
        padding: 0 0 3px 10px;
        margin-bottom: 15px;
        line-height: 1.4em;
    }

    .f_list li:before {
        width: 8px;
        height: 8px;
        top: 8px;
        left: 10px;
    }

    .f_list li {
        padding-left: 30px;
    }

    .f_img {
        margin: 0 0 20px;
    }

    .copyright {
        text-align: center;
    }

    #footer {
        padding: 50px 0 20px;
    }

    .f_call {
        position: fixed;
        bottom: 10px;
        left: 0;
        width: 100%;
        z-index: 10;
        padding: 5px;
    }

    .f_call ul {
        display: flex;
        justify-content: flex-end;
        flex-wrap: wrap;
        align-items: center;
    }

    .f_img1 {
        position: fixed;
        bottom: 57px;
        left: 0;
        z-index: 7;
        margin-bottom: 0;
        width: 80px;
    }

    .f_img1 p {
        margin-bottom: 0px;
    }

    .absolute {
        position: absolute;
        z-index: 1;
        top: -7px;
        right: 0px;
        padding: 0px 9px;
        background: red;
        border-radius: 50%;
        color: #fff;
    }

    .f_call li {
        width: calc((100% - 74px) / 2);
    }

    .f_call li.f_call_line1,
    .f_call li.f_call_line {
        height: 55px;
    }

    .f_call li.f_call_tel {
        width: 100%;
        margin-top: 0;
        z-index: 10;
        padding: 0;
        position: relative;
    }

    .f_call a {
        text-decoration: none;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        background: rgb(67, 161, 21);
        background: #00b2b2;
        background-size: auto 200%;
        background-position: top center;
        border-radius: 1vw;
        font-weight: 500;
        padding: 1vw 1vw;
        color: #fff;
        text-align: center;
        line-height: 1.4em;
        font-size: 3.5vw;
        height: 100%;
        position: relative
    }

    .f_call li.f_call_tel a::before {
        content: '';
        width: 90px;
        background: url("../images/img_fot.png") no-repeat center top;
        background-size: cover;
        height: 95px;
        display: block;
        position: absolute;
        top: -95px;
        left: -10px;
    }

    .f_call li:nth-child(1) a:before {
        width: 6.5vw;
        height: 6.5vw;
        margin-right: 1vw;
        background: url(../images/icon_mail.svg) no-repeat center center/60% auto #fff;
        border-radius: 50%;
        content: '';
        position: relative;
        display: inline-block;
    }

    .f_call .f_call_tel a {
        font-size: 6vw;
        background: rgb(237, 108, 0);
        background: linear-gradient(to bottom, #ff8d8d 0%, #ff2525 100%);
        padding-right: 25px;
    }

    .f_call .f_call_tel a::after {
        content: '';
        background: url("../images/icon_telsp.png") no-repeat 0 0 / 100%;
        display: block;
        width: 15vw;
        height: 12vw;
        bottom: 0;
        position: absolute;
        right: 2vw;
    }

    .f_call .f_call_line a {
        background: #02ba04;
    }

    .f_call_line .small {
        width: 9vw;
        height: 9vw;
        display: flex;
        justify-content: center;
        align-items: center;
        background: #fff;
        color: #02ba04;
        padding: 1vw;
        font-size: 2.8vw;
        line-height: 1.2em;
        margin-right: 1.5vw;
        border-radius: 3px;
    }

    .f_call_tel .small {
        width: 26vw;
        height: 11vw;
        font-size: 3.5vw;
        background: #fff;
        color: #ff7070;
        line-height: 1.3em;
        justify-content: center;
        align-items: center;
        margin-right: 3vw;
        padding-top: 1vw;
    }

    .f_call_tel .lager {
        display: flex;
        align-items: center;
        width: 50vw;
        text-align: center;
        justify-content: center;
    }

    .f_call_tel .lager:before {
        content: '';
        position: relative;
        display: inline-block;
        background: url(../images/icon_tel02.svg) no-repeat center center/100% auto;
        width: 5vw;
        height: 7vw;
        margin-right: 1vw;
        top: 0.3vw;
    }

    #totop {
        width: 40px;
        right: 3%;
    }

    .box07.customize .b07_item.itm02 .b07_itm_main dl {
        display: flex;
        align-items: flex-start;
        flex-wrap: wrap;
        margin: 10vw 0 0;
        border-radius: 0 0 3vw 3vw;
        background: #fff;
        box-shadow: 4px 4px 21px 0px rgba(2, 10, 1, 0.2);
    }

    .box07.customize .b07_item.itm02 .b07_itm_main dt {
        margin-left: 0;
        margin: 0
    }

    .box07.customize .b07_item.itm02 .b07_itm_main dd {
        padding: 0 4% 5vw;
    }

    .box07.customize .b07_itm_main {
        margin: 0 0 10vw;
    }

    .box07.customize .b07_itm02_main_ttl {
        text-align: center;
        font-size: 8vw;
        margin: 0 0 3vw;
    }

    .box07.customize .b07_itm02_main_txt {
        font-size: 3vw;
        letter-spacing: 0
    }

    .box07.customize .pink-flex .box_txt {
        width: 68vw;
    }

    .box07.customize .box_txt {
        width: 50vw;
    }

    .box07.customize .imgl {
        width: 55vw;
        margin-right: -10px;
    }

    .b07_item.itm03 .b07_itm_main:after {
        display: none
    }

    .b07_item.itm03 .b07_itm_main dl {
        display: flex;
        align-items: flex-start;
        flex-wrap: wrap;
        margin: 10vw 0 0;
        border-radius: 0 0 3vw 3vw;
        background: #fff;
    }

    .box07.customize .pink-flex .box_txt {
        width: 64vw;
        padding-bottom: 15px;
    }

    .b07_item.itm03 .imgl {
        width: 44vw;
    }

    .b07_item.itm03 .b07_itm_main dd {
        padding: 0 4% 5vw;
    }

    .b07_item.itm03 .b07_itm03_main_txt {
        font-size: 3vw;
        letter-spacing: 0
    }

    #footer {
        padding: 50px 0 50px;
    }

    .f_call li.f_call_line1 .txt {
        width: calc(100% - 15vw);
        text-align: center;
        display: block;
    }

    .f_call li.f_call_line .txt {
        width: calc(100% - 18vw);
        text-align: center;
        display: block;
    }

    .modal {
        padding: 0;
    }

    .modal_box {
        border-radius: 10px;
    }

    .modal_inner {
        top: 20px;
        left: 20px;
        right: 20px;
        bottom: 20px;
    }

    #mainvisual .ttl_main p.ttl_main01 span::before {
        height: 6px;
    }

    .box07.customize.fix_space {
        padding: 0;
        margin: -50px 0 0;
    }

    .box07.customize.fix_space .b07_item.itm02 .b07_itm_top .b07_itm02_note {
        margin: 0 0 16px;
    }

    .box07.customize.fix_space .b07_item.itm02 .b07_itm02_ttl {
        padding: 0 2vw;
        margin: 0 auto;
    }

    .box07.customize.fix_space .b07_item.itm02 .b07_itm02_ttl span {
        margin: 0 auto 5vw;
        padding: 0
    }

    .box07.customize.fix_space .b07_itm_main dt {
        margin: 0 auto 15px !important;
        width: 70%;
    }

    /* .b03_list li:nth-child(7) .b03_itm_ttl {
    padding: 25px 3px 20px;
  } */
    .box07.customize.fix_space .b07_item.itm02 .b07_itm_main dl {
        margin: 0;
        padding: 4%;
    }

    .box07.customize.fix_space .b07_itm02_note::after {
        border-width: 3vw 3vw 0 3vw;
        bottom: -2.5vw;
        left: calc(50% - 3vw);
    }

    .call_sp {
        position: relative;
    }

    .call_sp a {
        position: absolute;
        top: 3.5vh;
        right: 0;
        width: 50%;
        opacity: 0.9;
        /* background: #f45267;
      
      height: 58px;

      border-bottom-left-radius: 50px;
      border-top-left-radius: 50px;
      font-size: 35px;
      color: #fff;
      font-weight: bold;
      text-decoration: none;
      display: flex;
      justify-content: center;
      align-items: center; */
    }

    .b03_itm_ttl .txt_survey {
        font-size: 19px;
        line-height: 1.5;
    }

    #fix-bottom{
        gap: 5px;
        flex-wrap: nowrap;
    }

    #fix-bottom .fix_line, #fix-bottom .fix_mail{
        width: 25%;
        position: relative;

    }

    #fix-bottom .fix_line a{
        background-color: #00c300;
        justify-content: center;
    }

    #fix-bottom .fix_mail a{
        justify-content: center;
    }

    #fix-bottom .fix_line a::before{
        background: url(../images/fix_line.svg) no-repeat center center/60% auto #fff;
        width: 40px;
        height: 40px;
        background-repeat: no-repeat;
        background-size: 35px 35px;
        margin: 0;
    }

    #fix-bottom .fix_mail a::before{
        width: 40px;
        height: 40px;
        margin: 0;
        background: url(../images/icon_mail.svg) no-repeat center center/60% auto #fff;
        border-radius: 50%;
        content: '';
        position: relative;
        display: inline-block;
    }

    #fix-bottom .fix_line .absolute{
        position: absolute;
        right: -10px;
        top: -10px;

    }

    #fix-bottom .fix_call{
        width: 50%;
    }
    
    #fix-bottom .fix_call a{
        background: linear-gradient(to bottom, #ffb266 0%, #ff9933 100%);
    }

    #fix-bottom .fix_call .lager{
        display: flex;
        align-items: center;
        text-align: center;
        justify-content: center;
    }

    #fix-bottom .fix_call .lager::before{
        content: '';
        position: relative;
        display: inline-block;
        background: url(../images/icon_tel02.svg) no-repeat center center/50% auto;
        width: 40px;
        height: 40px;
        margin-right: 1vw;
    }

    #fix-top{
        justify-content: flex-end;
        gap: 5px;
        margin-bottom: 5px;
        flex-wrap: nowrap;
    }

    #fix-top .fix_img{
        width: 25%;
    }

    #fix-top .fix_img a{
        background: unset;
    }

    #fix-top .fix_img a::before{
        display: none;
    }

    #fix-top .fix_img a::after{
        content: '';
        width: 110px;
        background: url(../images/img_fot.png) no-repeat center top;
        background-size: cover;
        height: 115px;
        display: block;
        position: absolute;
        bottom: 50%;
        left: 50%;
        transform: translate(-50%, 30%);
    }

    #fix-top .fix_call1{
        width: 75%;
    }

    #fix-top .fix_call1 a{
        background: linear-gradient(to bottom, #ff8d8d 0%, #ff2525 100%);
        gap: 10px;
        justify-content: center;
    }

    #fix-top .fix_call1 a::before{
        content: '';
        position: relative;
        display: inline-block;
        background: url(../images/icon_tel02.svg) no-repeat center center/60% auto;
        width: 40px;
        height: 40px;
        margin-right: 0;
    }

    #fix-top .fix_call1 a span{
        line-height: 1;
    }

    #fix-top .fix_call1 a .small{
        background: #fff;
        color: #ff5454;
        padding: 7px;
        font-size: 14px;
        line-height: 1.2;
    }
}

@media screen and (max-width: 645px) {
    .b04_itm_ttl .lager_2::after {
        width: calc(49% + 30px);
        margin-top: 19px;
    }

    .b04_itm_ttl .lager_2 {
        font-size: 26px !important;
    }

    .b04_itm_ttl .lager_1 {
        font-size: 32px;
    }

    #mainvisual:before {
        top: 10vw;
    }

    .idx_bot dd a {
        margin-top: 0vw;
    }

    .b04_ttl {
        margin: 0 0 50px;
    }
}

@media screen and (max-width: 560px) {
    .b04_main_ttl {
        margin-bottom: 10px;
    }

    .box04_flex_sp .b04_main_list {
        margin-bottom: 0;
        padding: 0 0 0 2%;
        width: 48%
    }

    .box04_flex_sp .b04_main_list li {
        font-size: 2.6vw;
        margin-top: 5px;
        margin-bottom: 0
    }

    .box04_flex_sp .sp_img {
        width: 48%;
        display: block
    }

    #idx_bnr .box_easy p.txt01 {
        font-size: 3.2vw;
    }
}

@media screen and (max-width: 530px) {
    .b02_main01 {
        margin-bottom: 30px;
    }

    .b02_main01:after {
        bottom: -35px;
        font-size: 22px;
        letter-spacing: 0
    }

    .b02_main01:before {
        border-width: 60px 120px 0 120px;
        border-color: #252a61 transparent transparent transparent;
        bottom: -60px;
    }

    .b04_itm_ttl .lager_2 {
        font-size: 25px !important;
    }

    .b04_itm_ttl .lager_2::after {
        width: calc(55% + 30px);
        left: 19px;
        margin-top: 16px;
    }

    .b04_itm_showroom dl {
        width: 100%;
    }

    #idx_bnr .box_easy h3 span {
        width: calc(100% / 2 - 15px);
    }

    #idx_bnr .box_easy h3 img {
        width: calc(100% / 2 - 15px);
    }

    #idx_bnr .box_easy p.txt02 {
        margin: 25px auto 0;
    }

    #idx_bnr .box_easy p.txt02:before {
        width: 100px;
        height: 35px;
        background-size: cover;
        top: -41px;
    }

    .b10_info_tel a {
        font-size: 10vw;
    }
}

@media screen and (max-width: 425px) {
    .b04_itm_ttl .lager_2::after {
        width: calc(67% + 30px);
    }

    #mainvisual .ttl_main p.ttl_main01 span::before {
        height: 4px;
    }

    #mainvisual .ttl_main p.ttl_main01 span:before {
        bottom: -2px;
    }

    .idx_h2 {
        font-size: 26px;
    }

    .box03 {
        padding: 50px 0 20px;
    }

    .box03 .idx_h2 .idx_h2_txt01 {
        line-height: 1.4;
        font-size: 16px;
    }

    .box03 .idx_h2 {
        line-height: 1.4;
        padding-right: 95px;
        padding-bottom: 20px;
        font-size: 25px;
    }

    .box03 .idx_h2::after {
        right: -30px;
        bottom: 0;
        width: 145px;
        height: 198px;
    }

    .b03_itm_ttl {
        font-size: 16px;
        padding: 20px 5px 10px;
    }

    /* .b03_list li:nth-child(7) .b03_itm_ttl {
    padding: 20px 5px 10px;
  } */
    .b04_ttl {
        margin: 0 0 80px;
    }

    .b04_itm_h3 {
        font-size: 24px;
    }

    .b04_itm_ttl {
        font-size: 16px;
    }

    .b04_itm_ttl .lager {
        font-size: 130%;
    }

    .b04_itm_ttl .lager:after {
        height: 9px;
        width: calc(100% + 10px);
        left: -5px;
    }

    .b04_itm_img {
        margin-top: 0;
    }

    .b04_itm03_main_ttl {
        font-size: 22px;
    }

    .b04_itm04_list dd ul {
        display: block;
    }

    .b04_itm04_list dd li {
        width: 100%;
        margin: 0 0 20px;
    }

    .b04_itm05_list dt {
        font-size: 16px;
        max-width: 220px;
    }

    .b04_itm05_list dd {
        padding: 0 3%;
    }

    .b06_main {
        padding: 8vw 3%;
    }

    .b07_itm_note {
        font-size: 20px;
        max-width: 250px;
    }

    .b07_itm_ttl {
        font-size: 23px;
    }

    .b07_itm_top {
        padding: 25px 0;
    }

    .b10_step li:after {
        border: 1px solid;
        width: calc(100% - 4px);
        height: calc(100% - 4px);
        top: 2px;
        left: 2px;
    }

    .b10_step li:nth-child(2):before {
        width: 110%;
        right: -7%;
    }

    .b10_step li:nth-child(3):before {
        left: -4%;
    }

    .b10_step {
        margin-bottom: 30px;
    }

    .copyright {
        font-size: 10px;
    }

    .b01_main h3 {
        font-size: 20px;
    }

    .f_call a {
        font-size: 3.4vw;
        padding: 2vw 1vw;
    }

    .f_call_line .small {
        width: 8vw;
        height: 8vw;
        padding: 0 0.5vw;
    }

    .f_call li:nth-child(1) a:before {
        width: 8vw;
        height: 8vw;
    }

    .f_call li.f_call_line1,
    .f_call li.f_call_line {
        height: 40px;
    }
	
	.fix_fcall ul li {
		height: 40px;
	}

    .b04_itm_h3:after,
    .b04_itm_h3 span:after {
        height: 12px;
    }

    #idx_bnr .box_easy h3 {
        gap: 10px;
    }

    #idx_bnr .box_easy h3 span {
        width: calc(100% / 2 - 5px);
    }

    #idx_bnr .box_easy h3 img {
        width: calc(100% / 2 - 5px);
    }

    #fix-top .fix_img a::after{
        width: 100px;
    }
}

@media screen and (max-width: 414px) {
    .sp414 {
        display: block;
    }

    .call_sp a {
        top: 3vh;
    }
}

@media screen and (max-width: 375px) {
    .box03 .idx_h2 .idx_h2_txt01 {
        font-size: 4vw;
    }

    .box03 .idx_h2 {
        font-size: 22px;
    }
    #mainvisual .container .main_img .inner .imgL {
        background-position: bottom;
        /*background-size: 155% !important;*/
      } 
    /* .b03_list li:nth-child(7) .b03_itm_ttl {
    padding: 20px 5px 10px;
    letter-spacing: -0.08em
  } */
}
@media screen and (max-width: 390px) and (max-height: 668px) {
    #mainvisual .container .main_img .inner .imgL {
      background-position: bottom;
      /*background-size: 110% !important;*/
    }
  }
@media screen and (max-width: 320px) {
    .sp320 {
        display: block;
    }

    .call_sp a {
        top: 2vh;
    }
}

@media screen and (max-width: 750px) {
    .box_text_b04 .sp_img {
        display: block;
        margin-bottom: 0;
        width: 55vw;
    }

    .box_text_b04 {
        display: flex;
    }

    .box_text_b04 .b04_main_ttl {
        font-size: 6vw;
        margin-bottom: 0;
    }
}

@media screen and (max-width: 640px) {
    .idx_main {
        width: 100%;
        margin-bottom: 3.2vw;
        padding-left: 40%;
        position: relative;
        height: 51vh;
    }

    .f_img1 {
        position: fixed;
        bottom: 40px;
        left: 0;
        z-index: 7;
        margin-bottom: 0;
        width: 138px;
    }
}

@media screen and (max-width: 565px) {
    #mainvisual .container .main_img .inner .imgL{
        background-size: cover;
    }
}

/*----//640px----*/
@media screen and (max-width: 540px) {
    .circle span:after {
        width: 6.6vw;
        height: 6.6vw;
        left: 50%;
    }

    #mainvisual .circle span {
        padding: 0 1.8vw 1vw;
    }

    #mainvisual h2 .lager01 {
        display: block;
        font-size: 105%;
    }

    #mainvisual h2 {
        font-size: 3.3vw;
        text-align: center;
        width: 100%;
    }

    #mainvisual h2 .lager01 {
        display: block;
        font-size: 158%;
    }

    #mainvisual h2 .lager02 {
        font-size: 105%;
        display: block;
    }

    .idx_main {
        height: 49vh;
    }

    .sp .idx_main::before {
        content: '';
        position: absolute;
        background: url(../images/idx_main_img.png) no-repeat center bottom /100% auto;
        width: 55vw;
        height: 95vw;
        bottom: -3.2vw;
        left: -4vw;
    }

    .h_btn_sp a {
        /* font-size: 2.6vw;
    width: 21.5vw;
    min-height: 37px; */
    }
}

@media screen and (max-width: 425px) {
    .container .sp {
        display: block;
        width: 100%;
    }

    .b05_tel dd a {
        font-size: 7vw;
    }

    .idx_bot_01 {
        z-index: 4;
    }

    #mainvisual .container {
        width: 100%;
        max-width: 1560px;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
    }

    .sp .idx_main_txt02 {
        font-size: 6.3vw;
        font-weight: bold;
        color: #fff;
        position: relative;
        text-align: center;
        width: 100%;
        margin-bottom: 15px;
        line-height: unset;
    }

    .sp .idx_main::before {
        width: 91vw;
        height: 98vw;
        bottom: -3.2vw;
        left: -16vw;
    }

    .sp .idx_main_list li {
        width: 20vw;
        height: 20vw;
        font-size: 2.3vw;
        padding-bottom: 1vw;
    }

    .sp .idx_main_list li {
        margin-right: 1vw;
        margin-bottom: 1vw;
    }

    .sp .idx_main {
        height: 59vh;
    }

    .sp .circle span:after {
        width: 8.6vw;
        height: 8.6vw;
        left: 50%;
    }

    #mainvisual .circle span {
        padding: 0 1.8vw 1vw;
    }

    .sp .idx_main_list {
        display: flex;
        justify-content: end;
        margin-bottom: 15px;
        flex-wrap: wrap;
    }

    .sp .idx_main_txt01 {
        font-size: 5.5vw;
        padding: 0.5vw 1vw 0.7vw;
        margin-bottom: 2.5vw;
    }

    #mainvisual .sp h2 {
        font-size: 3.3vw;
        text-align: center;
    }

    #mainvisual .sp h2 .lager01 span {
        font-size: 190%;
    }

    #mainvisual .sp h2 .lager01 {
        display: block;
        font-size: 200%;
        line-height: 1.2em;
        margin: 4px 0 22px;
    }

    #mainvisual .sp h2 .lager02 {
        font-size: 180%;
        display: block;
    }

    .f_img1 {
        position: fixed;
        bottom: 35px;
        left: 0;
        z-index: 7;
        margin-bottom: 0;
        width: 97px;
    }

    .b07_item.pink .b07_itm02_main_txt {}

    .b07_item.pink .list01 {
        margin-bottom: 10px;
    }

    #header .container {
        padding: 0 10px;
    }

    .h_btn_sp li.tel01 a span,
    .h_btn_sp li.mail a span {
        /* padding-left: 20px;
    background-size: 16px 16px; */
    }

    .h_btn_sp li.tel02 a span {
        /* padding-left: 16px; */
        background-size: 13px 17px;
    }

    #fix-top .fix_call1{
        height: 46px;
    }

    #fix-top .fix_call1 a .small{
        padding: 3px;
        font-size: 12px;
    }
}

@media screen and (max-width: 414px) {
    .f_img1 {
        position: fixed;
        bottom: 57px;
        left: 0;
        z-index: 7;
        margin-bottom: 0;
        width: 100px;
    }

    .sp .idx_main {
        height: 63vh;
    }

    .sp .idx_main_list li {
        width: 24vw;
        height: 24vw;
        font-size: 2.3vw;
        padding-bottom: 1vw;
    }

    .sp .idx_main::before {
        width: 108vw;
        height: 116vw;
        bottom: -3.2vw;
        left: -28vw;
    }
}

@media screen and (max-width: 390px) {
    .f_img1 {
        position: fixed;
        bottom: 29px;
        left: 0;
        z-index: 7;
        margin-bottom: 0;
        width: 100px;
    }

    /*.b03_item {
    width: 100%;
    margin: 0 0 30px;
    }
    */
    .b03_itm_ttl {
        font-size: 14px;
        padding: 20px 2px 10px;
    }

    .h_img {
        height: 115px;
        width: 100%;
        object-fit: cover;
    }

    .h_btn_sp a {
        width: 60px;
        height: 60px;
        font-size: 9px;
    }

    .h_btn_sp .mail a img {
        object-fit: contain;
    }
}

@media screen and (max-width: 375px) {
    .container .sp {
        display: block;
        width: 100%;
    }

    #footer {
        padding: 50px 0 51px;
    }

    #mainvisual .container {
        width: 100%;
        max-width: 1560px;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
    }

    .sp .idx_main_txt02 {
        font-size: 6.3vw;
        font-weight: bold;
        color: #fff;
        position: relative;
        text-align: center;
        width: 100%;
        margin-bottom: 15px;
        line-height: unset;
    }

    .sp .idx_main::before {
        width: 108vw;
        height: 119vw;
        bottom: -3.2vw;
        left: -23vw;
    }

    .sp .idx_main_list li {
        width: 23vw;
        height: 23vw;
        font-size: 2.3vw;
        padding-bottom: 1vw;
    }

    .sp .idx_main_list li {
        margin-right: 1vw;
        margin-bottom: 1vw;
    }

    .sp .idx_main {
        width: 100%;
        margin-bottom: 3.2vw;
        padding-left: 40%;
        position: relative;
        height: 62vh;
    }

    .sp .circle span:after {
        width: 8.6vw;
        height: 8.6vw;
        left: 50%;
    }

    #mainvisual .circle span {
        padding: 0 1.8vw 1vw;
    }

    .sp .idx_main_list {
        display: flex;
        justify-content: end;
        margin-bottom: 15px;
        flex-wrap: wrap;
    }

    .sp .idx_main_txt01 {
        font-size: 5.5vw;
        padding: 0.5vw 1vw 0.7vw;
        margin-bottom: 2.5vw;
    }

    #mainvisual .sp h2 {
        font-size: 3.3vw;
        text-align: center;
    }

    #mainvisual .sp h2 .lager01 span {
        font-size: 190%;
    }

    #mainvisual .sp h2 .lager01 {
        display: block;
        font-size: 200%;
        line-height: 1.2em;
        margin: 4px 0 22px;
    }

    #mainvisual .sp h2 .lager02 {
        font-size: 180%;
        display: block;
    }

    .f_img1 {
        position: fixed;
        bottom: 24px;
        left: 0;
        z-index: 7;
        margin-bottom: 0;
        width: 100px;
    }

    .box07.customize .b07_item.itm03 .b07_itm_main dt span {
        text-shadow: rgb(6, 16, 47) 1px 0px 0px, rgb(6, 16, 47) 0.540302px 0.841471px 0px, rgb(6, 16, 47) -0.416147px 0.909297px 0px, rgb(6, 16, 47) -0.989993px 0.14112px 0px, rgb(6, 16, 47) -0.653644px -0.756803px 0px, rgb(6, 16, 47) 0.283662px -0.958924px 0px, rgb(6, 16, 47) 0.96017px -0.279416px 0px;
    }

    /* .h_btn_sp .tel02 a span{

    padding:5px 0px 2px;
  } */
}

@media screen and (max-width: 360px) {
    .sp .idx_main_list li {
        width: 24vw;
        height: 24vw;
        font-size: 2.3vw;
        padding-bottom: 1vw;
    }

    .sp .idx_main::before {
        content: '';
        position: absolute;
        background: url(../images/idx_main_img.png) no-repeat center bottom /100% auto;
        width: 85vw;
        height: 95vw;
        bottom: -3.2vw;
        left: -13vw;
    }

    .idx_main_list {
        justify-content: flex-end;
        padding-right: 10px;
    }

    /* .h_btn_sp li.tel02 a span {
    line-height: 1.2;
  } */
}

@media screen and (max-width: 320px) {
    .fix_box07_move {}

    .sp .idx_main::before {
        width: 121vw;
        height: 130vw;
        bottom: -3.2vw;
        left: -36vw;
    }

    .sp .idx_main_list li {
        width: 26vw;
        height: 26vw;
        font-size: 2.3vw;
        padding-bottom: 1vw;
    }

    .sp .idx_main {
        width: 100%;
        margin-bottom: 3.2vw;
        padding-left: 40%;
        position: relative;
        height: 65vh;
    }

    .f_img1 {
        position: fixed;
        bottom: 26px;
        left: 0;
        z-index: 7;
        margin-bottom: 0;
        width: 76px;
    }

    .h_btn_sp a {
        font-size: 8px;
    }
}

.sp_none {
    display: block;
}




.sp_logo,
.sp_block {
    display: none;
}

.pc_logo {
    display: block;
}

@media screen and (max-width: 750px) {
    .sp_logo {
        display: block;
        max-width: 230px;
        margin: 0 auto;

    }

    .pc_logo {
        display: none;
    }

    #mainvisual .container .main_img {
        height: 100vh;
        min-height: 550px;
    }

    #header {
        display: none;
    }

    .sp_none {
        display: none;
    }

    .box07.customize .b07_item.itm02.sp_fix_mb {
        margin-bottom: 0;
    }

    .fix_sp_mb0 {
        margin-bottom: 0;
    }

    .box07.customize .container {
        padding: 0 3% 1px;
    }

    .box07.customize .b07_item.pink.itm02 .b07_itm_main dt.mw60_sp {
        margin: 10px auto 15px;
        width: 70%
    }

    .box07.customize .b07_itm_main::after {
        display: none
    }

    .box07.customize .b07_itm_main dt {
        margin: 0 auto 15px;
        width: 70%
    }

    .box04_flex_sp {
        position: relative;
        justify-content: flex-start;
    }

    .box04_flex_sp .b04_main_list {
        width: 44vw;
    }

    .box04_flex_sp .sp_img {
        position: absolute;
        bottom: -26vw;
        width: 75vw;
        right: -18vw;
    }

    .box07.customize .b07_item.itm03 .b07_itm_main dl dd {
        position: relative;
    }

    .b04_person {
        max-width: 434px;
        margin: 0 auto;
        flex-wrap: wrap;
        padding: 0;
        justify-content: space-between;
    }

    .b04_itm05_list .b04_person img:not(:last-child) {
        margin: 0;
    }

    .b04_person img {
        margin-bottom: 5vw !important;
        width: 45%;
        height: auto;
    }


    .fix_fcall ul {
        justify-content: space-between;
    }


    .fix_fcall ul li,
    .fix_fcall li.f_call_tel {
        width: 49%;
    }

	.fix_fcall li.f_call_line1,.fix_fcall li.f_call_line {
		margin-bottom: 2%;
	}
	
    .fix_fcall li.f_call_tel a::before {
        display: none
    }

    .fix_fcall .f_call_tel a {
        padding-right: 8vw;
        font-size: 3.4vw;
    }


    .fix_fcall .f_call_tel a:after {
        width: 10vw;
        height: 8vw;
        right: 0;
    }

    .fix_fcall .f_call_tel.fix_orange a {
        background: linear-gradient(to bottom, #ffb266 0%, #ff9933 100%);
    }


    .box_new h3 {
        font-size: 30px;
        line-height: 40px;
        margin-bottom: 30px;
        letter-spacing: 2px;
    }
    .box_new h3 span{
        padding-right: 5px;
        margin-left: -4px
    }
    .tit_large01 {
        font-size: 16px;
        letter-spacing: 1px;
    }

    .box_ul01 {
        display: block;
        position: relative;
    }

    .box_ul01:after {
        content: "";
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: -4%;
        width: 62%;
        height: 80%;
        background: #e6e6e7;
        z-index: -1;
    }

    .box_ul01 li {
        width: 100%;
        padding: 25px;
    }

    .ul_tit01 span {
        font-size: 14px;
        padding: 0 10px;
        left: -15px;
    }

    .ul_tit01 {
        font-size: 16px;
        padding-left: 48px;
    }

    .ul_txt {
        font-size: 15px;
    }

    .box_new:after {
        right: unset;
        left: 0;
        width: 60%;
        height: 380px;
    }

    .box_new:before {
        bottom: -85px;
    }


    .box_mv_text {
        width: 100%
    }

    .box_mv_text li {
        padding: 4vw 3vw 4vw 6vw;
        font-size: 4.5vw;
        line-height: 3vw
    }

    .box_mv_text li .mv_tit_y {
        padding: 2vw;
        font-size: 4.5vw;
        border-radius: 1vw;
        margin-right: 3vw;
    }

    #mainvisual .container {
        display: block;
    }

    .box_mv_text li .mv_tit_red {
        font-size: 8vw;
        line-height: 6vw;
        padding-bottom: 2vw;
    }


    .sup_small {
        background: #fff;
        margin: 0;
        color: #000;
        padding: 0px 3% 0 3%;
        font-size: 11px;
        line-height: 1.6;
    }

    .box_mv_text li .mv_tit_small {
        font-size: 3.5vw;
    }

    .main_img {
        display: flex;
        align-items: flex-end;
        flex-wrap: wrap
    }

    .sp_block {
        display: block;
    }

    .sp_w100 {
        width: 100%;
        padding-top: 0;
    }

    .inner.fix_inner_img {
        width: 100%;
        height: calc(100% - 20.8vw - 50px - 20px);
    }
     .inner.fix_inner_img .sp_text01 {
        margin: 0;
        width: 100%;
        position: absolute;
        bottom: 3.2vw;
        left: 50%;
        z-index: 9;
        max-width: 480px;
        transform: translateX(-50%);
      }
    #mainvisual .container .main_img {
        overflow: hidden
    }

    .fix_inner_img .imgL {
        left: 0;
        position: absolute !important;
        bottom: 0;
    }
	
	.bot-top {
		left: unset;
		width: 40vw;
	}
	
	
	.sp_main_logo {
		position: absolute;
		bottom: 15vw;
		left: 0;
		width: 300px;
		right: 0;
		margin: 0 auto;
		display: block;
	}
	
	
	.sp_main_text {
		display: block;
		position: absolute;
		top:0;
		left: 5vw;
		width: 70%;
	}
	
	#mainvisual {
		background: url("../images/idx_main_bg.jpg")no-repeat top left/cover
	}
	
	
}
@media screen and (max-width: 450px) {

    .br_block {
        display: block;
    }
    .box_new h3 {
        font-size: 28px;
        letter-spacing: 1px
    }
    .tit_large01 {
        font-size: 4vw;
        letter-spacing: 0;
    }

    .f_call #fix-bottom li{
        height: 46px !important;
    }
}

@media screen and (max-width: 340px) {
    #mainvisual .container .main_img .inner .imgL {
        background-position: 55%;
    }
}


@media screen and (min-width: 751px) and (max-width: 1235px) {
    .idx_bot dt {
        margin: 10px 30px 0 60px !important;
    }
}

@media screen and (min-width: 751px) and (max-width: 1440px) {
    #mainvisual .container .main_img .inner .imgL {
        margin: 0 0 0 -50px;
    }

    .bot-top {
        font-size: 25px;
    }

}

@media screen and (min-width: 451px) and (max-width: 750px) {
	.f_call li.f_call_tel {
		height: 55px;
	}
	.f_call_line .small {
		font-size: 2.6vw;
		width: 8vw;
		height: 8vw;
	}
	
	
}












