.p-trouble{
    background: linear-gradient(90deg,rgba(233, 243, 253, 1) 0%, rgba(255, 255, 255, 1) 53%, rgba(233, 243, 253, 1) 100%);
    padding-top: 50px;
}

.p-trouble__grid{
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
    width: calc(100% - 30px);
}

.p-trouble__head{
    text-align: center;
    margin-bottom: 25px;
}
.p-trouble__head--btn strong{
    background: #0176bf;
    color: #FFF;
    font-size: 24px;
    letter-spacing: 0;
    line-height: 160%;
    font-weight: 500;
    padding: 3px 36px;
    border-radius: 40px;
}

.p-trouble__head--title strong{
    font-size: 46px;
    letter-spacing: 0;
    line-height: 140%;
    font-weight: 700;
    color: #333;
}

.p-trouble__head--title strong i{
    font-style: normal;
    color: #0176bf;
    font-size: 130%;
}

.p-trouble__head--desc{
    font-size: 18px;
    line-height: 170%;
    letter-spacing: 0;
    font-weight: 500;
    color: #333;
}

.p-trouble__head--desc strong{
    color: #0176bf;
}

.p-trouble__main{
    position: relative;
}

.p-trouble__img{
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    padding: 70px 150px 0;
}

.p-trouble__img img{
    width: 100%;
}

.p-trouble__list{
    position: absolute;
    top: 0;
    display: flex;
    align-items: center;
    flex-flow: column;
}

.p-trouble__list.vz-01{
    left: 0;
}

.p-trouble__list.vz-02{
    right: 0;
}

.p-trouble__list li{
    position: relative;
    border: #0176bf solid 1px;
    border-radius: 184px;
    background: #FFF;
    min-width: 280px;
    min-height: 118px;
    padding: 12px 15px 12px 115px;
    margin-bottom: 15px;
    display: flex;
    flex-flow: column;
    justify-content: center;
}

.p-trouble__list li p{
    font-size: 18px;
    color: #333;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 170%;
}

.p-trouble__list li:last-child{
    margin-bottom: 0;
}

.p-trouble__list li::before{
    content: "";
    position: absolute;
    top: 50%;
    left: 22px;
    transform: translateY(-50%);
    width: 80px;
    height: 80px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.p-trouble__list li::after{
    content: "";
    position: absolute;
    width: 46px;
    height: 20px;
    background: url(../images/trouble-icon-09.png) no-repeat center;
}

.p-trouble__list li strong{
    color: #0176bf;
}

.p-trouble__list li.vz-01{
    left: 84px;
}

.p-trouble__list li.vz-01::before{
    background-image: url(../images/trouble-icon-01.jpg);
}

.p-trouble__list li.vz-01::after{
    bottom: -10px;
    right: -11px;
    transform: rotate(36deg);
}

.p-trouble__list li.vz-02::before{
    background-image: url(../images/trouble-icon-02.jpg);
}

.p-trouble__list li.vz-02::after{
    bottom: 6px;
    right: -22px;
    transform: rotate(18deg);
}

.p-trouble__list li.vz-03::before{
    background-image: url(../images/trouble-icon-03.jpg);
}

.p-trouble__list li.vz-03::after{
    top: 32%;
    right: -37px;
    transform: rotate(-15deg);
}

.p-trouble__list li.vz-04{
    left: 30px;
}

.p-trouble__list li.vz-04::before{
    background-image: url(../images/trouble-icon-04.jpg);
}

.p-trouble__list li.vz-04::after{
    top: 0;
    right: -19px;
    transform: rotate(-29deg);
}

.p-trouble__list li.vz-05{
    padding-left: 140px;
    left: -98px;
}

.p-trouble__list li.vz-05::before{
    width: 103px;
    background-image: url(../images/trouble-icon-05.jpg);
}

.p-trouble__list li.vz-05::after{
    bottom: -15px;
    left: -1px;
    transform: rotate(131deg);

}

.p-trouble__list li.vz-06{
    padding-right: 40px;
    left: -40px;
}

.p-trouble__list li.vz-06::before{
    background-image: url(../images/trouble-icon-06.jpg);
}

.p-trouble__list li.vz-06::after{
    top: 50%;
    left: -35px;
    transform: rotate(161deg);
}

.p-trouble__list li.vz-07::before{
    background-image: url(../images/trouble-icon-07.jpg);
}

.p-trouble__list li.vz-07::after{
    top: 31%;
    left: -35px;
    transform: rotate(196deg)
}

.p-trouble__list li.vz-08{
    left: -77px;
}

.p-trouble__list li.vz-08::before{
    background-image: url(../images/trouble-icon-08.jpg);
}

.p-trouble__list li.vz-08::after{
    top: 0;
    left: -20px;
    transform: rotate(217deg);
}

.page-lp .lp_idx02.vz-02{
    margin-top: 0;
}

.p-result__list{
    display: flex;
    flex-wrap: wrap;
    background: #fefefe;
    padding: 100px 150px;
    margin-top: 50px;
    gap: 20px 10px;
    counter-reset: section;
}

.p-result__item{
    width: calc((100% - 20px) / 3);
    position: relative;
    text-align: center;
}

.p-result__item img{
    width: 170px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.p-result__item::before{
    counter-increment: section;
    content: counter(section, decimal-leading-zero);
    position: absolute;
    width: 40px;
    height: 40px;
    background: #ecf2fe;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #0176bf;
    font-weight: 700;
    line-height: 150%;
    letter-spacing: 0;
}

.p-result__item h4{
    font-size: 20px;
    color: #0e1545;
    font-weight: 700;
    line-height: 150%;
    letter-spacing: 0;
}

.p-result__item p{
    font-size: 18px;
    color: #333;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0;
}

.p-strengths {
    padding: 0 80px;
    margin-bottom: 100px;
}

.p-strengths__list{
    background: #f7fbfd;
    display: flex;
    gap: 15px;
    padding: 85px;
    counter-reset: section;
}

.p-strengths__item{
    background: #FFF;
    width: calc((100% - 60.01px) / 5);
    border-radius: 15px;
    padding: 15px;
    box-shadow: 0px 0px 3px rgba(44, 124, 178,0.5);
}

.p-strengths__head{
    position: relative;
    margin-bottom: 15px;
    padding-bottom: 15px;
    text-align: center;
}

.p-strengths__head::before{
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: calc(100% - 30px);
    height: 2px;
    opacity: 0.4;
    transform: translateX(-50%);
    background: #2c7cb2;
}

.p-strengths__head::after{
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 4px;
    height: 2px;
    transform: translateX(-50%);
    background: #2c7cb2;
}

.p-strengths__head h4{
    font-size: 27px;
    color: #0e1545;
    letter-spacing: 0;
    font-weight: 700;
    line-height: 150%;
    position: relative;
    padding-top: 90px;
}

.p-strengths__head h4::before{
    counter-increment: section;
    content: counter(section, decimal-leading-zero);
    position: absolute;  
    font-size: 52px;
    color: #e6c300;
    font-weight: 700;
    line-height: 150%;
    letter-spacing: 0;
    font-family: "Zen Kaku Gothic New", sans-serif;
    top: 0;
    left: 0;
}

.p-strengths__head h4::after{
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 86px;
    height: 76px;
    transform: translateX(-50%);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: contain;
}

.p-strengths__head h4.vz-01::after{
    background-image: url(../images/strengths_icon01.jpg);
}

.p-strengths__head h4.vz-02::after{
    background-image: url(../images/strengths_icon02.jpg);
}

.p-strengths__head h4.vz-03::after{
    background-image: url(../images/strengths_icon03.jpg);
}

.p-strengths__head h4.vz-04::after{
    background-image: url(../images/strengths_icon04.jpg);
}

.p-strengths__head h4.vz-05::after{
    background-image: url(../images/strengths_icon05.jpg);
}

.p-strengths__head h4 strong{
    color: #2c7cb2;
    font-size: 110%;
}

.p-strengths__main .img img{
    height: 176px;
    width: 100%;
    object-fit: cover;
    border-radius: 10px;
}

.p-strengths__main p{
    font-size: 18px;
    color: #333;
    font-weight: 400;
    line-height: 185%;
    letter-spacing: 0;
    margin-top: 14px;
}

.p-faq{
    max-width: 1700px;
    margin-top: 100px;
    margin-left: auto;
    margin-right: auto;
    width: calc(100% - 30px);
    background: #f6f8fe;
    padding: 50px;
    border: #eaf1fd solid 2px;
    border-radius: 20px;
}

.p-faq__title{
    font-size: 30px;
    font-weight: 700;
    color: #001037;
    letter-spacing: 0;
    line-height: 140%;
    padding-bottom: 10px;
    position: relative;
    margin-bottom: 20px;
}

.p-faq__title::before{
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    background: #0176bf;
    width: 50px;
    height: 2px;
}

.p-faq__title strong{
    position: relative;
    padding-right: 100px;
}

.p-faq__title strong::after{
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 90px;
    height: 51px;
    background: url(../images/faq-txt.png) no-repeat center;
    background-size: contain;
}

.p-faq__gp{
    display: grid;
    align-items: flex-end;
    grid-template-columns: 1fr 480px;
    gap: 50px;
}

.p-faq__block{
    border: rgba(1, 118, 191,0.3) solid 2px;
    border-radius: 15px;
    position: relative;
    font-size: 24px;
    letter-spacing: 0;
    line-height: 150%;
    font-weight: 700;
    color: #0176bf;
    padding: 30px 30px 30px 134px;
}

.p-faq__block::before{
    content: "";
    position: absolute;
    left: 20px;
    top: 50%;
    width: 100px;
    height: 100px;
    transform: translateY(-50%);
    background: url(../images/faq-icon01.png) no-repeat center;
    background-size: contain;
}

.p-faq__item{
    border: rgba(1, 118, 191,0.3) solid 2px;
    margin-bottom: 10px;
    border-radius: 15px;
    background: #fff;
    padding: 0 30px 5px;
}

.p-faq__item:last-child{
    margin-bottom: 0;
}

.p-faq__item--head{
    position: relative;
    padding-top: 15px;
    padding-left: 35px;
    padding-bottom: 10px;
    font-size: 20px;
    color: #001037;
    font-weight: 700;
    line-height: 170%;
    letter-spacing: 0;
    cursor: pointer;
}

.p-faq__item--head::before{
    content: "Q.";
    position: absolute;
    top: 15px;
    left: 0;
    color: #0176bf;
    font-size: 20px;
    font-weight: 700;
}

.p-faq__item--head::after{
    content: "✛";
    position: absolute;
    top: 15px;
    right: 0;
    color: #0176bf;
}

.p-faq__item--head.active::after{
    content: "ー";
}

.p-faq__item--desc{
    padding-left: 35px;
    position: relative;
    font-size: 18px;
    color: #333;
    font-weight: 400;
    letter-spacing: 0;
    ;line-height: 175%;
    padding-bottom: 10px;
    display: none;
}

.p-faq__item--desc::before{
    content: "A.";
    position: absolute;
    top: 0;
    left: 0;
    color: #0176bf;
    font-weight: 700;
}

.p-faq__gp--item .img{
    margin-bottom: 30px;
}

.p-plan__list{
    display: flex;  
    gap: 20px;
    max-width: 1600px;
    width: calc(100% - 30px);
    margin-left: auto;
    margin-right: auto;
}

.p-plan__list--item{
    background: #fff;
    width: calc((100% - 60.01px) / 4);
    border-radius: 10px;
    padding: 20px 15px;
}

.p-plan__list--item h4{
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 150%;
    color: #333;
    text-align: center;
    margin: 15px 0;
}

.p-plan__list--item h4 .cl {
    color: #eb6285;
}

.p-plan__list--item .img img{
    width: 80%;
    display: block;
    margin: 0 auto;
}

.p-plan__list .thumb_list{
    margin-bottom: 17px;
    display: flex;
    flex-wrap: wrap;
}

.p-plan__list .thumb_list li{
    min-width: 93px;
    margin: 1px 4px 3px 0;
    padding: 6px 28px;
    text-align: center;
    color: #fff;
    background: #0176bf;
    border-radius: 4px;
    letter-spacing: 0.1em;
    font-size: 16px;
}

.p-compa{
    max-width: 1440px;
    width: calc(100% - 30px);
    margin-left: auto;
    margin-right: auto;
}

.p-compa__table{
    margin-bottom: 10px;
    border-radius: 10px;
}

.p-compa__table dl{
    display: grid;
    grid-template-columns: 208px 256px repeat(4,1fr) ;
    border-bottom: #CCC solid 1px;
}


.p-compa__table dl:first-child dt{
    background: #1b273a;
    color: #FFF;
}

.p-compa__table dl:first-child dd{
    background: #767677;
    color: #FFF;
}

.p-compa__table dl:first-child dd p{
    display: inline-block;
    position: relative;
    padding-left: 30px;
}

.p-compa__table dl:first-child dd p::before{
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 26px;
    height: 25px;
    background: url(../images/compa_icon01.png) no-repeat center;
    background-size: contain;
}

.p-compa__table dl:first-child dd p.vz-02::before{
    background-image: url(../images/compa_icon02.png);
}

.p-compa__table dl:first-child dd p.vz-03::before{
    background-image: url(../images/compa_icon03.png);
}

.p-compa__table dl:first-child dd p.vz-04::before{
    background-image: url(../images/compa_icon04.png);
}

.p-compa__table dl:first-child dd:nth-child(2){
    background: #074cb8;
    font-size: 25px;
    font-weight: 500;
    letter-spacing: 1px;
}

.p-compa__table dl:first-child dd:last-child{
    border-top-right-radius: 10px;
}

.p-compa__table dl:first-child dt{
    border-top-left-radius: 10px;
}

.p-compa__table dl:last-child{
    border-bottom: 0;
}

.p-compa__table dl dd:nth-child(3){
    border-left: 0;
}

.p-compa__table dl:last-child dt{
    border-bottom-left-radius: 10px;
}

.p-compa__table dl dt{
    border-left: #CCC solid 1px;
}

.p-compa__table dl dd:last-child{
    border-right: #CCC solid 1px;
}

.p-compa__table dl:last-child dd:last-child{
    border-bottom-right-radius: 10px;
}

.p-compa__table dl:last-child dt,.p-compa__table dl:last-child dd{
    border-bottom: #CCC solid 1px;
}

.p-compa__table dl dt,.p-compa__table dl dd{
    padding: 15px 5px;
    text-align: center;
    display: flex;
    flex-flow: column;
    justify-content: center;
    background: #fcfcfc;
}

.p-compa__table dl dd{
    align-items: center;
    border-left: #CCC solid 1px;
}

.p-compa__table dl:first-child dd:nth-child(2){
    border-top: #e6c300 solid 2px;
}

.p-compa__table dl:last-child dd:nth-child(2){
    border-bottom: #e6c300 solid 2px;
}

.p-compa__table dl dd:nth-child(2){
    border-left: #e6c300 solid 2px;
    border-right: #e6c300 solid 2px;
}

.p-compa__table dl dt p,.p-compa__table dl dd p{
    margin-bottom: 0;
    line-height: 150%;
}

.p-compa__table dl .icon{
    font-size: 20px;
    color: #b80203;
    font-weight: 700;
    display: block;
    margin-bottom: 5px;
}

.p-compa__table dl strong{
    color: #b80203;
}

.p-compa__table dl .title{
    position: relative;
    padding-left: 35px;
    text-align: left;
    font-weight: 600;
}

.p-compa__table dl .title::before{
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 31px;
    height: 31px;
    background: url(../images/compa_title01.png) no-repeat center;
    background-size: contain;
}

.p-compa__table dl .title-02::before{
    background-image: url(../images/compa_title02.png);
}

.p-compa__table dl .title-03::before{
    background-image: url(../images/compa_title03.png);
}

.p-compa__table dl .title-04::before{
    background-image: url(../images/compa_title04.png);
}

.p-compa__table dl .title-05::before{
    background-image: url(../images/compa_title05.png);
}

.p-compa__table dl .title-06::before{
    background-image: url(../images/compa_title06.png);
}

.p-compa__table dl .title-07::before{
    background-image: url(../images/compa_title07.png);
}

.p-voice{
    background: #f7f6f6;
    padding: 70px 0 149px;
    position: relative;
    z-index: 2;
}

.p-voice::before{
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 724px;
    height: 648px;
    z-index: -1;
    background: rgba(134, 187, 221, 0.2);
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}

.p-voice::after{
    content: "";
    position: absolute;
    bottom: -218px;
    left: 25%;
    width: 253px;
    height: 306px;
    background: url(../images/voice-icon01.png) no-repeat center;
    background-size: contain;
}

.p-voice__container{
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    width: calc(100% - 30px);
}

.p-voide__title--en{
    letter-spacing: 0.21em;
    text-align: left;
    left: -15px;
    top: 130px;
    width: 100%;
    font-size: 208px;
    font-weight: 700;
    line-height: 1;
    position: absolute;
    color: #FFF;
    z-index: -1;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

.p-voide__title--02{
    margin-bottom: 100px;
}

.p-voide__title--02 .title{
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.56;
    font-size: 40px;
}

.p-voide__title--02 .title strong{
    color: #0176bf;
    letter-spacing: 0.05em;
    font-size: 120%;
}

.p-voide__title--02 .desc{
    margin-top: 21px;
    text-transform: uppercase;
    font-family: "Zen Kaku Gothic New", sans-serif;
    color: #78b4da;
    letter-spacing: 0.18em;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.56;
}

.p-voide__slide{
    padding-top: 50px;
}

.p-voide__slide .slick-arrow{
    width: 60px;
    height: 60px;
    background: #0176bf;
    border-radius: 50%;
    top: 50%;
    z-index: 1;
}

.p-voide__slide .slick-prev{
    transform: translateY(-50%) scaleX(-1);
}

.p-voide__slide .slick-arrow::before{
    content: "";
    width: 11px;
    height: 14px;
    background: #FFF;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    display: block;
    opacity: 1;
    top: 50%;
    left: 55%;
    transform: translate(-50%,-50%);
    position: absolute;
}

.p-voide__slide .slick-dots{
    top: 0;
    bottom: auto;
}

.p-voide__slide .slick-dots li{
    width: 60px;
    height: 8px;
    margin: 0 4px;
    background: #dcdcdc;
    font-size: 0;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
}

.p-voide__slide .slick-dots li.slick-active{
    background: #eb6285;
}

.p-voide__slide .slick-dots li button{
    width: 100%;
    height: 100%;
    font-size: 0;
}

.p-voide__slide .slick-dots li button::before{
    content: none;
}

.p-voide__slide .slick-slide{
    background: #fff;
    margin: 0 15px;
    padding: 15px;
    border-radius: 15px;
}

.p-voide__main{
    width: calc(100% + 30px);
    margin-left: -15px;
}

.p-voide__main p{
    margin-bottom: 0;
}

.p-voide__slide .title-01{
    color: #333;
    margin-bottom: 15px;
}

.p-voide__slide .title-01 strong{
    color: #0176bf;
    font-size: 30px;
}

.p-voide__slide .title-02 .item{
    color: #ffa500;
    border: #ffa500 solid 1px;
    border-radius: 10px;
    padding: 5px;
    display: inline-block;
    text-decoration: none;
    transition: all 0.35s;
}

.p-voide__slide .title-02 .item:hover{
    background: #ffa500;
    color: #FFF;
}

.p-voide__slide .title-01, .p-voide__slide .title-02{
    font-size: 24px;
    line-height: 170%;
    font-weight: 700;
}

.p-voide__slide .title-02{
    margin-bottom: 15px;
}

.p-voide__slide .title-03,.p-voide__slide .title-04{
    background: #0176bf;
    border-radius: 10px;
    max-width: max-content;
    padding: 0 15px;
}


.p-voide__slide .title-03 strong, .p-voide__slide .title-04 strong{
    padding: 5px 15px 5px 35px;
    display: inline-block;
    min-width: auto;
    color: #FFF;
    position: relative;
}

.p-voide__slide .title-03 strong::before,.p-voide__slide .title-04 strong::before{
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);    
    -webkit-mask: url(../images/user-icon01.png) center / 100% no-repeat;
    mask: url(../images/user-icon01.png) center / 100% no-repeat;
    background: #FFF;
    width: 25px;
    height: 25px;
}

.p-voide__slide .title-04 strong::before{
    -webkit-mask-image: url(../images/medical-icon02.png);
    mask-image: url(../images/medical-icon02.png);
}

.p-voide__slide img{
    border-radius: 15px;
    aspect-ratio: 4 / 2.7;
    object-fit: cover;
}

.p-voide__slide .title-04 {
    margin-bottom: 15px;
    margin-top: 5px;
}

.p-voide__slide--item{
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.p-voide__slide--block:last-child{
    background: #fff;
    padding: 15px;
    max-height: 450px;
    overflow: auto;

}

.page-lp .lp_key.vz-02{
    background-image: url(../images/mv-bg01.jpg);
}

.p-mv__slide{
    position: absolute;
    top: 0;
    right: 0;
    width: 900px;
    height: 100%;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr 2.5fr;
    gap: 10px;
}

.p-mv__slide--list{
    height: max-content;
    display: grid;
    gap: 10px;
}

.p-mv__slide--list li img{
    width: 100%;
}

.p-mv__slide--list.vz-01{
    animation: slide-top 50s linear infinite;
}

.p-mv__slide--list.vz-02{
    animation: slide-bottom 25s linear infinite;
}



@keyframes slide-bottom {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(-50%);
  }  
}

@keyframes slide-top {
  0% {
    transform: translateY(-50%);
  }

  100% {
    transform: translateY(0);
  }
}

@media (max-width: 767px) {
    @keyframes slide-bottom {
        0% {
            transform: translateX(0);
        }

        100% {
            transform: translateX(-50%);
        }  
    }

    @keyframes slide-top {
        0% {
            transform: translateX(-50%);
        }

        100% {
            transform: translateX(0);
        }
    }

}

.page-lp .lp_key_text.vz-02{
    padding-left: 0;
    justify-content: flex-end;
    padding-bottom: 30px;
    max-width: 825px;
}

.lp_key_text.vz-02 h2{
    margin-bottom: 50px;
    font-size: 30px;
    line-height: 170%;
    letter-spacing: 0.12em;
}

.lp_key_text.vz-02 h2 strong{
    font-size: 48px;
    color: #e6c300;
}

.inner.vz-02{
    max-width: 1620px;
}

.p-mv__list--01{
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
}

.p-mv__list--02,
.p-mv__list--01 li {
    border-radius: 5px;
}

.p-mv__list--01 li{
    background: #fff;
    width: 176px;
    height: 176px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    font-size: 20px;
    font-weight: 700;
    position: relative;
    padding-bottom: 35px;
}

.p-mv__list--01 li::before{
    content: "";
    position: absolute;
    top: 15px;
    left: 50%;
    width: 102px;
    height: 76px;
    transform: translateX(-50%);
    background: url(../images/mv_icon01.png) no-repeat center;
    background-size: contain;
}

.p-mv__list--01 li.vz-02::before{
    background-image: url(../images/mv_icon02.png);
}

.p-mv__list--01 li.vz-03::before{
    background-image: url(../images/mv_icon03.png);
}

.p-mv__list--01 li.vz-04::before{
    background-image: url(../images/mv_icon04.png);
}

.p-mv__list--01 li::after{
    content: "";
    position: absolute;
    bottom: 20px;
    left: 50%;
    width: 40px;
    height: 3px;
    transform: translateX(-50%);
    background: #0176bf;
}

.p-mv__list--02{
    display: flex;
    background: #FFF;
    max-width: 750px;
    padding: 30px 15px;
    gap: 10px;
}

.p-mv__list--02 li{
    /* width: calc((100% - 20.01px) / 3);*/
    position: relative;
    padding-right: 10px;
}

.p-mv__list--02 li .cont{
    position: relative;
    padding-left: 85px; 
}

.p-mv__list--02 li::after{
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background: #CCC;
    width: 1px;
    height: calc(100% - 20px);
}

.p-mv__list--02 li:last-child{
    padding-right: 0;
}

.p-mv__list--02 li:last-child::after{
    content: none;
}

.p-mv__list--02 li .cont::before{
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 77px;
    height: 62px;
    background: url(../images/mv_icon05.jpg) no-repeat center;
    background-size: contain;
}

.p-mv__list--02 li.vz-02 .cont::before{
    background-image: url(../images/mv_icon06.jpg) ;
}

.p-mv__list--02 li.vz-03 .cont::before{
    background-image: url(../images/mv_icon07.jpg) ;
}

.p-mv__list--02 li .title{
    font-size: 52px;
    color: #0176bf;  
    font-weight: 700; 
    background: linear-gradient(transparent 80%, rgba(230, 195, 0,0.5) 60%); 
    display: inline;
}

.p-mv__list--02 li .title strong{
    font-size: 16px;
}

.p-mv__list--02 li .desc{
    font-size: 18px;
    font-weight: 400;
}

.p-mv__list--02 p{
    margin-bottom: 0;
    line-height: 150%;
    font-weight: 600;
}

.p-mv__list--02 .head{
    text-align: center;
    font-size: 18px;
}

.p-btn__tel a{
    background: url(../images/tel-bg01.jpg) repeat center;
    background-size: contain;
    display: flex;
    align-items: center;
    width: 420px;
    height: 110px;
    border-radius: 10px;
    text-decoration: none;
    padding: 0 30px;
}

.p-btn__tel a .btn{
    position: relative;
    padding-left: 72px;
    padding-right: 40px;
}


.p-btn__tel a .btn::before{
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 61px;
    height: 65px;
    transform: translateY(-50%);
    background: url(../images/tel-icon01.png) no-repeat center;
    background-size: contain;
}

.p-btn__tel a .btn::after{
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 30px;
    height: 30px;
    transform: translateY(-50%);
    background: #FFF url(../images/arrow-right01.png) no-repeat center;
    background-size: 9px;
    border-radius: 100%;
}

.p-btn__tel a .btn .txt{
    color: #FFF;
    display: block;
    line-height: 130%;
}

.p-btn__tel a .btn .txt:nth-child(2){
    font-size: 35px;
}

.p-btn__tel.vz-02 a .btn::before{
    background-image: url(../images/contact-icon01.png);
}

.p-btn__tel.vz-02 a .btn .txt:nth-child(2){
    font-size: 20px;
}

.p-menu__head-fix{
    display: flex;
    align-items: center;
    gap: 15px;
}

.p-menu__advise a{
    align-items: center;
    color: #fff;
    display: flex;
    font-weight: 700;
    justify-content: center;
    padding: 0 20px;
    text-align: center;
    border-radius: 5px;
    font-size: 0.99vw;
    height: 76px;
    margin-left: 0;
    width: 15.885vw;
    overflow: hidden;
    position: relative;
    transition: all .3s ease-out;
    text-decoration: none;
    background: url(../images/tel-bg01.jpg) repeat center;
    background-size: contain;
}

.p-menu__advise a::before{
    background: url(../images/ico_arrow_yellow.svg) no-repeat 0 0;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 16px;
    margin-left: 8px;
    width: 15px;
    order: 1;
}

.p-menu__hamburger{
    width: 76px;
    height: 76px;
    background: url(../images/tel-bg01.jpg) repeat center;
    background-size: contain;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-flow: column;
    gap: 14px;
    padding: 14px;
    border-radius: 5px;
    transition: all 0.35s;
}

.p-menu__hamburger .item{
    width: 100%;
    height: 1px;
    background: #FFF;
    transition: all 0.35s;
}

.p-menu__hamburger.is-active .item:nth-child(1){
    transform: translateY(15px) rotate(45deg);
}

.p-menu__hamburger.is-active .item:nth-child(2){
    opacity: 0;
}

.p-menu__hamburger.is-active .item:nth-child(3){
    transform: translateY(-15px) rotate(-45deg);
}

.p-drawer{
    position: fixed;
    z-index: 50;
    background: #FFF;
    padding: 50px;
    opacity: 0;
    pointer-events: none;
    width: 100%;
    max-width: 700px;
    top: 102px;
    right: 10px;
    box-shadow: -3px 3px 6px 1px rgb(0 0 0 / 20%);
    border-radius: 5px;
    transition: all 0.35s;
}

.p-drawer.is-open{
    opacity: 1;
    pointer-events: all;
}

.p-drawer__menu{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.p-drawer__menu li a{
    text-decoration: none;
    color: #0e295e;
    font-weight: 500;
    position: relative;    
    padding-left: 22px;
}

.p-drawer__menu li a::before{
    content: "";
    position: absolute;
    top: 7px;
    left: 0;
    width: 10px;
    height: 10px;
    border-radius: 100%;
    background: #0e295e;
}

.u-anchor-offset{
    display: block;
    position: relative;
    top: -100px;
    width: 100%;
    visibility: hidden;
}

.page-lp .lp_idx02_head.vz-02::after{
    background-image: url(../images/result_icon01.png);
    height: 312px;
    background-size: contain;
}

.p_header__inner{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 50;
    transition: all 0.35s;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 15px;
}

.p_header__inner.active,.p_header__inner.is-active{
    background: rgba(1, 118, 191, 0.7);
    padding: 8px;
}

.p_header__inner.active .lp_logo,.p_header__inner.is-active .lp_logo{
    top: 0;
    left: 0;
}

.page-lp .lp_logo{
    position: relative;
    transition: all 0.35s;
    top: 0;
    left: 0;
}

.page-lp .lp_logo::before{
    content: "九州版";
    position: absolute;
    top: 50%;
    right: -110px;
    background: #fff;
    color: #0176bf;
    font-size: 22px;
    padding: 5px 15px;
    border-radius: 40px;
    transform: translateY(-50%);
    font-weight: 700;
}

.page-lp .p_header__inner.active .lp_logo {
    max-width: 200px;
}

.p_header__inner.active .p-menu__advise a{
    height: 50px;
    width: 230px;
    font-size: 16px;
    padding: 0 10px;
}

.p_header__inner.active .p-menu__head-fix{
    gap: 10px;
}

.p_header__inner.active .p-menu__hamburger{
    width: 50px;
    height: 50px;
    gap: 7px;
    padding: 10px;
}

.p_header__inner.active .p-menu__hamburger.is-active .item:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

.p_header__inner.active .p-menu__hamburger.is-active .item:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}

.p_header__inner.active .p-header__menu li a{
    height: 50px;
}

.p_header__inner.active .p-header__menu li a::before{
    height: calc(100% - 30px);
}

.p_header__inner.active .p_header__outst a{
    height: 50px;
}

.p_header__inner.active .p_header__outst a::before{
    width: 2vw;
    height: 2vw;
}

.p_header__inner.is-active.active + .p-drawer {
    top: 76px;
}

.under .lp_idx02_main, .page-lp .lp_idx02_main {
    padding: 171px 0 120px 0;
}

.p-voide__slide .title-01, .p-voide__slide .title-02 {
    font-size: 20px;
    font-weight: 700;
    line-height: 150%;
}

.cta__banner--01{
    margin-top: 20px;
    margin-bottom: 20px;
}

.cta__banner--01 img{
    width: 100%;
}

.cta__banner--02{
    background: #FFF;
    border-radius: 20px;
    padding: 15px 50px;
}

.cta__banner--head{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-bottom: 10px;
}

.cta__banner--title{
    border-left: #CCC solid 1px;
    padding-left: 20px;
}

.cta__banner--img img{
    width: 140px;
}

.cta__banner--title{
    font-size: 20px;
    font-weight: 700;
}

.cta__banner--slide--item{
    border: #CCC solid 1px;
    border-radius: 8px;
}

.cta__banner--slide .slick-slide{
    margin: 0 7px;
}

.cta__banner--slide--item a{
    display: block;
    padding: 10px;
}

.cta__banner--slide--item img{
    border-radius: 8px;
    width: 100%;
}

.cta__banner--slide .slick-dots li{
    width: 12px;
    height: 12px;
}

.cta__banner--slide .slick-dots li.slick-active button{
    background: #0064a2;
}

.cta__banner--slide .slick-dots li button{
    background: #CCC;
    border-radius: 100%;
    padding: 0;
    width: 100%;
    height: 100%;
}

.cta__banner--slide .slick-dots li button::before{
    content: none;
}

.cta__banner--slide .slick-arrow{
    background: #0176bf;
    border-radius: 100%;
    width: 35px;
    height: 35px;
    top: 46%;
}

.cta__banner--slide .slick-prev{
    left: -40px;
}

.cta__banner--slide .slick-next{
    right: -40px;
}

.page-lp .lp_idx_common_contact{
    padding-bottom: 40px;
}

.p-contact__tab{
    margin-top: 40px;
}

.p-contact__tab--list{
    display: flex;
    gap: 15px;
    border-bottom: #0176bf solid 2px;
}

.p-contact__tab--list li{
    width: calc((100% - 15.01px) / 2);
}

.p-contact__tab--list li a{
    border: #f7f6f6 solid 2px;
    border-radius: 10px 10px 0 0;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    padding: 10px;
    position: relative;
    transition: all 0.35s;
}

.p-contact__tab--list li a::before{
    content: "";
    position: absolute;
    bottom: -17px;
    left: 50%;
    transform: translateX(-50%);
    width: 20px;
    height: 15px;
    background: #0176bf;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    transition: all 0.35s;
    opacity: 0;
}

.p-contact__tab--list li a .title{
    font-size: 22px;
    color: #00528e;
    letter-spacing: 0;
    line-height: 150%;
    font-weight: 700;
    position: relative;
    display: flex;
    align-items: center;
}

.p-contact__tab--list li a .title::before{
    content: "";
    position: relative;
    margin-right: 10px;
    left: 0;
    width: 30px;
    height: 30px;
    background: url(../images/pc-icon.png) no-repeat center;
    background-size: contain;

    -webkit-mask: url(../images/pc-icon.png) center / 100% no-repeat;
    mask: url(../images/pc-icon.png) center / 100% no-repeat;
    background: #00528e;
}

.p-contact__tab--list li a .title.vz-02::before{
    -webkit-mask-image: url(../images/flow-icon.png);
    mask-image: url(../images/flow-icon.png);
}

.p-contact__tab--list li a .desc{
    color: #0176bf;
    letter-spacing: 0;
    line-height: 150%;
    font-weight: 500;
}

.p-contact__tab--list li a:hover{
    opacity: 1;
}

.p-contact__tab--list li a.active{
    background: #0176bf;
    border-color: #0176bf;
}

.p-contact__tab--list li a.active::before{
    opacity: 1;
}

.p-contact__tab--list li a.active .title{
    color: #FFF;
}

.p-contact__tab--list li a.active .title::before{
    background: #FFF;
}

.p-contact__tab--list li a.active.vz-01 .desc{
    color: #eae618;
}

.p-contact__tab--list li a.active .desc{
    color: #FFF;
}

.p-contact__tab--main--item{
    display: none;
}

.p-contact__tab--main--item.active{
    display: block;
}

.contact-form-style01 .contact-table select{
    width: 100%;
}

.contact-form-style01 .contact-table dt span.vz-02{
    background: #CCC;
}

.contact-table .ct-select .wpcf7-form-control-wrap{
    position: relative;
    z-index: 0;
}

.contact-table .ct-select .wpcf7-form-control-wrap::before{
    content: "";
    position: absolute;
    top: 50%;
    right: 25px;
    z-index: 1;
    pointer-events: none;
    transform: translateY(-50%) rotate(135deg);    
    width: 12px;
    height: 12px;
    border-right: 3px solid #0176bf;
    border-top: 3px solid #0176bf;
}

.contact-table .ct-select .wpcf7-form-control-wrap::after{
    content: "";
    position: absolute;
    top: 50%;
    right: 2px;
    width: 30px;
    height: 30px;
    background: #f7f6f6;
    transform: translateY(-50%);
}

.contact-table .ct-date .wpcf7-form-control-wrap{
    position: relative;
    z-index: 0;
}

.contact-table .ct-date .wpcf7-form-control-wrap::before{
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    background: url(../images/calendar.png) no-repeat center;
    background-size: contain;
    width: 25px;
    height: 25px;
    pointer-events: none;
}

.contact-table .ct-date .wpcf7-form-control-wrap input::-webkit-calendar-picker-indicator{
    padding: 0px 15px;
    font-size: 25px;
}

.p-footer-fix{
    position: fixed;
    bottom: 15px;
    right: 15px;
    z-index: 50;
    transition: all 0.35s;
}

.p-footer-fix a{
    text-decoration: none;
    font-size: 20px;
    width: 150px;
    height: 150px;
    display: flex;
    line-height: 140%;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #ea6286;
    color: #FFF;
    border-radius: 100%;
    position: relative;
    z-index: 0;
}

.p-footer-fix .close{
    width: 35px;
    height: 35px;
    border-radius: 5px;
    background: #ea6286;
    position: absolute;
    top: -11px;
    right: 12px;
    cursor: pointer;
    z-index: 1;
}

.p-footer-fix .close::before{
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    -webkit-mask: url(../images/icon-close.svg) center / 100% no-repeat;
    mask: url(../images/icon-close.svg) center / 100% no-repeat;
    background: #FFFFFF;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.p-footer-fix a::before{
    content: "";
    position: absolute;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    z-index: -1;
    border: #FFF solid 2px;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    border-radius: 100%;
}

.p-footer-fix li.active{
    display: none;
}

.d-flex{
    display: flex;
}

.items-center{
    align-items: center;
}

.p_header__outst a{
    height: 76px;
    background: #e6c300;
    border-radius: 5px;
    display: flex;
    align-items: center;
    margin-right: 15px;
    text-decoration: none;
    font-size: 1.302vw;
    color: #ffffff;
    padding: 0 15px;
    font-weight: 700;
}

.p_header__outst a::before{
    content: "";
    position: relative;
    width: 2.604vw;
    height: 2.604vw;
    margin-right: 0.521vw;
    background: url(../images/outst-icon.png) no-repeat center;
    background-size: contain;
}

.p-header__menu{
    margin-right: 1.563vw;
    border-radius: 5px;
    background: url(../images/tel-bg01.jpg) repeat center;
    background-size: contain;
}

.p-header__menu > li{
    position: relative;
}

.p-header__menu li a{
    height: 76px;
    display: flex;
    align-items: center;
    color: #FFF;
    font-size: 0.833vw;
    line-height: 150%;
    font-weight: 500;
    letter-spacing: 0;
    text-decoration: none;
    padding: 0 1.042vw;
    position: relative;
}

.p-header__menu > li > a::before{
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background: #FFF;
    width: 1px;
    height: calc(100% - 50px);
}

.p-header__menu li:last-child a::before{
    content: none;
}

.p-header__menu > li:hover .sub-menu{
    opacity: 1;
    pointer-events: all;
}

.p-header__menu li .sub-menu{
    opacity: 0;
    left: 0;
    top: 100%;
    position: absolute;
    transition: all 0.35s;
    pointer-events: none;
}

.p-header__menu li .sub-menu li{
    border-bottom: #FFF solid 1px;
}

.p-header__menu li .sub-menu li:last-child{
    border-bottom: 0;
}

.p-header__menu li .sub-menu li a{
    background: #0176bf;
    padding: 0 10px;
    width: 240px;
}

.u-sp{
    display: none;
}

.page-lp .lp_idx08_h3 .num{
    font-size: 150%;
}

p.p-plan__desc{
    text-align: center;
    font-size: 24px;
    line-height: 150%;
    letter-spacing: 0;
    font-weight: 700;
    color: #333;
    margin-bottom: 40px;
}

.p-launch{
    background: #e3f0fc;
    padding: 140px 0;
}

.p-launch__grid{
    background: #FFF url(../images/launch-icon01.png) no-repeat top 10px left 65px;
    background-size: 200px;
    max-width: 1600px;
    width: calc(100% - 30px);
    margin-left: auto;
    margin-right: auto;
    border-radius: 20px;
    padding: 30px 60px;
}

.p-launch__head{
    text-align: center;
    margin-bottom: 30px;
}

.p-launch__head h3{
    font-size: 30px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 140%;
    color: #04458c;
    margin-bottom: 10px;
}

.p-launch__head h3 strong{
    color: #1f1d1d;
}

.p-launch__head p{
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 140%;
    color: #1f1d1d;
}

.p-launch__list{
    gap: 20px;
}

.p-launch__list li{
    width: calc((100% - 80.01px) / 5);
    position: relative;
}

.p-launch__list li::before{
    content: "";
    position: absolute;
    top: 50%;
    right: -10px;
    transform: translateY(-50%);
    width: 0;
    height: 130px;
    border-right: #0176bf dotted 2px;
}

.p-launch__list li:last-child::before{
    content: none;
}

.p-launch__list li .img img{
    border: #0176bf solid 3px;
    border-radius: 100%;
    width: 200px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.p-launch__list li .desc{
    text-align: center;
    font-size: 20px;
    font-weight: 400;
    line-height: 150%;
    color: #19254e;
    margin-top: 10px;
}

.totop{
    display: none !important;
}

@media (max-width: 1660px) {
    .inner.vz-02{
        padding-left: 10px;
    }
    .p-mv__slide{
        width: 48vw;
    }

    .p-mv__list--01 li{
        font-size: 1.084vw;
        width: 10.602vw;
        height: 9.0361vw;
        padding-bottom: 2.108vw;
    }

    .p-mv__list--01 li::before{
        width: 6.1446vw;
        height: 4.5783vw;
        top: 0.904vw;
    }

    .p-mv__list--02 {
        max-width: 45.1807vw;
        padding: .9036vw;
        gap: .6024vw;
    }

    .p-mv__list--02 li .cont{        
        padding-left: 5.12vw;
    }

    .p-mv__list--02 li .cont::before{
        width: 4.639vw;
    }

    .p-mv__list--02 li .title{
        font-size: 3.133vw;
    }

    .p-mv__list--02 li .desc{
        font-size: .9036vw;
    }

    .p-mv__list--02 li .title strong {
        font-size: 0.972vw;
    }

    .p-mv__list--02 p{
        font-size: .9639vw;
    }

    .page-lp .lp_key_text h2 {
        font-size: 2.289vw;
     }

    .lp_key_text.vz-02{
        padding-left: .9036vw;
    }

    .p-strengths {
        padding: 0 2vw;
        margin-bottom: 6.0241vw;
    }

    .p-strengths__list {
        gap: .9036vw;
        padding: 2vw;
    }

    .p-strengths__item{
        width: calc((100% - 3.6151vw) / 5);
        padding: .9036vw;
    }

    .p-strengths__head h4{
        font-size: 1.6265vw;
        padding-top: 5.4217vw;
    }

    .p-strengths__head h4::before{
        font-size: 3.1325vw;
    }

    .p-strengths__head h4::after{
        width: 5.1807vw;
        height: 4.5783vw;
    }

    .p-voice__container{
        max-width: 86.747vw;
    }

    .p-voide__slide--item{
        gap: .9036vw;
    }

    .p-voide__slide .slick-slide{
        margin: 0 .9036vw;
    }

    .p-voice::after{
        left: 13%;
    }

    .p-plan__list{
        gap: 1.8072vw;
    }

    .p-plan__list--item h4{
        font-size: 1.4458vw;
    }

    .p-plan__list .thumb_list li{
        font-size: .9639vw;
    }

    .page-lp .lp_logo img{
        width: 200px;
    }
}

@media (max-width: 1440px) and (min-width: 1000.5px) {
    .p-faq{
        padding: 2vw;
    }
    .p-faq__gp{
        grid-template-columns: 1fr 32vw;
        gap: 2vw;
    }

    .p-faq__item--head{
        font-size: 1.5vw;
    }

    .p-faq__block{
        font-size: 1.7vw;
        padding: 2vw 2vw 2vw 9vw;
    }


    .p-faq__block::before{
        width: 6vw;
        height: 6vw;
    }

    .p-voide__slide .slick-arrow{
        width: 5vw;
        height: 5vw;
    }

    .p-voide__slide .slick-next {
        right: -4.5vw;
    }

    .p-voide__slide .slick-prev {
        left: -4.5vw;
    }

    .p-mv__list--02 li .title strong{
        font-size: 1.111vw;
    }

    .lp_key_text.vz-02 h2 strong{
        font-size: 2.778vw;
    }

    .p-mv__list--01 li::before{
        width: 5vw;
        height: 4vw;
    }

    .p-mv__list--01 li::after{
        bottom: 1.389vw;
    }

    .p-mv__list--02{
        max-width: 46.7vw;
        padding: 3vw .9036vw;
    }

    .p-mv__list--02 .head,.p-mv__list--02 li .desc {
        font-size: 1.367vw;
    }

    .p-mv__list--02 li .title {
        font-size: 3.027vw;
    }

    .page-lp .lp_key_text.vz-02{
        justify-content: center;
    }

    .p-header__menu{
        margin-right: 1vw;
    }

    .p-header__menu li a{
        font-size: 1.172vw;
        text-align: center;
    }

    .p-header__menu li a .u-sp{
        display: block;
    }

    .page-lp .lp_logo::before{
        font-size: 1.172vw;
        right: -6.348vw;
        padding: 0.488vw 0.977vw;
    }

    .p-menu__advise a{
        padding: 0 0.9vw;
        width: 14.648vw;
    }

    .p-menu__head-fix{
        gap: 0.781vw;
    }

    .p_header__outst a{
        margin-right: 1vw;
        padding: 0 0.977vw;
    }

    .p-menu__advise a::before{
        margin-left: 0.488vw;
    }

    .page-lp .lp_logo img {
        width: 17.578vw;
    }

    .p_header__inner.active .p-menu__advise a{
        padding: 0 0.9vw;
        width: 14.648vw;
        font-size: 0.99vw;
    }

    .p_header__inner.active .p-header__menu > li > a::before{
        height: calc(100% - 30px);
    }

    .p-footer-fix a {
        font-size: 1.563vw;
        width: 14.648vw;
        height: 14.648vw;
    }

    .p-launch__grid{
        padding: 2.083vw 4.167vw;
        background-size: 13.889vw;
        background-position: top 0.694vw left 4.514vw;
    }

    .p-launch__head h3{
        font-size: 2.083vw;
    }

    .p-launch__head p{
        font-size: 1.389vw;
    }

    .p-launch__list li .img img{
        width: 13.889vw;
    }

    .p-launch__list li .desc{
        font-size: 1.389vw;
    }
}

@media (max-width: 1000px) {
    .u-pc,.p_header__outst,.p-header__menu{
        display: none;
    }
    .lp_key_text.vz-02 h2 strong {
        font-size: 2.289vw;
    }
    .lp_key.vz-02{
        height: 71.6146vw;
    }

    .lp_key_text.vz-02{
        max-width: 100%;
        height: 100%;
    }

    .page-lp .lp_key_text.vz-02{
        padding-bottom: 0;
        padding-top: 10vw;
    }

    .p-mv__slide{
        gap: 2vw;
        grid-template-columns: 1fr 2.5fr;
    }

    .p-mv__list--01{
        margin-bottom: 1.302vw;
        gap: 1.302vw;
        max-width: 46vw;
        flex-wrap: wrap;
        justify-content: center;
    }

    .p-mv__list--01 li{
        height: 12vw;
        width: 15vw;
        font-size: 1.9531vw;
    }

    .p-mv__list--01 li::after{
        bottom: 10px;
    }

    .p-mv__list--02{
        flex-wrap: wrap;
        gap: 1.3021vw;
    }

    .p-mv__list--02 li{
        width: calc((100% - 1.3034vw) / 2);
    }

    .p-mv__list--02 li .desc{
        font-size: 1.8229vw;
    }

    .p-mv__list--02 p{
        font-size: 1.6927vw;
    }

    .p-mv__list--02 li .title strong{
        font-size: 1.563vw;
    }

    .p-mv__list--02 .head,.p-mv__list--02 li .desc{
        font-size: 1.693vw;
    }

    .lp_key_text.vz-02 h2{
        margin-bottom: 1.5vw;
    }

    .inner.vz-02{
        padding: 0 1.5vw;
    }

    .p-trouble__list li p{
        font-size: 1.9531vw;
    }

    .p-trouble__list li{
        padding: .651vw 1.9531vw .651vw 8.4635vw;
        min-height: 11.7188vw;
        max-width: 33vw;
        min-width: 33vw;
    }

    .p-trouble__list li::before{
        width: 5.2083vw;
        height: 5.2083vw;
        left: 1.9531vw;
    }

    .p-trouble__list.vz-01{
        align-items: flex-start;
    }

    .p-trouble__list li.vz-01,.p-trouble__list li.vz-04,.p-trouble__list li.vz-08,.p-trouble__list li.vz-05,.p-trouble__list li.vz-06{
        left: 0;
    }

    .p-trouble__img{
        padding: 0 19.5313vw;
        max-width: 100%;
    }

    .p-trouble__list.vz-02{
        align-items: flex-end;
    }

    .p-trouble__list li.vz-05{
        padding-left: 10.1563vw;
    }

    .p-trouble__list li.vz-05::before{
        width: 6.7708vw;
    }

    .p-trouble__list li.vz-06{
        padding-right: 1.9531vw;
    }

    .p-result__list{
        padding: 2.6042vw;
    }

    .p-result__item h4{
        font-size: 2.3438vw;
    }

    .p-result__item p{
        font-size: 1.9531vw;
    }

    .p-strengths__list{
        flex-wrap: wrap;
        gap: 1.3021vw;
        justify-content: center;
    }

    .p-strengths__item{
        width: calc((100% - 2.6055vw) / 3);
    }

    .p-strengths__main p{
        font-size: 15px;
    }

    .p-compa__table dl{
        grid-template-columns: 144px 208px repeat(4, 1fr) ;
    }

    .p-voide__title--en{
        font-size: 20vw;
        left: 0;
        text-align: center;
        top: -3.5156vw;
    }

    .p-voide__title--02 .title{
        font-size: 3.9063vw;
        text-align: center;
    }

    .p-voide__title--02 .desc{
        text-align: center;
        font-size: 2.6042vw;
        margin-top: .651vw;
    }

    .p-compa{
        padding-bottom: 3.9063vw;
    }

    .p-voice{
        padding: 9.1146vw 0 9.7656vw;
    }

    .p-voide__title--02 {
        margin-bottom: 3.2552vw;
    }

    .p-voide__slide .slick-arrow{
        width: 6.5104vw;
        height: 6.5104vw;
    }
    
    .p-voide__slide .slick-prev{
        left: -2.6042vw;
    }
    
    .p-voide__slide .slick-next{
        right: -2.6042vw;
    }

    .p-voice::before{
        width: 52.0833vw;
        height: 39.0625vw;
    }

    .p-voice::after{
        width: 13.6719vw;
        height: 16.5365vw;
        left: 9%;
    }

    .p-plan__list{
        gap: 1.9531vw;
        flex-wrap: wrap;
    }

    .p-plan__list--item{
        width: calc((100% - 1.9544vw) / 2);
    }

    .p-plan__list .thumb_list li{
        font-size: 1.9531vw;
    }

    .p-plan__list--item h4{
        font-size: 2.3438vw;
    }

    .p-faq__gp{
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .p-faq__gp--item:first-child{
        order: 1;
    }

    .p-faq__gp--item:last-child{
        display: grid;
    }

    .p-faq__gp--item .img{
        order: 1;
        margin-bottom: 0;
    }

    .fixed_banner{
        flex-wrap: nowrap;
        z-index: 60;
    }

    .p-banner__fix-foot a{
        background: linear-gradient(15deg, #ff4e50 35%, #f9d423);
        display: flex;
        align-items: center;
        justify-content: center;
        color: #FFF;
        text-decoration: none;
        text-align: center;
    }

    .p-menu__advise{
        display: none;
    }

    .p-drawer{
        top: 0;
        max-width: 100%;
        z-index: 49;
        padding: 110px 15px 150px;
        overflow-y: auto;
        inset: 0;
    }

    .page-lp .lp_idx_common_contact .bottom_list_btn > div{
        margin: 10px ;
    }

    .page-lp .lp_logo{
        top: 0;
        left: 0;
    }

    .p_header__inner{
        background: #0176bf;
        padding: 0 0 0 15px !important;
    }

    .p-menu__hamburger{
        width: 60px;
        height: 60px;
        gap: 10px;
    }

    .p-menu__hamburger.is-active .item:nth-child(1){
        transform: translateY(11px) rotate(45deg);
    }

    .p-menu__hamburger.is-active .item:nth-child(3) {
        transform: translateY(-11px) rotate(-45deg);
    }

    .p-footer-fix{
        bottom: 15px;        
    }

    .p-footer-fix.active{
        bottom: 65px;
    }

    .p-footer-fix a{
        font-size: 2.083vw;
        width: 19.531vw;
        height: 19.531vw;
        line-height: 140%;
    }

    .p-launch{
        padding: 60px 0;
    }

    .p-launch__grid{
        padding: 30px 15px;
        background-size: 85px;
        background-position: top 10px left -12px;
    }

    .p-launch__head h3{
        font-size: 22px;
    }

    .p-launch__head p{
        font-size: 15px;
    }

    .p-launch__list li .desc{
        font-size: 13px;
    }
}

@media only screen and (min-width: 769px) and (max-width: 1000px) {
    .page-lp .lp_idx02_main h4.title{
        padding: 0;
        font-size: 20px;
    }
   
}

@media only screen and (max-width: 768px) {
    .under .lp_idx07 .img02, .page-lp .lp_idx07 .img02 {
        margin-top: -23vw;
        margin-bottom: 20px;
    }
}

@media (max-width: 767px) {
    .u-pcs{
        display: none;
    }
    .p-trouble{
        padding-bottom: 40px;
        margin-bottom: 0;
    }   
    
    .p-trouble__grid {
        width: calc(100% - 20px);
    }

    .p-trouble__head--desc{
        font-size: 15px;
    }

    .p-trouble__list{
        width: 100%;
        flex-flow: wrap;
        gap: 5px;
    }

    .p-trouble__list li p{
        font-size: 13px;
    }

    .p-trouble__list li{
        max-width: 100%;
        width: calc((100% - 5.01px) / 2);
        margin-bottom: 0;
    }

    .p-trouble__list li::after{
        content: none;
    }

    .p-trouble__list.vz-02{
        top: auto;
        bottom: 0;
    }

    .p-trouble__img{
        padding: 85px 50px 100px;
    }

    .p-trouble__head--title strong {
        font-size: 6.5vw;
        margin-bottom: 2vw;
        display: block;
    }

    .p-strengths__list{
        gap: 10px;
        padding: 15px;
    }

    .p-strengths__item{
        width: calc((100% - 10.01px) / 2);
    }

    .p-strengths__head h4{
        font-size: 16px;
        padding-top: 32px;
    }

    .p-strengths__head h4::before{
        font-size: 20px;
        left: 22px;
    }

    .p-strengths__head h4::after {
        width: 30px;
        height: 30px;
    }

    .p-strengths__main .img img{
        height: 26.667vw;
    }

    .p-btn__tel a{
        width: 330px;
        padding: 0 10px;
    }

    .p-btn__tel a .btn {
        padding-left: 60px;
        padding-right: 35px;
    }

    .p-btn__tel a .btn::before{
        width: 40px;
        height: 40px;
    }

    .p-btn__tel a .btn .txt:nth-child(2) {
        font-size: 30px;
    }

    .p-btn__tel.vz-02 a .btn .txt:nth-child(2) {
        font-size: 18px;
    }

    .lp_key_text.vz-02 h2 strong {
        font-size: 22px;
    }

    .p-voice{
        padding-top: 60px;
    }

    .p-voice::after {
        left: 2%;
    }

    .p-voide__title--en{
        top: 30px;
    }

    .p-voide__slide--item{
        grid-template-columns: 1fr;
    }

    .p-plan__list {
        gap: 10px;
        width: calc(100% - 20px);
    }

    .p-plan__list--item{
        width: 100%;
    }

    .p-plan__list .thumb_list li{
        font-size: 15px;
    }

    .p-plan__list--item h4 {
        font-size: 16px;
    }

    .p-faq{
        padding: 15px;
    }

    .p-faq__block{
        padding: 15px 10px 15px 70px;
        font-size: 18px;
    }

    .p-faq__block::before{
        width: 50px;
        height: 50px;
        left: 10px;
    }

    .p-faq__title{
        font-size: 24px;
    }

    .p-faq__title strong::after{
        width: 70px;
        height: 39px;
    }

    .p-faq__item{
        padding: 0 20px 5px 15px;
    }

    .p-faq__item--head,.p-faq__item--desc{
        font-size: 15px;
    }

    .p-faq__item--head::after {
        right: -10px;
    }

    .p-plan__list--item .img img {
        width: 200px;
        margin-left: auto;
        margin-right: auto;
        display: block;
    }


    .p-compa{
        overflow: auto;
    }

    .p-compa__table{
        width: 760px;
    }

    .p-compa__table dl {
        grid-template-columns: 160px 208px repeat(4, 1fr) ;
    }

    .p-menu__hamburger{
        width: 60px;
        height: 60px;
        padding: 10px;
        gap: 10px;
    }

    .p-menu__advise a{
        font-size: 15px;
        height: 60px;
        width: 215px;
    }

    .p-menu__hamburger.is-active .item:nth-child(1) {
        transform: translateY(12px) rotate(45deg);
    }

    .p-menu__hamburger.is-active .item:nth-child(3) {
        transform: translateY(-12px) rotate(-45deg);
    }
    
    .p-drawer{
        padding: 90px 15px 120px;
    }

    .p-drawer__menu{
        gap: 10px;
        grid-template-columns: 1fr;
    }

    .p-drawer__menu li a{
        display: block;
        padding: 5px 5px 5px 20px
    }

    .p-drawer__menu li a::before{
        top: 10px;
    }

    .p-result__list {
        border-radius: 8px;
        margin-top: 30px;
    }

    .p-result__item h4{
        font-size: 18px;
        padding: 0 15px;
    }

    .p-result__item p{
        font-size: 15px;
    }

    .p-result__item p br {
        display: none;
    }
    
    .p-result__item{
        width: calc((100% - 10px) / 2);
    }

    .p-result__item img {
        height: 90px;
        width: auto;
        display: block;
        margin: 0 auto;
        object-fit: contain;
        image-rendering: auto;
    }

    .p-mv__slide{
        width: 100%;
        position: relative;
        grid-template-columns: 1fr;
        order: 1;
    }

    .p-mv__slide--list{
        height: auto;
        width: max-content;
        display: flex;
        gap: 1.333vw;
    }

    .p-mv__slide--list.vz-01{
        animation: initial;
    }

    .p-mv__slide--list.vz-01 li{
        width: 24vw;
    }

    .p-mv__slide--list.vz-02{
        animation: initial;
    }

    .p-mv__slide--list.vz-02 li{
        width: 32.533vw;
    }

    .p-mv__list--01{
        max-width: 80%;
        gap: 15px;
        margin-bottom: 15px;
        margin-left: auto;
        margin-right: auto;
    }

    .p-mv__list--01 li{
        width: calc((100% - 15.01px) / 2);
        height: 140px;
        font-size: 15px;
    }

    .p-mv__list--01 li::before {
        width: 50px;
        height: 37px;
        top: 20px;
    }

    .p-mv__list--02{
        max-width: 375px;
        margin-left: auto;
        margin-right: auto;
        justify-content: center;
    }

    .p-mv__list--02 p{
        font-size: 14px;
    }

    .p-mv__list--02 p.head{
        margin-bottom: -5px;
    }

    .p-mv__list--02 li .cont{
        padding-left: 40px;
    }

    .p-mv__list--02 li .cont::before {
        width: 37px;
    }

    .p-mv__list--02 li .desc{
        padding-left: 40px;
    }

    .p-mv__list--02 li .title{
        font-size: 24px;
    }

    .p-mv__list--02 li .title strong {
        font-size: 16px;
    }

    .p-mv__list--02 .head, .p-mv__list--02 li .desc {
        font-size: 14px;
    }

    .p-mv__list--02 li:nth-child(2)::after{
        content: none;
    }

    .p-mv__list--02 li:last-child {
        border-top: 1px solid #CCC;
    }

    .lp_key.vz-02{
        display: grid;
        height: auto;
        padding-bottom: 15px;
    }

    .lp_key_text.vz-02{
        padding: 110px 0 0;
    }

    .inner.vz-02{
        width: 100%;
        margin-bottom: 15px;
    }

    .page-lp .lp_key_text h2 {
        font-size: 17px;
        letter-spacing: 0.01em;
    }

    .page-lp .lp_key_text.vz-02{
        padding-top: 80px;
    }

    .p-strengths__list {
    gap: 5px;
    padding: 0;
    background: transparent;
  }
  .p-strengths__item {
    padding: 8px;
    border-radius: 8px;
  }
  .p-strengths__main p {
    font-size: 13px;
    line-height: 155%;
    text-align: justify;
    margin-top: 8px;
  }
  .p-strengths__main .img img {
    border-radius: 5px;
  }
  .p-strengths {
    margin-bottom: 9.0241vw;
  }
 
  .p-compa__table dl dt,
  .p-compa__table dl dd {
    padding: 15px 7px;
  }
  .p-plan__list .thumb_list li {
    font-size: 14px;
    padding: 6px 15px;
    min-width: 65px;
  }

  .p-menu__hamburger {
    border-radius: 0;
  }
  .p_header__inner {
    padding: 0 0 0 10px !important;
  }
  .p-drawer__menu li a {
    display: block;
    padding: 5px 5px 5px 15px;
  }
  .p-drawer__menu li a::before {
    top: 14px;
    width: 5px;
    height: 5px;
  }
  .page-lp .lp_logo img {
    max-width: 80%;
  }

  .p-mv__list--01 li{
    padding-bottom: 35px;
  }

  .p-mv__list--01 li::after{
    bottom: 20px;
  }

  .cta__banner--02{
    padding: 10px 35px;
    border-radius: 10px;
  }

  .cta__banner--slide .slick-slide {
    margin: 0 3px;
    }

  .cta__banner--slide .slick-arrow{
    width: 25px;
    height: 25px;
  }

  .cta__banner--slide .slick-arrow::before{
    font-size: 14px;
  }

  .cta__banner--slide .slick-prev{
    left: -30px;
  }

    .cta__banner--slide .slick-next {
        right: -30px;
    }
    .cta__banner--slide .slick-dots li {
        width: 10px;
        height: 10px;
    }

    .cta__banner--title{
        font-size: 14px;
    }

    .cta__banner--slide--item{
        border-radius: 10px;
    }

    .cta__banner--slide--item img{
        border-radius: 10px;
    }

    .page-lp .lp_logo::before{
        right: -40px;
        font-size: 16px;
    }

    .p-contact__tab--list{
        gap: 10px;
    }

    .p-contact__tab--list li a{
        padding: 5px;
    }

    .p-contact__tab--list li a .title{
        font-size: 17px;
    }

    .p-contact__tab--list li a .title::before{
        margin-right: 5px;
    }

    .contact-table .ct-date .wpcf7-form-control-wrap::before{
        width: 20px;
        height: 20px;
    }

    .p-voide__slide--block:last-child{
        max-height: 240px;
    }

    .p-voide__slide .slick-dots li{
        width: 20px;
        height: 4px;
    }

    .p-faq__title strong::after {
        width: 38px;
        height: 25px;
        top: 9px;
    }

    .p-faq__block::before {
        width: 40px;
        height: 40px;
        left: 15px;
    }

    .p-faq__gp--item .img img{
        width: 160px;
        display: block;
        margin: 14px auto 0;
    }

    .page-lp .lp_idx_scroll a {
        display: none;
    }

    .p-compa__table dl .title::before{
        width: 25px;
        height: 25px;
    }

    .contact-form-style01 .contact-table .ct-select select{
        height: 56px;
    }

    .p-footer-fix a{
        font-size: 3.733vw;   
        width: 29.333vw;
        height: 29.333vw;
    }

    .p-footer-fix .close{
        width: 7vw;
        height: 7vw;
    }

    .p-footer-fix .close::before{
        width: 3.2vw;
        height: 3.2vw;
    }

    .p-launch__list{
        flex-wrap: wrap;
        justify-content: center;
    }

    .p-launch__list li{
        width: calc((100% - 40.01px) / 3);
    }

    .p-launch__list li:nth-child(3)::before{
        content: none;
    }

    .p-launch__list li .img img{
        border-width: 2px;
    }
}

@media (max-width: 480px) {
    .inner.vz-02 {
        padding: 0 10px;
    }
}

@media (max-width: 370px) {
    .p-btn__tel a{
        width: 100%;
    }

    .page-lp .lp_idx_common_contact .bottom_list_btn > div{
        margin: 10px 0;
    }

    .page-lp .lp_idx_common_contact .bottom_h3{
        font-size: 7.027vw;
    }

    .p-btn__tel a .btn .txt:nth-child(2){
        font-size: 7.5vw;
    }

    .p-btn__tel a .btn{
        padding-left: 13vw;
        padding-right: 9.459vw;
    }
    .p-btn__tel.vz-02 a .btn .txt:nth-child(2){
        font-size: 4.865vw;
    }

    .p-btn__tel a .btn::before{
        width: 10.938vw;
    }

    .p-btn__tel a .btn .txt{
        font-size: 3.438vw;
    }

    .p-btn__tel a .btn::after{
        width: 7.813vw;
        height: 7.813vw;
    }

    .page-lp .lp_idx04_h3{
        font-size: 6.875vw;
    }

    .p-voice::after{
        left: 0;
    }

    .p-faq {
        padding: 10px;
    }

    .p-faq__title strong{
        padding-right: 21.875vw;
    }

    .p-faq__title strong::after{
        width: 17.1875vw;
    }

    .p-faq__item {
        padding: 0 10px 5px;
    }

    .p-faq__item--head{
        padding-left: 8.4375vw;
        padding-right: 4.6875vw;
    }

    .p-faq__item--head, .p-faq__item--desc {
        font-size: 4.0625vw;
    }

    .p-faq__block{
        padding: 4.6875vw 1.5625vw 1.5rem 15.625vw;
        font-size: 4.6875vw;
    }

    .p-faq__block::before{
        width: 12.5vw;
        height: 12.5vw;
    }    
}