/*============================
mv
============================*/
.mv{
    background:url(../img/img_mv.jpg) no-repeat;
    background-size: cover;
    background-position: bottom;
    position: relative;
    padding:12vw 0;
}
.mv-sub{
    width:100%;
    text-align: center;
    position: absolute;
    top:0;
    left:0;
    font-size:2.4rem;
    color:#43a66b;
    background: rgba(255,255,255,.85);
    padding:.3em;
}
.mv-copy{
    font-size: 5.0rem;
    line-height: 1.5;
    font-weight: 600;
    margin-bottom:50px;
}
.mv-copy span{
    font-size: 7.2rem;
}
@media (max-width: 1024px){
    .mv-sub{
        font-size:2.2vw;
    }
    .mv-copy{
        font-size: 4.883vw;
        margin-bottom:4.883vw;
    }
    .mv-copy span{
        font-size: 7.031vw;
    }
}
@media (max-width: 768px){
    .mv{
        background:url(../img/img_mv_sp.png) no-repeat;
        background-size: contain;
        padding:20vw 0 12vw;
    }
    .mv-sub{
        font-size:3.7vw;
    }
    .mv-copy{
        font-size: 6.4vw;
        line-height: 1.6;
        margin-bottom:5vw;
        text-shadow:
            0 0 5px #fff,
            0 0 10px #fff,
            0 0 20px #fff,
            0 0 40px #fff;
            }
    .mv-copy span{
        font-size: 9.333vw;
    }
}

/*============================
お悩み
============================*/
.issue-ttl{
    font-size: 5.0rem;
    line-height: 1.3;
    text-align: center;
}
.issue-wrap{
    margin:60px 0 80px;
}
.issue-top{
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin-bottom:50px;
}
.issue-top>*{
    width:calc(100%/3);
}
.issue-top p,
.issue-center p{
    font-size: 2.3rem;
    text-align: center;
    font-weight: 600;
}
.top-2.issue-image{
    flex:1 1 295px;
    max-width:295px;
}
.issue-center{
    display: flex;
    justify-content: space-around;
    padding:0 20%;
    margin-bottom:60px;
    gap:1em;
}
.issue-bottom{
    display: flex;
    justify-content: space-around;
    gap:1em;
}
.issue-bottom p{
    font-size: 3.0rem;
    text-align: center;
    font-weight: 600;
}
.plan-list{
    max-width:660px;
    margin:0 auto 60px;
}
@media (max-width: 1024px){
    .issue-ttl{
        font-size: 4.883vw;
    }
    .issue-wrap{
        margin:5.859vw 0 7.813vw;
    }
    .issue-top{
        margin-bottom:4.883vw;
    }
    .issue-top p,
    .issue-center p{
        font-size: 2.246vw;
    }
    .top-2.issue-image{
        flex:1 1 28.809vw;
        max-width:28.809vw;
    }
    .issue-center{
        margin-bottom:5.859vw;
    }
    .issue-bottom p{
        font-size: 2.7vw;
    }
    .plan-list{
        max-width:64.453vw;
        margin:0 auto 60px;
    }
}
@media (max-width: 768px){
    .issue-ttl{
        font-size: 8vw;
    }
    .issue-wrap{
        margin:5vw 0 5vw;
    }
    .issue-top{
        margin-bottom:5vw;
        flex-wrap: wrap;
    }
    .top-1{order:1;}
    .top-2{order:3;}
    .top-3{order:2;}
    .issue-top>*{
        width:auto;
    }
    .issue-top p,
    .issue-center p{
        font-size: 4.2vw;
        width:50%;
    }
    .top-2.issue-image{
        flex:0 0 50%;
        max-width:initial;
    }
    .issue-center{
        padding:0;
        margin-bottom:5vw;
    }
    .issue-bottom p{
        font-size: 4.2vw;
    }
    .plan-list{
        max-width:176vw;
        margin:0 auto 15vw;
    }
}


/*============================
会員サービス
============================*/
.member-nav-wrap{
    background: #fbe8e4;
    border-radius:30px;
    padding:50px 35px;
}
.member-nav-ttl{
    font-size: 5.0rem;
    line-height: 1.3;
    color: #e4644c;
    text-align: center;
    margin-bottom:30px;
}
.member-nav-ttl span{
    display: inline-block;
}
.member-nav-list{
    display: flex;
    flex-wrap: wrap;
    gap:10px 40px;
    padding:1.5em 2em 1.5em 2em;
    background: #fff;
    border-radius:30px;
    margin-bottom:40px;
}
.member-nav-list li{
    padding-left:1.8em;
    font-size: 2.4rem;
    line-height: 1.3;
    font-weight: 600;
    position: relative;
}
.member-nav-list li:nth-child(odd){
    width:calc(55% - 40px);
}
.member-nav-list li:nth-child(even){
    width: 45%;
}
.member-nav-list li::before{
    position: absolute;
    content:'';
    display: inline-block;
    background: url(../img/icon_check.svg) no-repeat;
    background-size: 100%;
    width:33px;
    height:21px;
    left:0;
    top:.1em
}
.member-nav-list li span{
    display: inline-block;
}
.member-nav-list li .txt-s{
    font-size: 1.7rem;
}
@media (max-width: 1024px){
    .member-nav-wrap{
        border-radius:2.93vw;
        padding:5vw 3vw;
    }
    .member-nav-ttl{
        font-size: 4.883vw;
        margin-bottom:2.93vw;
    }
    .member-nav-list{
        gap:0.977vw 3.906vw;
        border-radius:2.93vw;
        margin-bottom:3.906vw;
    }
    .member-nav-list li{
        font-size: 2.344vw;
    }
    .member-nav-list li:nth-child(odd){
        width:calc(57% - 3.906vw);
    }
    .member-nav-list li:nth-child(even){
        width: 43%;
    }
    .member-nav-list li::before{
        width:3.223vw;
        height:2.051vw;
    }
    .member-nav-list li .txt-s{
        font-size: 1.66vw;
    }
}
@media (max-width: 768px){
    .member-nav-wrap{
        border-radius:8vw;
        padding:7vw 5vw;
    }
    .member-nav-ttl{
        font-size: 8vw;
        margin-bottom:5vw;
    }
    .member-nav-list{
        gap:4vw 0;
        padding:1.5em 1em 1.5em 1em;
        border-radius:8vw;
        margin-bottom:7vw;
    }
    .member-nav-list li{
        font-size: 4.6vw;
    }
    .member-nav-list li:nth-child(odd){
        width:100%;
    }
    .member-nav-list li:nth-child(even){
        width:100%;
    }
    .member-nav-list li::before{
        width:6.667vw;
        height:4.267vw;
    }
    .member-nav-list li .txt-s{
        font-size: 3.7vw;
    }
}

/*============================
2つのプラン
============================*/
.plans-wrap{
    display: flex;
}
.plans-item{
    width:50%;
    text-align: center;
    padding:40px 35px 50px;
    display: flex;
    flex-direction: column;
}
.plans-item.guarantee{
    background: #f2f9f5;
    border-radius: 30px 0 0 30px;
}
.plans-ttl{
    font-size: 5.0rem;
    line-height: 1.4;
    margin-bottom:.2em;
    font-weight: 600;
}
.plans-ttl span{
    display: inline-block;
}
.plans-item.preparation{
    background: #fbf1f6;
    border-radius: 0 30px 30px 0;
}
.plans-txt{
    font-size: 3.0rem;
    line-height: 1.4;
    flex-grow: 1;
}
.plans-txt span{
    display: inline-block;
}
.plans-box{
    font-size: 2.6rem;
    background: #fff;
    padding:.7em;
    border-radius: 20px;
    margin:1em 0 1.5em;
}
.plans-box .txt-b{
    font-size: 3.2rem;
    font-weight: 600;
}
.plans-box span{
    display: inline-block;
}
@media (max-width: 1024px){
    .plans-item{
        padding:3.906vw 3.418vw 4.883vw;
    }
    .plans-item.guarantee{
        border-radius: 2.93vw 0 0 2.93vw;
    }
    .plans-ttl{
        font-size: 4.688vw;
    }
    .plans-item.preparation{
        border-radius: 0 2.93vw 2.93vw 0;
    }
    .plans-txt{
        font-size: 2.93vw;
    }
    .plans-box{
        font-size: 2.246vw;
        border-radius: 1.953vw;
    }
    .plans-box .txt-b{
        font-size: 2.637vw;
    }
}

@media (max-width: 768px){
    .plans-wrap{
        flex-wrap: wrap;
    }
    .plans-item{
        width:100%;
        padding:7vw 5vw 7vw;
    }
    .plans-item.guarantee{
        border-radius: 8vw 8vw 0 0;
    }
    .plans-ttl{
        font-size: 8vw;
    }
    .plans-item.preparation{
        border-radius: 0 0 8vw 8vw;
    }
    .plans-txt{
        font-size: 5.3vw;
    }
    .plans-box{
        font-size: 4.3vw;
        border-radius: 5.3vw;
    }
    .plans-box .txt-b{
        font-size: 5.3vw;
    }
}


/*============================
会員様へのサービス
============================*/
.member{
    background: #fbe8e4;
    padding:100px 0;
}
.member-list{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top:50px;
}
.member-item{
    width:calc((100% - 30px)/2);
    margin-bottom:30px;
    background: #fff;
    border-radius: 30px;
    padding:20px;
}
.member-top{
    display: flex;
    align-items: center;
    margin-bottom:15px;
}
.member-image{
    flex: 0 0 110px;
}
.member-ttl{
    flex: 1 1 auto;
    margin-left:1em;
    font-size: 2.4rem;
    color: #e4644c;
    font-weight: 600;
}
.member-ttl .txt-s{
    font-size: 1.7rem;
}
.member-ttl span{
    display: inline-block;
}
.member .txt{
    font-size: 1.8rem;
    padding-left: 1em;
    text-indent: -1em;
    font-family: "Noto Sans JP", sans-serif;
}
.member-place{
    background: #fff;
    border-radius: 30px;
    padding:30px;
}
.member-flex{
    display: flex;
    align-items: center;
    justify-content: center;
}
.member-first{
    font-size:3.0rem;
    line-height: 1;
    width: 250px;
    background: #43a66b;
    color:#fff;
    clip-path: polygon(
    0% 0%,90% 0%,100% 50%,90% 100%,0% 100%);
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding:.4em .4em .4em 1.3em;
}
.member-first .num{
    font-size:5.6rem;
}
.member-first .yen{
    font-size:3.8rem;
}
.member-fee{
    font-size:5.4rem;
    font-weight: 600;
    margin:0 0 .2em .2em;
}
.member-fee span{
    font-size:8.0rem;
    display: inline-block;
    padding:0 .2em;
}
.member-txt{
    font-size: 2.4rem;
    text-align: center;
    font-weight: 600;
}
@media (max-width: 1024px){
    .member{
        padding:9.766vw 0;
    }
    .member-list{
        margin-top:7vw;
    }
    .member-item{
        width:100%;
        margin-bottom:2.93vw;
        border-radius: 2.93vw;
        padding:1.953vw;
    }
    .member-top{
        margin-bottom:1.465vw;
    }
    .member-image{
        flex: 0 0 9.766vw;
    }
    .member-ttl{
        font-size: 2.344vw;
    }
    .member-ttl .txt-s{
        font-size: 1.66vw;
    }
    .member .txt{
        font-size: 1.758vw;
    }
    .member-place{
        border-radius: 2.93vw;
        padding:2.93vw;
    }
    .member-first{
        font-size:2.93vw;
        width: 24.414vw;
    }
    .member-first .num{
        font-size:5.469vw;
    }
    .member-first .yen{
        font-size:3.711vw;
    }
    .member-fee{
        font-size:5.273vw;
    }
    .member-fee span{
        font-size:7.813vw;
    }
    .member-txt{
        font-size: 2.344vw;
    }
}
@media (max-width: 768px){
    .member{
        padding:15vw 0;
    }
    .member-list{
        margin-top:7vw;
    }
    .member-item{
        width:100%;
        margin-bottom:5vw;
        border-radius:8vw;
        padding:5vw;
    }
    .member-top{
        flex-wrap: wrap;
        margin-bottom:3vw;
    }
    .member-image{
        flex: 0 0 29vw;
        margin:0 auto 3vw;
    }
    .member-ttl{
        margin-left:0;
        font-size:5.8vw;
        text-align: center;
    }
    .member-ttl .txt-s{
        font-size:4.2vw;
    }
    .member .txt{
        font-size:4.2vw;
    }
    .member-place{
        border-radius:8vw;
        padding:5vw;
    }
    .member-flex{
        flex-wrap: wrap;
    }
    .member-first{
        font-size:6.4vw;
        width:100%;
        clip-path: polygon(
        0% 0%,100% 0%,100% 80%,50% 100%,0% 80%);
        padding:.4em .4em 1em .4em;
        text-align: center;
    }
    .member-first .num{
        font-size:10.6vw;
    }
    .member-first .yen{
        font-size:7.4vw;
    }
    .member-fee{
        font-size:8vw;
        line-height: 1.4;
    }
    .member-fee span{
        font-size:16vw;
        padding:0 .1em;
    }
    .member-txt{
        font-size:4.8vw;
    }
}

/*===========================================
よりそう身元保証プラン & ていねい身じたくプラン 共通
============================================*/
.plan-read{
    display: flex;
}
.plan.guarantee .plan-read{
    border:2px solid #43a66b;
    border-radius: 32px;
}
.plan.preparation .plan-read{
    border:2px solid #d974a9;
    border-radius: 32px;
}
.plan-read-left{
    line-height: 1.8;
    width:50%;
    display: flex;
    align-items: center;
    padding:30px;
    border-radius: 30px 0 0 30px;
    clip-path: polygon(0% 0%,95% 0%,100% 50%,95% 100%,0% 100%);
}
.read-image{
    width:114px;
    height:114px;
    background: #ffffff;
    border-radius: 50%;
    flex-shrink: 0;
}
.read-txt{
    color:#fff;
    text-align: center;
    font-size: 2.3rem;
    font-weight: 400;
}
.read-txt .txt-b{
    font-weight: 600;
}
.read-txt span{
    display: inline-block;
}
.plan-read-right{
    display: flex;
    justify-content: center;
    flex-direction: column;
    flex: 1;
    padding:30px;
}
.plan-read-right ul li{
    font-size: 1.8rem;
    line-height: 2;
    padding-left: 1em;
    text-indent: -1em;
}
.plan-image{
    margin:50px auto 80px;
}

/* サービス ---- */
.service{
    padding:80px 0;
}
.service+.service{
    margin-top:4px;
}
.plan.guarantee .service{
    background:#f2f9f5;
}
.plan.preparation .service{
    background:#fbf1f6;
}
.service-flex{
    display: flex;
    gap:4%;
}
.service-image{
    width:24.5%;
}
.service-image img{
    border-radius: 20px;
    margin:0 auto;
}
.service-image.wide{
    width:25.5%;
}
.service-list{
    background: #fff;
    border-radius: 25px;
    padding:1.5em;
    margin-top:40px;
    width:100%;
    display: flex;
    flex-direction: column;
}
.service-list li{
    font-size: 1.8rem;
    line-height: 1.8;
    font-family: "Noto Sans JP", sans-serif;
    text-indent: -1em;
    padding-left:1em;
}
.service-body{
    flex: 1;
}
.service-item+.service-item{
    margin-top:2em;
}
.service-ttl{
    font-size: 3.8rem;
    font-weight: 600;
    margin-bottom:.3em
}
.plan.guarantee .service-ttl{
    color: #43a66b;
    border-bottom:2px solid #43a66b;
}
.plan.preparation .service-ttl{
    color: #d974a9;
    border-bottom:2px solid #d974a9;
}
.service-txt{
    font-size: 2.4rem;
}

/* accordion ---- */
.service-read{
    font-size: 3.0rem;
    font-weight: 700;
    text-align: center;
    margin:50px 0 40px;
}
.accordion-ttl{
    font-size: 3.2rem;
    color: #fff;
    text-align: center;
    padding:.2em;
    border-radius:20px;
    position: relative;
    cursor: pointer;
}
.plan.guarantee .accordion-ttl{
    background: #43a66b;
}
.plan.preparation .accordion-ttl{
    background: #d974a9;
}
.icon-toggle{
    position: absolute;
    right: 1em;
    top: 50%;
    transform: translateY(-50%);
    display: inline-block;
    width: 35px;
    height: 35px;
    background: #fff;
    border-radius: 50%;
}
.icon-toggle::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 20px;
    height: 1px;
    border-radius: 2px;
    transform: translate(-50%, -50%);
}
.plan.guarantee .icon-toggle::before{
    background: #43a66b;
}
.plan.preparation .icon-toggle::before{
    background: #d974a9
}
.icon-toggle::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 1px;
    height: 20px;
    border-radius: 2px;
    transform: translate(-50%, -50%);
    transition: opacity 0.2s ease;
}
.plan.guarantee .icon-toggle::after{
    background: #43a66b;
}
.plan.preparation .icon-toggle::after{
    background: #d974a9
}
.accordion-ttl.active .icon-toggle::after {
    opacity:0;
}
.accordion-con{
    display: none;
}
.life-support-wrap{
    display: flex;
    justify-content: space-between;
    gap:2px;
    margin:10px 0 20px;
}
.life-support-con{
    width:calc(100%/3);
    background: #fff;
    padding:2em;
}
.life-support-con:first-child{
    border-radius:25px 0 0 25px;
}
.life-support-con:last-child{
    border-radius:0 25px 25px 0;
}
.service-cat{
    font-size: 2.2rem;
    text-align: center;
    margin-bottom:.5em
}
.life-support-wrap ul li{
    font-size: 1.8rem;
    line-height: 1.8;
    text-indent: -1em;
    padding-left:1em;
}
.life-support-wrap ul li span:not(.col-pk):not(.col-gr){
    display: inline;
}

/* 価格表 ---- */
.price-wrap{
    margin-top:40px;
    border-radius:22px;
}
.price-wrap:first-of-type{
    margin-top:0;
}
.plan.guarantee .price-wrap{
    border:2px solid #43a66b;
}
.plan.preparation .price-wrap{
    border:2px solid #d974a9;
}
.price-ttl{
    font-size: 3.2rem;
    color:#fff;
    padding:.2em 1em;
    text-align: center;
    border-radius:20px 20px 0 0;
}
.plan.guarantee .price-ttl{
    background: #43a66b;
}
.plan.preparation .price-ttl{
    background: #d974a9;
}
.price-flex{
    display: flex;
}
.price-item{
    background: #fff;
    width:100%;
    text-align: center;
    padding:1em .5em;
    position: relative;
    display: flex;
    flex-direction: column;
}
.price-flex .price-item{
    width:calc(100%/4);
}
.plan.guarantee .price-flex .price-item:nth-child(1)::after,
.plan.guarantee .price-flex .price-item:nth-child(2)::after{
    position: absolute;
    content:'';
    background: url(../img/icon_plus_gr.svg) no-repeat;
    background-size: 100%;
    width:34px;
    height:34px;
    right:-17px;
    bottom:19%;
    z-index: 1;
}
.plan.preparation .price-flex .price-item:nth-child(1)::after,
.plan.preparation .price-flex .price-item:nth-child(2)::after{
    position: absolute;
    content:'';
    background: url(../img/icon_plus_pk.svg) no-repeat;
    background-size: 100%;
    width:34px;
    height:34px;
    right:-17px;
    bottom:19%;
    z-index: 1;
}
.price-ttl+.price-item{
    border-radius:0 0 20px 20px;
}
.price-flex .price-item:first-of-type{
    border-radius:0 0 0 20px;
}
.price-flex .price-item:last-of-type{
    border-radius:0 0 20px 0;
}
.plan.guarantee .price-flex .price-item+.price-item{
    border-left:2px solid #43a66b;
}
.plan.preparation .price-flex .price-item+.price-item{
    border-left:2px solid #d974a9;
}
.price-wrap .txt{
    font-size: 2.2rem;
    flex-grow: 1;
}
.price-wrap .txt span{
    display: inline-block;
}
.price-wrap .price{
    font-size: 4.0rem;
    font-weight: 600;
}
.plan.guarantee .price{
    color: #43a66b;
}
.plan.preparation .price{
    color: #d974a9;
}
.price-wrap .price span{
    font-size: 2.0rem;
}
.price-note{
    margin-top:1em;
    font-size: 1.8rem;
    font-family: "Noto Sans JP", sans-serif;
}
@media (max-width:1024px){
    .plan.guarantee .plan-read{
        border-radius:3.125vw;
    }
    .plan.preparation .plan-read{
        border-radius:3.125vw;
    }
    .plan-read-left{
        padding:2.93vw;
        border-radius:2.93vw 0 0 2.93vw;
        flex-wrap:wrap;
    }
    .read-image{
        width:11.133vw;
        height:11.133vw;
        margin:0 auto;
    }
    .read-txt{
        font-size:2.246vw;
        margin-left:0;
    }
    .plan-read-right{
        padding:2.93vw;
    }
    .plan-read-right ul li{
        font-size:1.758vw;
    }
    .plan-image{
        margin:4.883vw auto 7.813vw;
    }
    .service{
        padding:7.813vw 0;
    }
    .service+.service{
        margin-top:0.391vw;
    }
    .service-image img{
        border-radius:1.953vw;
    }
    .service-list{
        border-radius:2.441vw;
        margin-top:3.906vw;
    }
    .service-list li{
        font-size:1.758vw;
    }
    .service-ttl{
        font-size:3.125vw;
    }
    .service-txt{
        font-size:2.344vw;
    }
    .service-read{
        font-size:2.93vw;
        margin:4.883vw 0 3.906vw;
    }
    .accordion-ttl{
        font-size:3.125vw;
        border-radius:1.953vw;
    }
    .icon-toggle{
        width:3.418vw;
        height:3.418vw;
    }
    .icon-toggle::before{
        width:1.953vw;
        height:0.098vw;
    }
    .icon-toggle::after{
        width:0.098vw;
        height:1.953vw;
    }
    .life-support-wrap{
        gap:0.195vw;
        margin:0.977vw 0 1.953vw;
    }
    .life-support-con{
        padding:1.5em;
    }
    .life-support-con:first-child{
        border-radius:2.441vw 0 0 2.441vw;
    }
    .life-support-con:last-child{
        border-radius:0 2.441vw 2.441vw 0;
    }
    .service-cat{
        font-size:2.148vw;
    }
    .life-support-wrap ul li{
        font-size:1.758vw;
    }
    .price-wrap{
        margin-top:3.906vw;
        border-radius:2.148vw;
    }
    .price-ttl{
        font-size:3.125vw;
        border-radius:1.953vw 1.953vw 0 0;
    }
    .plan.guarantee .price-flex .price-item:nth-child(1)::after,
    .plan.guarantee .price-flex .price-item:nth-child(2)::after,
    .plan.preparation .price-flex .price-item:nth-child(1)::after,
    .plan.preparation .price-flex .price-item:nth-child(2)::after{
        width:3.32vw;
        height:3.32vw;
        right:-1.66vw;
    }
    .price-ttl+.price-item{
        border-radius:0 0 1.953vw 1.953vw;
    }
    .price-flex .price-item:first-of-type{
        border-radius:0 0 0 1.953vw;
    }
    .price-flex .price-item:last-of-type{
        border-radius:0 0 1.953vw 0;
    }
    .price-wrap .txt{
        font-size:2.148vw;
    }
    .price-wrap .price{
        font-size:3.2vw;
    }
    .price-wrap .price span{
        font-size:1.953vw;
    }
    .price-note{
        font-size:1.758vw;
    }
}
@media (max-width: 768px){
    .plan-read{
        flex-wrap: wrap;
    }
    .plan.guarantee .plan-read{
        border-radius: 8.5vw;
    }
    .plan.preparation .plan-read{
        border-radius: 8.5vw;
    }
    .plan-read-left{
        width:100%;
        padding:5vw 5vw 10vw 5vw;
        border-radius: 8vw 8vw 0 0;
        clip-path: polygon(0% 0%,100% 0%,100% 90%,50% 100%,0% 90%);
    }
    .read-image{
        width:30vw;
        height:30vw;
        margin:0 auto 3vw;
    }
    .read-txt{
        font-size: 4.8vw;
    }
    .plan-read-right{
        padding:5vw;
    }
    .plan-read-right ul li{
        font-size: 4.2vw;
        line-height: 1.8;
    }
    .plan-image{
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        margin:5vw auto 7vw;
    }
    .plan-image p{
        width: 170vw;
        margin: 0;
        margin:10vw 0 0;
    }
    .plan-image img{
        width: 100%;
        height: auto;
        display: block;
    }
    .scroll{
        position: relative;
        text-align: right;
        margin-bottom:10vw;
        font-size: 3.7vw;
    }
    .plan.guarantee .scroll::before{
        content: '';
        display: inline-block;
        width:5vw;
        height:5vw;
        background: url(../img/icon_arrow_en_gr.svg) no-repeat;
        background-size: 100%;
        vertical-align: -.4em;
        margin-right:.5em
    }
    .plan.preparation .scroll::before{
        content: '';
        display: inline-block;
        width:5vw;
        height:5vw;
        background: url(../img/icon_arrow_en_pk.svg) no-repeat;
        background-size: 100%;
        vertical-align: -.4em;
        margin-right:.5em
    }

    /* サービス ---- */
    .service{
        padding:15vw 0;
    }
    .service+.service{
        margin-top:1vw;
    }
    .service-flex{
        flex-wrap: wrap;
        gap:7vw;
    }
    .reverse{
        flex-direction: column-reverse;
    }
    .service-image{
        width:100%;
    }
    .service-image img{
		width:65%;
        border-radius: 5.3vw;
    }
    .service-image.wide{
        width:100%;
    }
    .service-list{
        border-radius: 6.6vw;
        padding:1.5em;
        margin-top:10vw;
        width:100%;
    }
    .service-list li{
        font-size: 4.2vw;
    }
    .service-ttl{
        font-size: 6.4vw;
        line-height: 1.4;
    }
    .service-txt{
        font-size: 4.8vw;
    }

    /* accordion ---- */
    .service-read{
        font-size: 5.8vw;
        margin:7vw 0 7vw;
    }
    .accordion-ttl{
        font-size: 5.8vw;
        padding:.5em;
        border-radius:4vw;
    }
    .icon-toggle{
        right: .5em;
        width: 6.6vw;
        height: 6.6vw;
    }
    .icon-toggle::before {
        width: 4vw;
        height:1px;
        border-radius: 1vw;
    }
    .icon-toggle::after {
        width: 1px;
        height: 4vw;
        border-radius: 1vw;
    }
    .life-support-wrap{
        flex-wrap: wrap;
        gap:1vw;
        margin:3vw 0 3vw;
    }
    .life-support-con{
        width:100%;
        padding:5vw;
    }
    .life-support-con:first-child{
        border-radius:4vw 4vw 0 0;
    }
    .life-support-con:last-child{
        border-radius:0 0 4vw 4vw;
    }
    .service-cat{
        font-size: 5.8vw;
        margin-bottom:.5em
    }
    .life-support-wrap ul li{
        font-size: 4.2vw;
    }

    /* 価格表 ---- */
    .price-wrap{
        margin-top:5vw;
        border-radius:5.8vw;
    }
    .price-ttl{
        font-size: 5.8vw;
        padding:.5em 1em;
        border-radius:5.3vw 5.3vw 0 0;
    }
    .price-flex{
        flex-wrap: wrap;
    }
    .price-flex .price-item{
        width:100%;
    }
    .plan.guarantee .price-flex .price-item:nth-child(1)::after,
    .plan.guarantee .price-flex .price-item:nth-child(2)::after{
        width:6.6vw;
        height:6.6vw;
        right:0;
        left:0;
        margin:auto;
        bottom:-3.6vw;
    }
    .plan.preparation .price-flex .price-item:nth-child(1)::after,
    .plan.preparation .price-flex .price-item:nth-child(2)::after{
        width:6.6vw;
        height:6.6vw;
        right:0;
        left:0;
        margin:auto;
        bottom:-3.6vw;
    }
    .price-ttl+.price-item{
        border-radius:0 0 5.3vw 5.3vw;
    }
    .price-flex .price-item:first-of-type{
        border-radius:0 0 0 0;
    }
    .price-flex .price-item:last-of-type{
        border-radius:0 0 5.3vw 5.3vw;
    }
    .plan.guarantee .price-flex .price-item+.price-item{
        border-left:none;
        border-top:2px solid #43a66b;
    }
    .plan.preparation .price-flex .price-item+.price-item{
        border-left:none;
        border-top:2px solid #d974a9;
    }
    .price-wrap .txt{
        font-size: 4.8vw;
    }
    .price-wrap .price{
        font-size: 8vw;
    }
    .price-wrap .price span{
        font-size: 4.8vw;
    }
    .price-note{
        margin-top:.5em;
        font-size: 3.7vw;
    }
}

/*============================
よりそう身元保証プラン
============================*/
.service-free{
    background: #e4644c;
    color: #fff;
    border-radius:30px;
    padding:2em 1.9em;
    margin-top:1.5em;
}
.free-ttl{
    font-size: 2.6rem;
    margin-bottom:.5em;
    text-align: center;
}
.service-free .txt-note{
    font-size: 1.2rem;
}
/* 定期面談サービス ---- */
.service-box-flex{
    display: flex;
    gap:20px;
}
.box-ttl{
    font-size: 1.8rem;
    text-align: center;
    margin-bottom:.5em;
    flex-grow: 1;
}
.box-ttl.space{
    letter-spacing: -0.05em;
}
@media (max-width: 1024px){
    .service-free{
        border-radius:2.93vw;
        padding:1.5em 1.5em;
    }
    .free-ttl{
        font-size: 2.539vw;
    }
    .service-free .txt-note{
        font-size: 1.172vw;
    }
    /* 定期面談サービス ---- */
    .service-box-flex{
        gap:1.953vw;
    }
    .box-ttl{
        font-size: 1.758vw;
    }
}
@media (max-width: 768px){
    .service-free{
        border-radius:8vw;
        padding:5vw;
    }
    .free-ttl{
        font-size: 5.3vw;
        letter-spacing: -0.02em;
    }
    .service-free .txt-note{
        font-size: 3.2vw;
    }
    /* 定期面談サービス ---- */
    .service-box-flex{
        flex-wrap: wrap;
        gap:0;
    }
    .box-ttl{
        font-size: 4.8vw;
    }
    .service-box-flex .service-list{
        margin-top:5vw;
    }
}

/*============================
ていねい身じたくプラン
============================*/
.read-item+.read-item{
    margin-top:1em;
}
.read-item span{
    font-size: 2.0rem;
    font-weight: 600;
    background: #d974a9;
    color:#fff;
    padding:.05em .8em;
    border-radius: 1em;
    display: inline-block;
    margin-bottom:.2em;
}
.plan.preparation .plan-read-left{
    width:48%;
}
/* 手続き作業一覧 ---- */
.task-list{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.task-list p{
    width:calc((100% - 20px*4)/5);
    font-size: 2.2rem;
    padding:.5em .5em;
    color:#d974a9;
    background: #fff;
    border-radius: 20px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin-top:20px;
}
.task-list p span{
    font-size: 1.8rem;
}
/* 預託金について ---- */
.deposit{
    background: #fff;
    border-radius: 30px;
    padding:30px 40px;
    text-align: center;
    margin-top:60px;
}
.deposit-ttl{
    font-size: 2.6rem;
    color: #d974a9;
    margin-bottom:.5em;
}
.deposit-txt{
    font-family: "Noto Sans JP", sans-serif;
}
.deposit-ex{
    background: #d974a9;
    border-radius: 30px;
    padding:1.3em;
    margin-top:1.5em;
}
.deposit-ex-ttl{
    font-size: 2.6rem;
    color: #fff;
    margin-bottom:.4em;
}
.deposit-ex-list span{
    color: #fff;
    line-height: 2;
}
.deposit-ex-list span+span{
    margin-left:2em;
}
/* 後見開始前のプラン作成 & 定期面談サービス ---- */
.service-list-ttl{
    font-size:2.2rem;
    text-align: center;
    color: #d974a9;
    margin-bottom:.3em;
}
.service-list-flex{
    display: flex;
    flex-wrap: wrap;
    gap:0 30px;
}
.service-list-flex li{
    width:calc((100% - 30px)/2);
}
.service-list-flex li .txt-s{
    font-size: 1.3rem;
}
/* 終活ワンストップネットワーク ---- */
.profile-wrap{
    display: flex;
    margin:60px 0 50px;
    background: #fff;
    border-radius: 20px;
}
.profile-body{
    flex: 1;
    border-radius: 20px 0 0 20px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding:40px;
}
.profile-image{
    width:24.5%;
    position: relative;
    overflow: hidden;
}
.profile-image img {
    position: absolute;
    top:0;
    right:0;
    bottom:auto;
    margin: auto;
    height: 100%;
    object-fit: cover;
}
.profile-image img{
    border-radius: 0 20px 20px 0;
}
.profile-txt{
    font-size: 2.3rem;
    margin-bottom:.4em;
}
.profile-txt .tag{
    color: #d974a9;
    display: inline-block;
    border-radius: 10px;
    border:1px solid #d974a9;
    background: #fff;
    width:142px;
    text-align: center;
    margin-right:.5em
}
.profile-wrap .txt{
    font-size: 2.0rem;
    line-height: 1.8;
}
.profile-wrap .txt+.profile-txt{
    margin-top:1em;
}

.network-wrap{
    display: flex;
    gap:30px;
}
.network-image{
    width:calc(50% - 30px);
}
.network-body{
    flex: 1;
}
.network-list{
    display: flex;
    flex-wrap: wrap;
    gap:20px;
    margin-bottom:1em;
}
.network-item{
    background: #d974a9;
    text-align: center;
    color: #fff;
    width:calc((100% - 20px)/2);
    padding:1em;
    border-radius: 25px;
}
.network-ttl{
    font-size: 2.0rem;
    margin-bottom:.3em;
}
.network-txt{
    font-family: "Noto Sans JP", sans-serif;
}
@media (max-width:1024px){
	.read-item span{
		font-size:1.953vw;
	}
	.task-list p{
		width:calc((100% - 1.953vw*3)/4);
		font-size:1.953vw;
		border-radius:1.953vw;
		margin-top:1.953vw;
	}
	.task-list p span{
		font-size:1.758vw;
	}
	.deposit{
		border-radius:2.93vw;
		padding:2.93vw;
		margin-top:5.859vw;
	}
	.deposit-ttl{
		font-size:2.539vw;
	}
	.deposit-ex{
		border-radius:2.93vw;
	}
	.deposit-ex-ttl{
		font-size:2.539vw;
	}
	.service-list-ttl{
		font-size:2vw;
	}
	.service-list-flex{
		gap:0 2.93vw;
	}
	.service-list-flex li{
		width:calc((100% - 2.93vw)/2);
	}
	.service-list-flex li .txt-s{
		font-size:1.27vw;
	}
	.profile-wrap{
		margin:5.859vw 0 4.883vw;
	}
	.profile-body{
		border-radius:1.953vw 0 0 1.953vw;
		padding:3.906vw;
	}
	.profile-image{
		width:30%;
	}
	.profile-image img{
		border-radius:0 1.953vw 1.953vw 0;
	}
	.profile-txt{
		font-size:2.246vw;
	}
	.profile-txt .tag{
		display:block;
		border-radius:0.977vw;
		width:13.867vw;
		margin-bottom:.5em;
	}
	.profile-wrap .txt{
		font-size:1.953vw;
	}
	.network-wrap{
		flex-wrap:wrap;
		gap:2.93vw;
	}
	.network-image{
		width:80%;
		margin:0 auto;
	}
	.network-body{
		flex:none;
		width:100%;
	}
	.network-list{
		gap:1.953vw;
	}
	.network-item{
		width:calc((100% - 1.953vw)/2);
		border-radius:2.441vw;
	}
	.network-ttl{
		font-size:1.953vw;
	}
}
@media (max-width:768px){
	.read-item span{
		font-size:4.2vw;
	}
	.plan.preparation .plan-read-left{
		width:100%;
	}
	.task-list p{
		width:calc((100% - 3vw)/2);
		font-size:4.2vw;
		border-radius:4vw;
		margin-top:3vw;
	}
	.task-list p span{
		font-size:3.7vw;
	}
	.deposit{
		border-radius:8vw;
		padding:5vw;
		margin-top:10vw;
	}
	.deposit-ttl{
		font-size:5.8vw;
	}
	.deposit-ex{
		border-radius:8vw;
	}
	.deposit-ex-ttl{
		font-size:5.3vw;
	}
	.deposit-ex-list span+span{
		margin-left:1em;
	}
	.service-list-ttl{
		font-size:5.3vw;
	}
	.service-list-flex{
		gap:0;
	}
	.service-list-flex li{
		width:100%;
	}
	.service-list-flex li:nth-child(odd){
		margin-top:3vw;
	}
	.service-list-flex li:nth-child(even){
		margin-left:1em;
	}
	.service-list-flex li .txt-s{
		font-size:3.4vw;
	}
	.profile-wrap{
		margin:7vw 0 10vw;
		flex-direction:column-reverse;
	}
	.profile-body{
		width:100%;
		padding:2vw 5vw 5vw;
	}
	.profile-image{
		width:60%;
		margin:0 auto;
		padding:5vw;
		overflow:visible;
	}
	.profile-image img{
		position:static;
		height:auto;
		object-fit:contain;
		border-radius:0;
	}
	.profile-txt{
		font-size:4.8vw;
	}
	.profile-txt .tag{
		border-radius:2.6vw;
		width:38vw;
	}
	.profile-wrap .txt{
		font-size:4vw;
	}
	.network-wrap{
		gap:5vw;
	}
	.network-image{
		width:100%;
	}
	.network-list{
		gap:3vw;
	}
	.network-item{
		width:calc((100% - 3vw)/2);
		border-radius:6.6vw;
	}
	.network-ttl{
		font-size:4.8vw;
		line-height:1.4;
	}
}

/*============================
cta
============================*/
.cta .cont-inn-s{
    border: 2px solid #e4644c;
    border-radius: 30px;
    padding:60px;
}
.cta-read{
    font-size: 3.8rem;
    text-align: center;
    line-height: 1.8;
}
.cta-wrap{
    display: flex;
    align-items: center;
    justify-content: center;
}
.cta-arrow{
    font-size: 2.4rem;
    width: 250px;
    background: #e4644c;
    color:#fff;
    clip-path: polygon(
    0% 0%,90% 0%,100% 50%,90% 100%,0% 100%);
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding:.7em .7em .7em 1.3em;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
}
.cta-txt{
    font-size: 2.4rem;
    line-height: 1.2;
    margin-left:1.5em;
    margin:40px 0 60px 1.5em;
    font-family: "Noto Sans JP", sans-serif;
}
.cta-tel{
    font-size: 6.8rem;
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 700;
}
.cta .btn-cta{
    margin:0 auto;
}
@media (max-width:1024px){
	.cta .cont-inn-s{
		border-radius:2.93vw;
		padding:5.859vw;
	}
	.cta-read{
		font-size:3.711vw;
	}
	.cta-arrow{
		font-size:2.344vw;
		width:24.414vw;
	}
	.cta-txt{
		font-size:2.3vw;
		margin:3.906vw 0 5.859vw 1.5em;
	}
	.cta-tel{
		font-size:6.641vw;
	}
}
@media (max-width:768px){
	.cta .cont-inn-s{
		border-radius:8vw;
		padding:5vw;
	}
	.cta-read{
		font-size:5.3vw;
		line-height:1.6;
		margin-bottom:3vw;
	}
	.cta-wrap{
		flex-wrap:wrap;
	}
	.cta-arrow{
		font-size:5.3vw;
		width:100%;
		clip-path:polygon(0% 0%,100% 0%,100% 80%,50% 100%,0% 80%);
		padding:.5em .5em 1em;
		text-align:center;
	}
	.cta-txt{
		font-size:4.2vw;
		margin:5vw 0 7vw;
		text-align:center;
	}
	.cta-tel{
		font-size:10.6vw;
	}
}

/*============================
お役立ちコンテンツ
============================*/
.useful{
    background: #f7f7f2;
    padding:100px 0;
}
.useful-list{
    margin-bottom:60px;
    font-family: "Noto Sans JP", sans-serif;
}
.useful-list li a{
    display: block;
    display: flex;
    align-items: center;
    gap:20px;
    border-bottom:1px solid #dadada;
    padding:1.8em 0;
}
.useful-list li a:first-child{
    border-top:1px solid #dadada;
}
.useful-date{
    font-size: 1.8rem;
    font-weight: 700;
}
.useful-tag{
    background: #43a66b;
    border-radius: 1em;
    color: #fff;
    padding:0 1em;
    font-weight: 700;
    flex-shrink: 0;
}
.useful-txt{
    font-weight: 400;
}
.useful .btn-link::after{
    transform: rotate(0deg);
}
@media (max-width:768px){
	.useful{
		padding:15vw 0;
	}
	.useful-list{
		margin-bottom:7vw;
	}
	.useful-list li a{
		gap:3vw 5vw;
		padding:1.5em 0;
		flex-wrap:wrap;
	}
	.useful-date{
		font-size:4.8vw;
	}
	.useful-txt{
		width:100%;
	}
}

/*============================
終活お役立ち情報メール
============================*/
.mail-benefits{
    text-align: center;
    background: url(../img/bg_mail.jpg) no-repeat;
    background-size: cover;
		background-position: top center;
    margin:0;
    padding:100px 0;
}
.mail-ttl{
    font-size: 3.4rem;
}
.mail-ttl span{
    font-size: 5.0rem;
}
.mail-read{
    font-size: 2.3rem;
    margin:40px 0 60px;
    font-family: "Noto Sans JP", sans-serif;
}
.mail-read span{
    display: inline-block;
}
.mail-btns{
    display: flex;
    justify-content: space-between;
}
a.mail-btn{
    display: block;
    width:calc((100% - 6%)/2);
    background: #e4644c;
    font-size: 3.0rem;
    color: #fff;
    padding:.9em .9em .9em 76px;
    border-radius: 999px;
    position: relative;
}
.mail-btn span:not(.tag){
    display: inline-block;
}
.mail-btn.line{
    background: #05c755;
}
.mail-btn .tag{
    position: absolute;
    top:-.3em;
    left:.3em;
    color: #493731;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom:.5em;
    width:76px;
    height:100px;
    background: #ffe545;
    clip-path: polygon(0 0,100% 0,100% 100%,50% 80%,0 100%);
}
@media (max-width:1024px){
	.mail-benefits{
		padding:9.766vw 0;
		
	}
	.mail-ttl{
		font-size:3.32vw;
	}
	.mail-ttl span{
		font-size:4.883vw;
	}
	.mail-read{
		font-size:2.246vw;
		margin:3.906vw 0 5.859vw;
	}
	a.mail-btn{
		font-size:2.539vw;
		padding:.9em .9em .9em 7.422vw;
	}
	.mail-btn .tag{
		width:7.422vw;
		height:9.766vw;
	}
}
@media (max-width:768px){
	.mail-benefits{
		padding:15vw 0;
	}
	.mail-ttl{
		font-size:6.4vw;
		line-height:1.4;
	}
	.mail-ttl span{
		font-size:8vw;
	}
	.mail-read{
		font-size:4.8vw;
		margin:5vw 0 10vw;
	}
	.mail-btns{
		flex-wrap:wrap;
		gap:7vw;
	}
	a.mail-btn{
		width:100%;
		font-size:4.8vw;
		padding:.9em .9em .9em 55px;
	}
	.mail-btn .tag{
		left:1em;
		width:11vw;
		height:14.6vw;
	}
}

/*============================
無料相談・お問い合わせ
============================*/
.p-contact__form-wrapper {
    max-width: 800px;
    margin: 0 auto;
}
.cf7-row {
    display: flex;
    flex-wrap: wrap;
    padding: 20px 0;
    border-bottom: 1px solid #eee;
}
.cf7-label {
    display: flex;
    align-items: center;
    width: 250px;
    margin-right: 20px;
    flex-shrink: 0;
	font-size: 1.8rem;
}
.badge {
    margin-left: 10px;
    padding: 2px 8px;
    font-size: 1.4rem;
    border-radius: 3px;
    color: #fff;
    white-space: nowrap;
}
.badge.required { background: #e4644c; }
.badge.optional { background: #999; }
.cf7-field {
    flex: 1;
    min-width: 0;
}
.cf7-field input {
	font-size: 1.8rem;
    width: 100%;
    padding: 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
}
.cf7-submit-wrap{
	margin-top: 50px;
}
.wpcf7 input:focus,
.wpcf7 textarea:focus {
    border-color: #43a66b;
    outline: none;
}

@media screen and (max-width: 768px) {
    .cf7-row {
        flex-direction: column;
		padding: 3vw 0;
    }
    .cf7-label {
        width: 100%;
        margin-right: 0;
        margin-bottom: 2.667vw;
		font-size: 4.8vw;
    }
	.badge {
		margin-left: 2.667vw;
		padding: 0.533vw 2.133vw;
		font-size: 3.733vw;
		border-radius: 0.8vw;
	}
    .cf7-field {
        width: 100%;
    }
	.cf7-field input {
		font-size: 4.8vw;
		width: 100%;
		padding: 3.2vw;
		border-radius: 1.067vw;
	}
	.cf7-submit-wrap{
		margin-top: 13.333vw;
	}
}