@charset "utf-8";
.mainWrapper{
    background: var(--bodyBaseColor);
    position: relative;
}
.secCmnTop{
    background: url(../img/features/bgCmnTop.jpg) no-repeat center center / cover;
}
.secCmnTop {
    height: 105rem;
    position: relative;
    padding: 29.9rem 0 16.9rem;
}
.pnkzWrapper {
    width: 100%;
    position: absolute;
    bottom: 2.5rem;
    left: 9.2rem;
}
#pnkz a {
    color: var(--whiteColor);
}
#pnkz li {
    color: var(--whiteColor);
}
#pnkz {
    position: absolute;
    bottom: 0;
}
.secCmnTop .pageTitEng {
    font-size: var(--pcFontSize26);
    opacity: 0.8;
}
.secCmnTop .pageTitJp {
    font-size: var(--pcFontSize36);
    line-height: var(--pcLineHeight36_62);
    font-weight: bold;
    margin-top: 3.6rem;
    letter-spacing: var(--pcLetterSpacing36_200);
}
.secCmnTop .pageTitJp .em {
    font-size: var(--pcFontSize60);
}
.secCmnTop .pageTxt {
    font-size: var(--pcFontSize15);
    line-height: var(--pcLineHeight15_50);
    margin-top: 4rem;
    letter-spacing: var(--pcLetterSpacing15_150);
}
@media only screen and (min-width: 1921px){
    .pnkzWrapper {
        position: static;
        bottom: auto;
        left: auto;
    }
    #pnkz {
        position: relative;
        bottom: -12.9rem;
        width: 142rem;
        margin: 0 auto;
        max-width: calc(100% - 10rem);
    }
}
@media only screen and (max-width:1215px){
    .secCmnTop{
        background: url(../img/features/bgCmnTop_sp.jpg) no-repeat center center / cover;
    }
    .secCmnTop {
        height: 66rem;
        position: relative;
        padding: 17.8rem 0 13rem;
    }
    .pnkzWrapper {
        width: 100%;
        position: absolute;
        bottom: 1.8rem;
        left: calc(0% - 0rem);
    }
    #pnkz {
        position: relative;
    }
    .secCmnTop .pageTitJp {
        font-size: var(--spFontSize20);
        line-height: var(--spLineHeight20_33);
        font-weight: bold;
        margin-top: 1.8rem;
        letter-spacing: var(--spLetterSpacing20_200);
    }
    .secCmnTop .pageTitJp .em {
        font-size: var(--spFontSize30);
    }
    .secCmnTop .pageTxt {
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_30);
        margin-top: 1.5rem;
        letter-spacing: 0;
    }
    .secCmnTop .cmnTxtBox {
        text-align: left;
    }
    .secCmnTop .pageTitEng {
        font-size: var(--spFontSize12);
        opacity: 0.8;
        letter-spacing: var(--spLetterSpacing12_300);
    }
}
.cmnSectionTitEng{
    font-size: var(--pcFontSize16);
    letter-spacing: var(--pcLetterSpacing16_40);
    font-weight: bold;
    color: var(--keyColor);
    padding-left: 5.5rem;
    position: relative;
    top: 1.8rem;
}
.cmnSectionTitEng::before{
    content: "";
    width: 4rem;
    height: 1px;
    background: var(--keyColor);
    flex-shrink: 0;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.cmnSectionTitJp{
    font-size: var(--pcFontSize40);
    font-weight: bold;
    margin-top: 2.5rem;
}
@media only screen and (max-width:1215px){
    .cmnSectionTitEng{
        font-size: var(--spFontSize12);
        letter-spacing: 0;
        padding-left: 2.6rem;
    }
    .cmnSectionTitEng::before{
        width: 2rem;
    }
    .cmnSectionTitJp{
        font-size: var(--spFontSize20);
        letter-spacing: 0;
        margin-top: 1.7rem;
    }
}

/* -----------------------------------------------
    baseline
----------------------------------------------- */
.secBaseline{
    margin-top: 10rem;
}
.secBaseline .boxFlex{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 5.5rem;
}
.secBaseline .boxTxt{
    flex: 1;
    min-width: 0;
}
.secBaseline .baselineTit{
    display: flex;
    align-items: center;
    gap: 2.5rem;
    margin-top: 2.4rem;
}
.secBaseline .baselineTit .lab{
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 7.2rem;
    height: 5rem;
    padding: 0 1.4rem 0 1.6rem;
    background-color: var(--contactColor);
    color: var(--whiteColor);
    font-size: var(--pcFontSize22);
    font-weight: bold;
    line-height: 1;
    position: relative;
}
.secBaseline .baselineTit .lab::after{
    content: "";
    position: absolute;
    top: 0px;
    right: -15px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 2.5rem 0 2.5rem 1.5rem;
    border-color: transparent transparent transparent var(--contactColor);
}
.secBaseline .baselineTit .tit{
    font-size: var(--pcFontSize40);
    line-height: 1.4;
    font-weight: bold;
    color: var(--textColor);
}
.secBaseline .baselineTit .tit .color{
    color: var(--contactColor);
}
.secBaseline .txt{
    margin-top: 2.8rem;
    font-size: var(--pcFontSize15);
    line-height: var(--pcLineHeight15_40);
    color: var(--textColor);
    position: relative;
    top: -0.5rem;
}
.secBaseline .listTag{
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 3.6rem;
    position: relative;
    top: -0.3rem;
}
.secBaseline .listTag .item{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.2rem;
    padding: 0.6rem 1.4rem;
    border-radius: 0.2rem;
    font-size: var(--pcFontSize13);
    line-height: 1.4;
    color: var(--contactColor);
    background-color: var(--whiteColor);
}
.secBaseline .listTag .item.isActive{
    background-color: var(--contactColor);
    color: var(--whiteColor);
    border-color: var(--contactColor);
}
.secBaseline .boxImg{
    width: 80rem;
    flex-shrink: 0;
    border-radius: 1rem;
    overflow: hidden;
}
@media only screen and (max-width:1520px){
    .secBaseline .boxImg{
        width: 58rem;
    }
}
@media only screen and (max-width:1215px){
    .secBaseline{
        margin-top: 3.2rem;
    }
    .secBaseline .boxFlex{
        flex-direction: column;
        align-items: stretch;
        gap: 2.8rem;
    }
    .secBaseline .baselineTit{
        gap: 2.2rem;
        margin-top: 3.3rem;
    }
    .secBaseline .baselineTit .lab{
        min-width: 5.2rem;
        height: 3.5rem;
        padding: 0 0.8rem 0 1rem;
        font-size: var(--spFontSize13);
    }
    .secBaseline .baselineTit .lab::after{
        top: 0.1rem;
        right: -1.4rem;
        border-width: 1.7rem 0 1.7rem 1.4rem;
    }
    .secBaseline .baselineTit .tit{
        font-size: var(--spFontSize22);
        line-height: 1.3;
    }
    .secBaseline .txt{
        margin-top: 1.2rem;
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_22);
        top: 0;
    }
    .secBaseline .listTag{
        gap: 0.3rem;
        margin-top: 0.9rem;
        top: 0;
    }
    .secBaseline .listTag .item{
        min-height: 2.4rem;
        padding: 0.5rem 0.8rem;
        border-radius: 0.3rem;
        font-size: var(--spFontSize11);
    }
    .secBaseline .boxImg{
        width: 100%;
        border-radius: 1rem;
    }
}

/* -----------------------------------------------
    comparison
----------------------------------------------- */
.secComparison{
    margin-top: 9.8rem;
}
.secComparison .titArea{
    text-align: left;
}
.secComparison .cmnSectionTitEng{
    display: inline-block;
    padding-left: 5.5rem;
    text-align: left;
}
.secComparison .cmnSectionTitJp{
    margin-top: 2.2rem;
}
.secComparison .leadTxt{
    margin-top: 2.8rem;
    font-size: var(--pcFontSize15);
    line-height: var(--pcLineHeight15_40);
    color: var(--textColor);
}
.secComparison .listCard{
    display: flex;
    align-items: stretch;
    gap: 3.5rem;
    margin-top: 5rem;
}
.secComparison .card{
    --brandColor: #20AA3B;
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    padding: 0 4rem 4rem;
    background-color: var(--whiteColor);
    border-radius: 1rem;
    border-top: 1.8rem solid var(--brandColor);
    overflow: hidden;
}
.secComparison .card.typeEco{
    --brandColor: #20AA3B;
}
.secComparison .card.typeVarys{
    --brandColor: #450F7F;
}
.secComparison .card.typeMtithi{
    --brandColor: #E60213;
}
.secComparison .cardHead{
    padding: 3.3rem 0 2rem;
    text-align: center;
}
.secComparison .brandName{
    font-size: var(--pcFontSize28);
    line-height: 1.2;
    font-weight: bold;
    color: var(--brandColor);
}
.secComparison .brandKana{
    margin-top: 0.6rem;
    font-size: var(--pcFontSize13);
    line-height: 1.4;
    color: var(--brandColor);
}
.secComparison .catch{
    margin-top: 1.8rem;
    font-size: var(--pcFontSize15);
    line-height: 1.6;
    color: var(--brandColor);
}
.secComparison .boxImg{
    border-radius: 0.8rem;
    overflow: hidden;
}
.secComparison .listSpec{
    margin-top: 2rem;
}
.secComparison .listSpec .row{
    display: flex;
    gap: 1.6rem;
    padding: 3.2rem 0 3.2rem;
    border-bottom: 1px dotted var(--borderDottedColor);
    align-items: center;
}
.secComparison .listSpec .row:first-child{
    border-top: 0;
    padding: 1.2rem 0 1.9rem;
}
.secComparison .listSpec .row:last-child{
    border-top: 0;
    padding: 1.8rem 0 1.9rem;
    border-bottom: none;
}
.secComparison .card:nth-child(2) .listSpec .row:first-child {
    border-top: 0;
    padding: 2.4rem 0 3.3rem;
}
.secComparison .card:nth-child(2) .listSpec .row:nth-child(2) {
    border-top: 0;
    padding: 1.8rem 0 2.3rem;
}
.secComparison .card:nth-child(3) .listSpec .row:first-child {
    border-top: 0;
    padding: 2.4rem 0 3.3rem;
}
.secComparison .card:nth-child(3) .listSpec .row:nth-child(2) {
    border-top: 0;
    padding: 1.8rem 0 2.3rem;
}
.secComparison .listSpec .label{
    flex-shrink: 0;
    width: 9rem;
    font-size: var(--pcFontSize15);
    line-height: 1.6;
    color: var(--contactColor);
    font-weight: bold;
}
.secComparison .listSpec .data{
    flex: 1;
    min-width: 0;
}
.secComparison .listSpec .main{
    font-size: var(--pcFontSize20);
    line-height: 1.5;
    font-weight: bold;
    color: var(--textColor);
    white-space: nowrap;
}
.secComparison .listSpec .sub{
    margin-top: 0rem;
    font-size: var(--pcFontSize15);
    line-height: var(--pcLineHeight15_25);
    color: var(--textColor);
}
.secComparison .boxBtn{
    margin: 0 auto;
    margin-top: 1.8rem;
    padding-top: 0rem;
    max-width: 34rem;
    width: 100%;
}
.secComparison .btn{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.2rem;
    width: 100%;
    min-height: 7.5rem;
    padding: 1.4rem 4rem;
    border-radius: 10rem;
    background-color: var(--brandColor);
    color: var(--whiteColor);
    font-size: var(--pcFontSize14);
    font-weight: bold;
    transition: opacity 0.3s;
}
.secComparison .btn::after{
    content: "";
    width: 1.4rem;
    height: 0.8rem;
    flex-shrink: 0;
    background: url(../img/common/imgBtnArrow_w.png) center center / contain no-repeat;
    position: relative;
    right: 0;
}
@media only screen and (min-width:1216px){
    .secComparison .btn:hover{
        opacity: 0.85;
    }
}
@media only screen and (max-width:1215px){
    .secComparison{
        margin-top: 2.8rem;
    }
    .secComparison .cmnSectionTitEng{
        padding-left: 2.6rem;
    }
    .secComparison .cmnSectionTitJp{
        margin-top: 3.3rem;
    }
    .secComparison .leadTxt{
        margin-top: 1.2rem;
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_22);
        text-align: left;
    }
    .secComparison .titArea{
        text-align: left;
    }
    .secComparison .listCard{
        flex-direction: column;
        gap: 2.2rem;
        margin-top: 1.5rem;
    }
    .secComparison .card{
        padding: 0 1.8rem 2.4rem;
        border-top-width: 1.2rem;
        border-radius: 0.8rem;
    }
    .secComparison .cardHead{
        padding: 2.1rem 0 1.5rem;
    }
    .secComparison .brandName{
        font-size: var(--spFontSize22);
    }
    .secComparison .brandKana{
        margin-top: 0.5rem;
        font-size: var(--spFontSize14);
        line-height: 0;
    }
    .secComparison .catch{
        margin-top: 2rem;
        font-size: var(--spFontSize12);
        line-height: 1.5;
    }
    .secComparison .boxImg{
        border-radius: 0.6rem;
    }
    .secComparison .listSpec{
        margin-top: 0.5rem;
    }
    .secComparison .listSpec .row,
    .secComparison .listSpec .row:first-child,
    .secComparison .listSpec .row:last-child,
    .secComparison .card:nth-child(2) .listSpec .row:first-child,
    .secComparison .card:nth-child(2) .listSpec .row:nth-child(2),
    .secComparison .card:nth-child(3) .listSpec .row:first-child,
    .secComparison .card:nth-child(3) .listSpec .row:nth-child(2){
        gap: 1.2rem;
        padding: 1.4rem 0;
        align-items: center;
    }
    .secComparison .listSpec .row:last-child{
        border-bottom: none;
        padding-bottom: 0;
    }
    .secComparison .listSpec .label{
        width: 7.2rem;
        font-size: var(--spFontSize12);
    }
    .secComparison .card:nth-child(2) .listSpec .row:nth-child(2) .label,
    .secComparison .card:nth-child(3) .listSpec .row:nth-child(2) .label{
        position: relative;
        top: -0.8rem;
    }
    .secComparison .listSpec .main{
        font-size: var(--spFontSize16);
        white-space: normal;
    }
    .secComparison .listSpec .sub{
        margin-top: 0.2rem;
        font-size: var(--spFontSize12);
        line-height: 1.5;
    }
    .secComparison .boxBtn{
        max-width: 21.5rem;
        margin-top: 2rem;
        padding-top: 0;
    }
    .secComparison .btn{
        min-height: 5.2rem;
        padding: 1.2rem 2rem;
        font-size: var(--spFontSize12);
    }
    .secComparison .btn::after{
        width: 1.2rem;
        height: 0.7rem;
    }
}

/* -----------------------------------------------
    after
----------------------------------------------- */
.secAfter{
    margin-top: 9.8rem;
}
.secAfter .boxIntro{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.secAfter .boxTxt{
    flex: 1;
    min-width: 0;
}
.secAfter .afterTit{
    margin-top: 2.4rem;
    font-size: var(--pcFontSize37);
    line-height: var(--pcLineHeight37_58);
    font-weight: bold;
    color: var(--textColor);
    position: relative;
    top: 1rem;
}
.secAfter .txt{
    margin-top: 2.8rem;
    font-size: var(--pcFontSize15);
    line-height: var(--pcLineHeight15_40);
    color: var(--textColor);
}
.secAfter .listTag{
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 3.2rem;
}
.secAfter .listTag .item{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.5rem;
    padding: 0.6rem 1.4rem;
    border-radius: 0.2rem;
    font-size: var(--pcFontSize13);
    line-height: 1.4;
    color: var(--contactColor);
    background-color: var(--whiteColor);
    position: relative;
    top: -2.1rem;
}
.secAfter .listTag .item.isActive{
    background-color: var(--contactColor);
    color: var(--whiteColor);
    border-color: var(--contactColor);
}
.secAfter .boxImg{
    width: 80rem;
    flex-shrink: 0;
    border-radius: 1rem;
    overflow: hidden;
    position: relative;
    left: 0;
}
.secAfter .listGuarantee{
    display: flex;
    align-items: stretch;
    gap: 0;
    margin-top: 8rem;
}
.secAfter .listGuarantee .item{
    flex: 1;
    min-width: 0;
    padding: 0px 2.4rem;
    position: relative;
}
.secAfter .listGuarantee .item + .item::before{
    content: "";
    position: absolute;
    top: 55%;
    left: 0;
    transform: translateY(-50%);
    height: 12rem;
    border-left: 1px dotted var(--borderDottedColor);
}
.secAfter .listGuarantee .item:nth-child(3) {
    position: relative;
    left: 2.5rem;
}
.secAfter .listGuarantee .item:nth-child(4) {
    position: relative;
    left: 1.5rem;
}
.secAfter .listGuarantee .item:first-child{
    padding-left: 0px;
    max-width: 30.8rem;
    padding-right: 0;
}
.secAfter .listGuarantee .item:last-child{
    padding-right: 0;
}
.secAfter .listGuarantee .label{
    font-size: var(--pcFontSize13);
    letter-spacing: 0.05em;
    color: var(--contactColor);
    font-weight: bold;
}
.secAfter .listGuarantee .tit{
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
    margin-top: 1.2rem;
    font-size: var(--pcFontSize18);
    line-height: 1.4;
    font-weight: bold;
    color: var(--contactColor);
}
.secAfter .listGuarantee .icon{
    flex-shrink: 0;
    width: 3.2rem;
    margin-top: 0.2rem;
    position: relative;
    left: 0.7rem;
}
.secAfter .listGuarantee .item:nth-child(2) .icon{
    width: 2.8rem;
}
.secAfter .listGuarantee .item:nth-child(3) .icon{
    width: 2.5rem;
}
.secAfter .listGuarantee .item:nth-child(4) .icon{
    width: 2.4rem;
}
.secAfter .listGuarantee .tit .txt{
    flex: 1;
    min-width: 0;
    margin-top: -0.4rem;
    font-size: var(--pcFontSize20);
    white-space: nowrap;
}
.secAfter .listGuarantee .tit .em{
    font-size: var(--pcFontSize36);
    line-height: 1;
    color: var(--contactColor);
}
.secAfter .listGuarantee .desc{
    margin-top: 0rem;
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight15_28);
    color: var(--textColor);
}
@media only screen and (max-width:1520px){
    .secAfter .boxImg{
        width: 58rem;
    }
}
@media only screen and (max-width:1215px){
    .secAfter{
        margin-top: 3.4rem;
    }
    .secAfter .boxIntro{
        flex-direction: column;
        align-items: stretch;
        gap: 2.1rem;
    }
    .secAfter .afterTit{
        margin-top: 2.5rem;
        font-size: var(--spFontSize20);
        line-height: var(--spLineHeight20_32);
        top: 0;
    }
    .secAfter .txt{
        margin-top: 0.6rem;
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_22);
    }
    .secAfter .listTag{
        gap: 0.3rem;
        margin-top: 0.9rem;
    }
    .secAfter .listTag .item{
        min-height: 2.4rem;
        padding: 0.4rem 1rem;
        font-size: var(--spFontSize10);
        top: 0;
    }
    .secAfter .boxImg{
        width: 100%;
        border-radius: 1rem;
        left: 0;
    }
    .secAfter .listGuarantee{
        flex-direction: column;
        margin-top: 1rem;
    }
    .secAfter .listGuarantee .item,
    .secAfter .listGuarantee .item:nth-child(3),
    .secAfter .listGuarantee .item:nth-child(4){
        padding: 1.9rem 0 1.5rem;
        border-top: 1px dotted var(--borderDottedColor);
        left: 0;
        max-width: none;
    }
    .secAfter .listGuarantee .item + .item::before{
        content: none;
    }
    .secAfter .listGuarantee .item:first-child{
        padding-top: 2rem;
        padding-left: 0;
        padding-right: 0;
        max-width: none;
        border-top: none;
        padding-bottom: 1.5rem;
    }
    .secAfter .listGuarantee .item:last-child{
        padding-bottom: 0;
        border-bottom: none;
        padding-right: 0;
    }
    .secAfter .listGuarantee .label{
        font-size: var(--spFontSize10);
        letter-spacing: 0;
    }
    .secAfter .listGuarantee .tit{
        gap: 0.8rem;
        margin-top: 0.5rem;
        font-size: var(--spFontSize15);
    }
    .secAfter .listGuarantee .icon,
    .secAfter .listGuarantee .item:nth-child(2) .icon,
    .secAfter .listGuarantee .item:nth-child(3) .icon,
    .secAfter .listGuarantee .item:nth-child(4) .icon{
        width: 2rem;
        left: 0;
        margin-top: 0;
    }
    .secAfter .listGuarantee .tit .txt{
        margin-top: 0;
        font-size: var(--spFontSize12);
        white-space: normal;
    }
    .secAfter .listGuarantee .tit .em{
        font-size: var(--spFontSize20);
    }
    .secAfter .listGuarantee .desc{
        margin-top: 0.5rem;
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_18);
    }
}

/* -----------------------------------------------
    schedule
----------------------------------------------- */
.secSchedule{
    margin-top: 7.8rem;
}
.secSchedule .boxSchedule{
    display: flex;
    align-items: center;
    gap: 4rem;
    padding: 0rem 4rem 0rem 0;
    background-color: var(--whiteColor);
    border-radius: 1rem;
    overflow: hidden;
}
.secSchedule .boxImg{
    width: 35rem;
    flex-shrink: 0;
    border-radius: 0 1rem 1rem 0;
    overflow: hidden;
}
.secSchedule .boxTimeline{
    flex: 1;
    min-width: 0;
    max-width: 88.8rem;
    margin: 0 auto;
}
@media only screen and (max-width:1520px){
    .secSchedule .boxImg{
        width: 30rem;
    }
}
@media only screen and (max-width:1215px){
    .secSchedule{
        margin-top: 2.7rem;
    }
    .secSchedule .boxSchedule{
        flex-direction: column;
        align-items: stretch;
        gap: 2.7rem;
        padding: 0 0 2.4rem;
    }
    .secSchedule .boxImg{
        width: 100%;
        border-radius: 0;
    }
    .secSchedule .boxTimeline{
        padding: 0;
        max-width: 29.6rem;
        width: calc(296 / 335 * 100%);
    }
}

/* -----------------------------------------------
    consult
----------------------------------------------- */
.secConsult.lazyloaded{
    background: url(../img/flow/bgModelhosu.jpg) center center / cover no-repeat;
}
.secConsult{
    margin-top: 14.5rem;
    padding: 10rem 0 10rem;
}
.secConsult .boxConsult{
    display: flex;
    border-radius: 1rem;
    overflow: hidden;
}
.secConsult .boxImg{
    width: 46%;
    flex-shrink: 0;
    max-width: 78rem;
}
.secConsult .boxImg img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.secConsult .boxTxt{
    width: 55%;
    padding: 15rem 7rem 12rem 10rem;
    background-color: var(--keyColor);
    color: var(--whiteColor);
    border-radius: 0 1rem 1rem 0;
}
.secConsult .lead{
    font-size: var(--pcFontSize17);
    color: var(--NewColor);
    font-weight: bold;
}
.secConsult .tit{
    display: flex;
    gap: 1.8rem;
    margin-top: 2.4rem;
    font-size: var(--pcFontSize40);
    font-weight: bold;
    align-items: center;
}
.secConsult .tit .icon{
    width: 5rem;
    flex-shrink: 0;
}
.secConsult .txt{
    margin-top: 3.4rem;
    font-size: var(--pcFontSize17);
    line-height: var(--pcLineHeight17_34);
}
.secConsult .listBtn{
    display: flex;
    gap: 1.6rem;
    margin-top: 4rem;
    max-width: 67rem;
}
.secConsult .listBtn .item{
    width: calc((100% - 1.6rem) / 2);
}
.secConsult .btn{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 7.5rem;
    padding: 1.4rem 3rem;
    padding-left: 3.5rem;
    border-radius: 37.5rem;
    font-size: var(--pcFontSize17);
    font-weight: bold;
    line-height: var(--pcLineHeight13_20);
    transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}
.secConsult .btn::after{
    content: "";
    width: 1.2rem;
    height: 0.7rem;
    flex-shrink: 0;
    background: center center / contain no-repeat;
    transition: background-image 0.3s;
}
.secConsult .btn.typeWhite{
    background-color: var(--whiteColor);
    color: var(--textColor);
}
.secConsult .btn.typeWhite::after{
    background-image: url(../img/common/imgBtnArrow.png);
}
.secConsult .btn.typeOutline{
    background-color: transparent;
    border: 1px solid var(--whiteColor);
    color: var(--whiteColor);
}
.secConsult .btn.typeOutline::after{
    background-image: url(../img/common/imgBtnArrow_w.png);
}
@media only screen and (max-width:1515px){
    .secConsult .btn {
        font-size: var(--pcFontSize14);
    }
}
@media only screen and (min-width:1216px){
    .secConsult .btn.typeWhite:hover{
        background-color: var(--textColor);
        color: var(--whiteColor);
    }
    .secConsult .btn.typeWhite:hover::after{
        background-image: url(../img/common/imgBtnArrow_w.png);
    }
    .secConsult .btn.typeOutline:hover{
        background-color: var(--whiteColor);
        border-color: var(--whiteColor);
        color: var(--keyColor);
    }
    .secConsult .btn.typeOutline:hover::after{
        background-image: url(../img/common/imgBtnArrow.png);
    }
}
@media only screen and (max-width:1215px){
    .secConsult.lazyloaded{
        background: url(../img/flow/bgModelhosu_sp.jpg) center center / cover no-repeat;
    }
    .secConsult{
        margin-top: 4.6rem;
        padding: 4.6rem 0 4.8rem;
    }
    .secConsult .boxConsult{
        flex-direction: column;
        border-radius: 0.5rem;
    }
    .secConsult .boxImg{
        width: 100%;
    }
    .secConsult .boxTxt{
        width: 100%;
        padding: 2.8rem 2rem 2.8rem;
        border-radius: 0 0 1rem 1rem;
    }
    .secConsult .lead{
        font-size: var(--spFontSize10);
        line-height: 1.4;
    }
    .secConsult .tit{
        gap: 0.8rem;
        margin-top: 0.5rem;
        font-size: var(--spFontSize18);
        line-height: 1.2;
    }
    .secConsult .tit .icon{
        width: 2.4rem;
    }
    .secConsult .txt{
        margin-top: 1.2rem;
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
    }
    .secConsult .listBtn{
        flex-direction: column;
        gap: 1.2rem;
        margin: 0 auto;
        margin-top: 2rem;
        max-width: 21.5rem;
    }
    .secConsult .listBtn .item{
        width: 100%;
    }
    .secConsult .btn{
        min-height: 5rem;
        padding: 1.2rem 2rem;
        font-size: var(--spFontSize12);
    }
}
#footer {
    margin-top:0;
}
@media only screen and (max-width: 1215px) {
    #footer {
        margin-top: 0;
    }
}

