@charset "utf-8";

.l-inner{
    max-width: 1200px;
}

/*******************************
*common
*******************************/
.text-color-main{
    color: #5057DB;
}

.text-color-w{
    color: #fff;
}

.bg-color-main{
    background-color: #5057DB;
}

.bg-color-sub{
    background-color: #EFF0FF;
}

.bg-color-w{
    background-color: #fff;
}

.bg-color-yellow{
    background-color: #E6FF00;
}

.check-icon{
    color: #5057DB;
}

.text-deco-border{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 0.75rem;
    font-size: 1.125rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.5;
}

.text-deco-border::before,
.text-deco-border::after {
    content: '';
    width: 3px;
    height: 40px;
}

.text-deco-border::before {
    transform: rotate(-35deg);
    margin-right: 30px;
}

.text-deco-border::after {
    transform: rotate(35deg);
    margin-left: 30px;
}

.text-deco-ten{
    position: relative;
    text-align: center;
}

.text-deco-ten::before,
.text-deco-ten::after{
    content: '"';
    position: absolute;
    font-size: 1rem;
}

.text-deco-ten::before{
    top: 0;
    left: 0;
}

.text-deco-ten::after{
    right: 0;
    bottom: 0;
}

.btn:hover{
    opacity: 0.8;
}

.btn::after{
    content: '';
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);

    position: absolute;
    right: 25px;
    top: 50%;
    margin-top: -6px;
}

.btn.soudan{
    background-color: #FF4E01;
}

.btn.shiryo{
    background-color: #42AF42;
}

@media (max-width: 767px) {
    main .p-entry__body > div:not(.hero, .irai) {
        padding-block: 3.4375rem;
    }
}


/*******************************
*hero
*******************************/
.hero{
    position: relative;
    background-image: url(../img/lp/partner/hero-bg.jpg);
    background-size: cover;
}

.hero-header .logo{
    padding: 1rem;
    background-color: #fff;
    text-align: center;
}

.hero-header .logo img{
    max-width: 250px;
}

.hero-header .text{
    padding: 1.25rem;
    font-size: 1.375rem;
    line-height: 1.25;
    text-align: center;
}

.hero > .visual{
    position: relative;
    background-image: url(../img/lp/partner/hero-img-pc.png);
    background-repeat: no-repeat;
    background-position: right 0;
    background-size: auto;
}

.hero > .visual .text{
    margin-left: 140px;
    padding-block: 3.375rem;
    width: 760px;
    text-align: center;
}

.hero > .visual .text .ttl{
    margin-bottom: 1.5rem;
}

.hero > .visual .text .work{
    margin-bottom: 1.5rem;
}

.hero > .visual .text .point{
    margin-bottom: 2.5rem;
}

.hero > .visual .btn-box{
    display: flex;
    gap: 20px;
}

.hero > .visual .btn-box > a{
    flex: 1 0 calc(50% - 10px);
    border-radius: 15px;
}

@media (max-width: 1700px) {
    .hero > .visual{
        background-image: linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8)),
        url(../img/lp/partner/hero-img-pc.png);
    }
    .hero > .visual .text{
        margin-inline: auto;
    }
}

@media (max-width: 1200px) {
    .hero > .visual .text{
        padding-block: 2.5rem;
        width: 580px;
        height: calc(100svh - 143px);
    }
}

@media (max-width: 767px) {
    .hero > .visual .text{
        max-width: 580px;
        width: 100%;
        padding-inline: 1.25rem;
    }
}

@media (max-width: 580px) {
    .hero-header .text{
        font-size: 1rem;
    }
    .hero > .visual .text{
        height: auto;
        padding-block: 1.25rem;
    }
    .hero > .visual .btn-box{
        flex-direction: column;
        gap: 10px;
    }
}

@media (max-width: 480px) {
    .hero > .visual .btn-box > a{
        font-size: 1rem;
        padding-block: 0.75rem;
    }
}


/*******************************
*cta
*******************************/
.cta{
    position: relative;
    padding-block: 6.875rem;
    color: #fff;
    background-image: url(../img/lp/partner/cta-bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}

.cta div.flex-box > div{
    flex: 1 0 calc(50% - 20px);
}

.cta .text1{
    font-size: 2.75rem;
    line-height: 1.25;
}

.cta .btn{
    border-radius: 10px;
}

.cta .btn-box{
    gap: 20px;
    align-items: flex-end;
}

.cta .btn-box .btn{
    width: 100%;
    max-width: 500px;
}

.cta2 div.flex-box{
    gap: 40px;
}

.cta2 p.text1{
    margin-bottom: 2rem;
    font-size: 2rem;
}

.cta2 div.flex-box > div{
    padding: 2.5rem 2.5rem;
}

.cta2 .soudan{
    background-color: #FF4E01;
}

.cta2 .shiryo{
    background-color: #42AF42;
}

.cta2 div.flex-box > div .icon{
    margin-bottom: 1rem;
}

.cta2 div.flex-box > div .text{
    font-size: 1.25rem;
}

.cta2 .btn{
    background-color: #fff;
}

.cta2 .soudan .btn::after{
    border-color: #ff5a00;
}

.cta2 .shiryo .btn::after{
    border-color: #42AF42;
}

.cta2 .soudan .btn{
    color: #FF4E01 !important;
}

.cta2 .shiryo .btn{
    color: #42AF42 !important;
}

.cta.irai{
    background-image: url(../img/lp/partner/cta-irai-bg.jpg);
}

.cta.irai div.flex-box{
    background-color: #fff;
    padding: 4rem;
    gap: 40px;
    align-items: flex-end;
    box-shadow: 6px 10px 10px -6px rgba(0, 0, 0, 0.3);
}

.cta.irai div.flex-box > div:first-child{
    padding: 3rem;
    background-color: #EBEBEB;
}

.cta.irai div.flex-box > div .text{
    width: fit-content;
    margin-inline: auto;
    margin-bottom: 1rem;
    color: #000;
    font-size: 1.25rem;
    line-height: 1.5;
}

.cta.irai div.flex-box > div .text1{
    font-size: 2rem;
    line-height: 1.5;
}

.cta.irai div.flex-box > div .text1 > span{
    padding: 0 0.5rem;
}

.cta.irai .speech-bubble{
	position: absolute;
    width: 100%;
    top: -40px;
	left: 0;
	box-sizing: border-box;
}

.cta.irai .speech-bubble > div{
    max-width: 600px;
    padding: 0.5rem 3rem;
    margin-inline: auto;
    color: #000;
    font-size: 1.75rem;
	font-weight: 700;
    color: #fff;
    text-align: center;
    background-color: #5057DB;
    border-radius: 50px;
}

.cta.irai .speech-bubble > div::after{
    content: '';
    position: absolute;
    left: 50%;
    bottom: -25px;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 20px;
    background-color: #5057DB;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

@media (max-width: 1200px) {
    .cta .text1{
        font-size: 2.5rem;
    }
    .cta.irai div.flex-box > div:first-child{
        padding: 2rem;
    }
    .cta.irai div.flex-box > div .text1{
        font-size: 1.5rem;
    }
    .cta.irai div.flex-box > div .text{
        font-size: 1rem;
        margin-bottom: 0.5rem;
    }
}

@media (max-width: 960px) {
    .cta div.flex-box{
        flex-direction: column;
        gap: 30px;
    }
    .cta .text1 br{
        display: none;
    }
    .cta .btn-box{
        align-items: center;
    }
    .cta.irai div.flex-box > div .text1{
        text-align: center;
    }
    .cta div.flex-box > div{
        width: 100%;
    }
    .cta.irai .btn.soudan{
        max-width: 500px;
        margin-inline: auto;
    }
}

@media (max-width: 767px) {
    .cta2 div.flex-box{
        flex-direction: column;
    }
    .cta2 p.text1{
        font-size: 1.625rem;
    }
    .cta.irai .speech-bubble > div{
        padding-inline: 2rem;
        font-size: 1.25rem;
    }
}

@media (max-width: 480px) {
    .cta div.flex-box{
        gap: 20px;
    }

    .cta.irai div.flex-box{
        padding: 1.75rem;
        gap: 20px;
    }
    .cta.irai div.flex-box > div:first-child{
        padding: 1.25rem;
    }
}


/*******************************
*jirei
*******************************/
.jirei{
    padding-block: 6.25rem;
}

.jirei .text1{
    margin-bottom: 1.75rem;
    font-size: 2rem;
    text-align: center;
}

.jirei .text2{
    margin-bottom: 2rem;
    font-size: 2rem;
    text-align: center;
}

.jirei .text2 > span{
    display: inline-block;
    padding: 0.5rem 0.5rem;
    line-height: 1.0;
}

.jirei .card-container{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
}

.jirei .card-item{
    width: 390px;
    background-color: #F3F4FF;
    box-shadow: 6px 10px 10px -6px rgba(0, 0, 0, 0.3);
}

.jirei .card-item .ttl{
    margin-bottom: 1.5rem;
    font-size: 1.25rem;
    text-align: center;
}

.jirei .card-body{
    gap: 0;
}

.jirei .card-body .text{
    width: 100%;
    padding: 1.5rem;
}

.jirei .card-item .noki{
    padding: 1rem 1rem;
    margin-bottom: 1.25rem;
    font-size: 1.375rem;
    text-align: center;
    line-height: 1.25rem;
    border: 1px solid #5057DB;
    border-radius: 50px;
}

.jirei .card-item dl{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px 15px;
    margin-bottom: 0;
}

.jirei .card-item dl dt{
    width: 100px;
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    font-weight: 500;
    text-align: center;
    line-height: 1.25;
}

.jirei .card-item dl dd{
    flex: 1 0 calc(100% - 115px);
    margin-bottom: 0;
    font-size: 0.9375rem;
    line-height: 1.25;
}

@media (max-width: 1350px){
    .jirei .card-item{
        width: calc(33.333% - 10px);
    }
    .jirei .card-body .img{
        padding-inline: 1.5rem;
    }
    .jirei .card-item .ttl{
        font-size: 1.125rem;
    }
    .jirei .card-item .noki{
        font-size: 1.125rem;
    }
}

@media (max-width: 960px){
    .jirei .card-item{
        width: calc(50% - 10px);
    }
}

@media (max-width: 767px){
    .jirei .text1{
        font-size: 1.625rem;
    }
    .jirei .text2{
        font-size: 1.625rem;
        line-height: 1.75;
    }
}

@media (max-width: 640px){
    .jirei .card-item{
        width: 100%;
    }
    .jirei .card-item dl dt{
        width: 100%;
    }
    .jirei .card-item dl dd{
        text-align: center;
    }
}

@media (max-width: 640px){
    .jirei .card-container{
        gap: 25px;
    }
}


/*******************************
*review
*******************************/
.review{
    padding-block: 6.25rem;
    background-image: url(../img/lp/partner/review-bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}

.review .text1{
    margin-bottom: 3rem;
    font-size: 1.75rem;
    text-align: center;
    line-height: 1.5;
}

.review .text1 > div{
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 10px;
}

.review .text1 > div::after{
    content: 'は';
}

.review .text1 > span{
    display: inline-block;
    padding: 0.25rem 0.5rem;
    line-height: 1.0;
}

.review .text1 > span:not(:first-of-type){
    margin-left: 0.5rem;
}

.review .img-box{
    gap: 40px;
    margin-bottom: 3rem;
}

.review .card-container{
    grid-template-columns: repeat(3, 1fr);
}

.review .card-item{
    position: relative;
    border-radius: 15px;
    box-shadow: 6px 10px 10px -6px rgba(0, 0, 0, 0.3);
}

.review .text-deco-ten{
    margin-bottom: 1rem;
    padding: 1rem 0;
    font-size: 1.5rem;
    line-height: 1.25;
}

.review .text-deco-ten::before,
.review .text-deco-ten::after{
    content: '"';
    color: #AEAEAE;
}

.review .card-item p{
    line-height: 1.5;
}

.review .card-item .name{
    position: absolute;
    right: 1.5rem;
    bottom: 1.5rem;
    width: 170px;
    margin-left: auto;
    border-radius: 25px;
    text-align: center;
}

@media (max-width: 960px){
    .review .card-container {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px){
    .review .img-box{
        flex-wrap: wrap;
        gap: 20px;
    }
    .review .img-box > div{
        flex: 1 0 calc(50% - 10px);
        text-align: center;
    }
}

@media (max-width: 640px){
    .review .text1 br{
        display: none;
    }
}

@media (max-width: 480px){
    .review .card-container {
        gap: 25px;
    }
    .review .text1 > div img{
        width: 90%;
    }
}


/*******************************
*nayami
*******************************/
.nayami{
    padding-block: 6.25rem;
}

.nayami .text1{
    margin-bottom: 2rem;
    font-size: 2.5rem;
    text-align: center;
}

.nayami div.flex-box{
    gap: 0 80px;
    padding: 2.5rem 6.25rem 0;
    border: 3px solid #5057DB;
    border-radius: 25px;
}

.nayami div.flex-box > div.text{
    margin-top: 2rem;
}

.nayami ul{
    margin-bottom: 0;
}

.nayami ul li{
    font-size: 1.5rem;
    line-height: 1.5;
}

.nayami ul li:not(:last-child){
    margin-bottom: 0.5rem;
}

.nayami .check-icon{
    font-size: 1.75rem;
}

@media (max-width: 1200px) {
    .nayami div.flex-box{
        padding-inline: 2.5rem;
        gap: 0 20px;
    }
    .nayami ul li{
        font-size: 1.25rem;
    }
    .nayami .check-icon{
        font-size: 1.5rem;
    }
}

@media (max-width: 960px) {
    .nayami div.flex-box {
        padding-top: 1.5rem;
        padding-inline: 1.5rem;
        gap: 0 20px;
    }
    .nayami div.flex-box > div.img{
        width: 125px;
    }
    .nayami div.flex-box > div.text{
        margin-top: 1rem;
    }
    .nayami ul li{
        font-size: 1rem;
        text-indent: -0.7rem;
        padding-left: 1.75rem;
    }
    .nayami .check-icon{
        font-size: 1.125rem;
    }
}

@media (max-width: 767px) {
    .nayami .text1{
        font-size: 1.625rem;
    }
    .nayami div.flex-box > div.img{
        display: none;
    }
    .nayami div.flex-box > div.text{
        margin-top: 0;
    }
    .nayami div.flex-box{
        padding-bottom: 1.5rem;
    }
    .nayami ul{
        margin-left: 0;
    }
}


/*******************************
*gaichu-service
*******************************/
.gaichu-service{
    position: relative;
    padding-block: 6.25rem;
}

.gaichu-service::before{
    content: '';
    background-color: #414bb2;
    height: 400px;
    clip-path: polygon(0 0, 100% 0, 100% 60%, 50% 100%, 0 60%);
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
}

.gaichu-service .text1{
    margin-bottom: 3rem;
    font-size: 1.75rem;
    text-align: center;
    line-height: 1.5;
}

.gaichu-service .text1 > div{
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 10px;
}

.gaichu-service .text1 > div::after{
    content: 'は';
}

.gaichu-service-flow{
    margin-bottom: 6.25rem;
}

.gaichu-service-flow p{
    margin-top: 2rem;
    text-align: center;
    line-height: 1.75;
}

.gaichu-service .text-deco-border{
    font-size: 1.5rem;
}

.text-deco-border::before,
.text-deco-border::after {
    background-color: #5057DB;
}

@media (max-width: 767px) {
    .gaichu-service::before{
        clip-path: none;
    }
    .gaichu-service-flow{
        margin-bottom: 3.125rem;
    }
    .gaichu-service-flow p{
        text-align: left;
    }
    .gaichu-service-flow p > br{
        display: none;
    }
}

@media (max-width: 640px) {
    .gaichu-service .text1 > br{
        display: none;
    }
}

@media (max-width: 480px) {
    .gaichu-service .text1{
        font-size: 1.5rem;
    }
    .gaichu-service .text1 > div img{
        width: 90%;
    }
}


/*******************************
*teian
*******************************/
.teian{
    padding-block: 6.25rem;
    background-image: url(../img/lp/partner/teian-bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}

.teian .text-deco-ten{
    width: fit-content;
    margin-inline: auto;
    margin-bottom: 2.5rem;
    font-size: 2rem;
    line-height: 1.5;
}

.teian .text-deco-ten::before,
.teian .text-deco-ten::after{
    font-size: 2rem;
    height: 15px;
}

.teian .text-deco-ten::before {
    top: -15px;
    left: -30px;
}

.teian .text-deco-ten::after {
    right: -30px;
    bottom: -15px;
}

.teian .text-deco-ten > span{
    display: block;
    font-size: 1.5rem;
}

.teian div.text2{
    padding: 2rem 4rem;
    font-size: 2rem;
    text-align: center;
}

.teian div.text2 > div{
    display: block;
    position: relative;
    padding: 0 2.5em;
    color: #000;
    font-size: 1.5rem;
}

.teian div.text2 > div::before{
    content: '';
    position: absolute;
    top: calc(50% - 1px);
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #707070;
}

.teian div.text2 > div > span{
    position: relative;
    padding: 0 1rem;
}

@media (max-width: 767px) {
    .teian .text-deco-ten{
        font-size: 1.5rem;
    }
    .teian .text-deco-ten::before,
    .teian .text-deco-ten::after {
        content: none;
    }
    .teian .text-deco-ten > span{
        display: inline;
    }
    .teian .text-deco-ten > span::after{
        content: '、';
        display: inline-block;
    }
    .teian div.text2{
        padding: 2rem;
        font-size: 1.5rem;
        line-height: 1.75;
    }
}


/*******************************
*sekkei
*******************************/
.sekkei{
    padding-block: 6.25rem;
    text-align: center;
}

.sekkei .text1{
    margin-bottom: 2.5rem;
    font-size: 1.25rem;
    line-height: 1.75;
}

.sekkei .text1 > span{
    display: block;
    font-size: 2rem;
}

.sekkei .text2{
    margin-bottom: 3.125rem;
    font-size: 1rem;
    line-height: 1.75;
}

.sekkei .text2 > span{
    display: block;
    font-size: 2rem;
}

.sekkei .type{
    gap: 0 20px;
    margin-bottom: 2.8125rem;
}

.sekkei .type > div{
    flex: 1;
    font-size: 2rem;
}

@media (max-width: 767px){
    .sekkei .type{
        flex-wrap: wrap;
        gap: 10px;
    }
    .sekkei .type > div{
        flex: auto;
        width: calc(50% - 10px);
    }
}


/*******************************
*feature
*******************************/
.feature{
    padding-block: 6.25rem;
}

.feature .text1{
    margin-bottom: 3rem;
    font-size: 1.75rem;
    text-align: center;
    line-height: 1.5;
}

.feature .text1 > div{
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 10px;
}

.feature .text1 > div::after{
    content: 'の特徴';
}

.feature .point{
    justify-content: center;
    gap: 0 20px;
    margin-bottom: 3.125rem;
}

.feature .point > div{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    width: clamp(120px, 20vw, 200px);
    aspect-ratio: 1 / 1;

    font-size: 1.5rem;
    text-align: center;
    border-radius: 50%;
    line-height: 1.5;
}

.feature .box-num{
    justify-content: space-between;
    align-items: center;
    gap: 100px;
}

.feature .l-inner > .box-num:not(:last-of-type){
    margin-bottom: 5rem;
}

.feature .box-num > div{
    flex: 0 0 calc(50% - 50px);
    max-width: 550px;
}

.feature .box-num > div.text > .num{
    margin-bottom: 1.5rem;
}

.feature .box-num > div.text > div{
    line-height: 1.75;
}

.feature .box-num > div.text > div > span{
    display: block;
    margin-bottom: 1rem;
    font-size: 1.75rem;
    line-height: 1.5;
}

.feature .box-num > div.img.flex-box{
    gap: 40px;
}

.feature .box-num > div.img.flex-box span{
    display: block;
    margin-top: 0.5rem;
    text-align: center;
    line-height: 1.25;
}

.feature .cta-soudan{
    position: relative;
    margin-bottom: 5rem;
    background-color: #EBEBEB;
}

.feature .cta-soudan::before{
    content: '';
    position: absolute;
    display: block;
    width: 100%;
    height: 50px;
    top: 0;
    left: 0;
    background-color: #fff;
}

.feature .cta-soudan .ttl{
    position: relative;
    justify-content: center;
    align-items: center;
    gap: 0 20px;
    padding: 0 3rem;
    margin-bottom: 2.75rem;
    background-color: #fff;
    border: 2px solid #5057DB;
    border-radius: 50px;
    line-height: 1.0;
}

.feature .cta-soudan .ttl > .text{
    font-size: 2rem;
}

.feature .cta-soudan-inner{
    padding: 0 4.375rem 4.375rem;
}

.feature .cta-soudan .price{
    margin-bottom: 3.125rem;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
}

.feature .cta-soudan .price > div{
    flex: 0 0 500px;
}

.feature .cta-soudan .price ul{
    margin: 0;
}

.feature .cta-soudan .price .text div{
    margin-bottom: 0.5rem;
    line-height: 1.5;
}

.feature .cta-soudan .price .text ul li{
    font-size: 0.75rem;
    line-height: 1.5;
}

.feature .cta-soudan .price .list{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 1.5rem;
    font-size: 1.25rem;
    background-color: #fff;
}

.feature .cta-soudan .price .list ul li{
    line-height: 1.5;
}

.feature .cta-soudan .price .list ul li:not(:last-child){
    margin-bottom: 0.5rem;
}

.feature .cta-soudan .price .list span{
    width: 150px;
    display: inline-block;
    padding: 0.25rem 0.5rem;
    margin-right: 1rem;
    font-size: 1.125rem;
    color: #5057DB;
    border: 1px solid #5057DB;
    text-align: center;
    line-height: 1.25;
}

.feature .cta-soudan .fee{
    margin-bottom: 4.375rem;
    font-size: 2rem;
    text-align: center;
}

.feature .cta-soudan .fee > .img{
    padding: 1rem;
    margin-top: 1rem;
    background-color: #fff;
}

.feature .cta-soudan .text-deco-border::before,
.feature .cta-soudan .text-deco-border::after{
    background-color: #000;
}

.feature .cta-soudan .btn.soudan{
    max-width: 500px;
    margin-inline: auto;
    border-radius: 15px;
}

@media (max-width: 1200px){
    .feature .cta-soudan .ttl > .text {
        flex: 1;
        font-size: 1.25rem;
        text-align: center;
    }
}

@media (max-width: 960px){
    .feature .box-num{
        flex-direction: column;
    }
    .feature .box-num > div {
        flex: 1 0 100%;
        max-width: 100%;
    }
    .feature .cta-soudan .ttl{
        padding: 1.5rem;
    }
    .feature .cta-soudan .ttl > .img{
        display: none;
    }
    .feature .cta-soudan .ttl > .text {
        font-size: 1.125rem;
    }
}

@media (max-width: 767px){
    .feature .text1 > div{
        gap: 0;
    }
    .feature .point > div{
        font-size: 1.25rem;
    }
    .feature .box-num {
        gap: 50px;
    }
}

@media (max-width: 480px){
    .feature .text1 > div{
        flex-direction: column;
    }
    .feature .text1 > div::after{
        display: block;
    }
    .feature .box-num {
        gap: 25px;
    }
    .feature .cta-soudan-inner{
        padding: 0 2.1875rem 2.1875rem;
    }
    .feature .cta-soudan .fee{
        font-size: 1.25rem;
    }
}


/*******************************
*voice
*******************************/
.voice{
    padding-block: 6.25rem;
}

.voice .text1{
    margin-bottom: 1.875rem;
    font-size: 2.5rem;
    text-align: center;
}

.voice .btn.shiryo{
    max-width: 500px;
    margin: 0 auto;
    border-radius: 15px;
}

.voice .card{
    margin-bottom: 6.25rem;
}

.voice .card-body{
    gap: 0;
}

.voice .card-item{
    padding-top: 3.125rem;
    background-color: #fff;
    box-shadow: 6px 10px 10px -6px rgba(0, 0, 0, 0.3);
}

.voice .card-item .ttl{
    margin-bottom: 1.875rem;
    font-size: 1.25rem;
    line-height: 1.5;
}

.voice .card-item div.flex-box{
    flex-direction: column;
    gap: 0 20px;
}

.voice .card-item .before,
.voice .card-item .after{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100px;
    margin-bottom: 1rem;
    color: #fff;
}

.voice .card-item div.flex-box p{
    flex: 1 0 calc(100% - 120px);
    line-height: 1.75;
}

.voice .card-item .after + p{
    margin-bottom: 0;
}

.voice .card-item .before{
    background-color: #DB5050;
}

.voice .card-item .after{
    background-color: #5057DB;
}

@media (max-width: 1200px){
    .voice .card-body .img {
        padding-inline: 2.5rem;
    }
}

@media (max-width: 767px){
    .voice .text1{
        font-size: 1.625rem;
    }
    .voice .card{
        margin-bottom: 3.125rem;
    }

    .voice .card > .card-container {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px){
    .voice .card-body .img {
        padding-inline: 1.5rem;
    }
    .voice .card-body .text{
        padding-inline: 1.5rem;
    }
}


/*******************************
*easy-step
*******************************/
.easy-step{
    padding-block: 6.25rem;
}

.easy-step .text1{
    margin-bottom: 2rem;
    font-size: 2.5rem;
    border-radius: 50px;
    text-align: center;
}

.easy-step .text2{
    margin-bottom: 2rem;
    font-size: 1.5rem;
    text-align: center;
}

@media (max-width: 767px){
    .easy-step .text1 {
        font-size: 1.5rem;
    }
    .easy-step .text2{
        font-size: 1.125rem;
    }
}

@media (max-width: 480px){
    .easy-step .text1 {
        font-size: 1.25rem;
    }
    .easy-step .text2{
        font-size: 1rem;
    }
}


/*******************************
*torikumi
*******************************/
.torikumi{
    padding-block: 6.25rem;
    background-image: url(../img/lp/partner/torikumi-bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}

.torikumi .text1{
    margin-bottom: 1.875rem;
    font-size: 2.5rem;
    text-align: center;
}

.torikumi div.flex-box{
    gap: 20px;
    justify-content: center;
}

.torikumi div.flex-box > div{
    width: calc(33.333% - 14px);
    padding: 3rem 3rem;
    box-shadow: 6px 10px 10px -6px rgba(0, 0, 0, 0.3);
}

.torikumi div.flex-box p{
    margin-bottom: 0;
    font-size: 1.25rem;
    line-height: 1.5;
    text-align: center;
}

.torikumi div.flex-box .check-icon{
    display: block;
    margin-bottom: 0.5rem;
    font-size: 2rem;
}

@media (max-width: 960px){
    .torikumi div.flex-box > div {
        width: calc(50% - 10px);
    }
    .torikumi div.flex-box > div:nth-child(n+4) p{
        padding-bottom: 0;
    }
}

@media (max-width: 767px){
    .torikumi .text1{
        font-size: 1.625rem;
    }
}

@media (max-width: 640px){
    .torikumi div.flex-box{
        flex-direction: column;
    }
    .torikumi div.flex-box > div{
        width: 100%;
    }
}

@media (max-width:480px) {
    .torikumi div.flex-box > div{
        width: 100%;
        padding: 2.5rem;
    }
}


/*******************************
*support
*******************************/
.support{
    padding-block: 6.25rem;
}

.support div.flex-box{
    align-items: center;
    gap: 40px;
}

.support div.flex-box > div.text{
    width: 480px;
}

.support div.flex-box > div.img{
    flex: 1 1 calc(100% - 480px);
}

.support .text p{
    margin-bottom: 1.25rem;
    font-size: 1.75rem !important;
    line-height: 1.5 !important;
}

.support .text p:first-child{
    padding: 0.5rem 1rem;
    text-align: center;
}

.support .text p:last-child{
    font-size: 1rem !important;
}

@media (max-width: 767px){
    .support div.flex-box{
        flex-direction: column-reverse;
        gap: 20px;
    }
}

@media (max-width: 480px) {
    .support div.flex-box > div.text{
        width: auto;
    }
    .support .text p{
        font-size: 1.25rem !important;
    }
    .support .text p > br{
        display: none;
    }
}


/*******************************
*faq
*******************************/
.faq{
    padding-block: 6.25rem;
}

.faq .text1{
    margin-bottom: 1.875rem;
    font-size: 2.5rem;
    text-align: center;
}

.faq .faq-item{
    position: relative;
    padding: 1.75rem;
    font-size: 1.25rem;
}

.faq dl{
    margin-bottom: 0;
}

.faq .faq-item dt::before{
    content: '';
    display: block;
    width: 2px;
    height: 16px;
    position: absolute;
    left: 24px;
    bottom: -16px;
    background-color: #000;
}

.faq .faq-item:not(:last-of-type){
    margin-bottom: 1.25rem;
}

.faq .faq-item dt{
    position: relative;
    margin-bottom: 1rem;
}

.faq .faq-item dt > span,
.faq .faq-item dd > span{
    display: inline-block;
    width: 50px;
    margin-right: 1rem;
    color: #fff;
    border-radius: 50%;
    line-height: 2.5;
    text-align: center;
}

.faq .faq-item dt > span{
    background-color: #5057DB;
}

.faq .faq-item dd > span{
    background-color: #DB5050;
    flex: 0 0 50px;
}

.faq .faq-item dd{
    margin-bottom: 0;
    display: flex;
    align-items: baseline;
}

.faq .faq-item dd > p{
    margin-bottom: 0;
}

@media (max-width: 767px){
    .faq .text1{
        font-size: 1.625rem;
    }
    .faq .faq-item{
        font-size: 1rem;
    }
    .faq .faq-item dt > span,
    .faq .faq-item dd > span{
        line-height: 3.0;
    }
    .faq .faq-item dt{
        display: flex;
        flex-direction: column;
    }
    .faq .faq-item dt::before{
        content: none;
    }
    .faq .faq-item dd{
        flex-direction: column;
    }
}


/*******************************
*company
*******************************/
.company{
    padding-block: 6.25rem;
    text-align: center;
}

.company .text1{
    margin-bottom: 1.875rem;
    font-size: 2.5rem;
    text-align: center;
}

.company-data dl {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 50px !important;
	border: 1px solid #ddd;
    border-top:none;
}

.company-data dt {
	width: 220px;
    padding: 20px;
    margin: 0;
    font-weight: 500;
    background: #f6f6f6;
    border-top: 1px solid #ddd;
    border-right: 1px solid #ddd;
	-webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	-webkit-align-items: center;
    align-items: center;
	-webkit-justify-content: center;
    justify-content: center;
}

.company-data dd {
    width: calc(100% - 220px);
    padding: 20px;
    margin: 0;
    border-top: 1px solid #ddd;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: left;
}

@media (max-width: 767px) {
    .company .text1 {
        font-size: 1.625rem;
    }
}

@media (max-width: 750px) {
	.company-data dl { margin-bottom:40px !important; }
	.company-data dt { width:130px; padding:15px 20px; }
	.company-data dd { width:calc(100% - 130px); padding:15px 20px; }
}
