/*==============================
    page top
==============================*/
.pnkz {
    background: var(--bgColorBeige);
}
.indexPerformance .secPageTop{
    height: 100rem;
    align-items: center;
    padding:0 0 8rem;
    text-align:left;
}
.indexPerformance .secPageTop .pageTopBg{
    background-image:url("../img/performance/fvImg.jpg");
}
.indexPerformance .secPageTop .pageTopInner{
    width:100%;
    max-width: 142rem;
    padding: 0;
    box-sizing:border-box;
    text-align:left;
    position: relative;
    top: 3.5rem;
}
.indexPerformance .secPageTop .pageTopTit{
    margin:0;
}
.indexPerformance .secPageTop .pageTopTitSub{
    display:flex;
    align-items:center;
    gap:1.2rem;
    font-size:var(--pcFontSize18);
    font-weight:400;
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
    margin:0 0 1.6rem;
}
.indexPerformance .secPageTop .pageTopTitSub::before{
    content:"";
    display:block;
    width: 4.8rem;
    height:1px;
    background:var(--textColorWhite);
}
.indexPerformance .secPageTop .pageTopTitEn{
    display:block;
    font-size: var(--pcFontSize110);
    font-weight: bold;
    line-height:1;
    letter-spacing:0.08em;
    position: relative;
    top: 1.8rem;
}
.indexPerformance .secPageTop .pageTopTitJa{
    display:block;
    margin: 2.4rem 0 0;
    font-size: var(--pcFontSize24);
    font-weight: bold;
    line-height: calc(42 / 24);
    letter-spacing:var(--pcLetterSpacing40);
    position: relative;
    top: 2.1rem;
}

.indexPerformance .secPageTop .pageTopScroll{
    position:absolute;
    left: 9rem;
    bottom:0;
    display:flex;
    align-items:flex-start;
    gap:1.2rem;
}
.indexPerformance .secPageTop .pageTopScrollLine{
    position:relative;
    overflow:hidden;
    width:1px;
    height:20rem;
    background:var(--textColorWhite25);
}
.indexPerformance .secPageTop .pageTopScrollLineBar{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:4rem;
    background:var(--textColorWhite);
    animation:pageTopScrollLine 1.8s ease-in-out infinite alternate;
}
.indexPerformance .secPageTop .pageTopScrollTxt{
    display:inline-block;
    font-size:var(--pcFontSize14);
    line-height:calc(22 / 14);
    letter-spacing:var(--pcLetterSpacing40);
    writing-mode:vertical-rl;
    color:var(--textColorWhite);
}
@keyframes pageTopScrollLine{
    0%{ top:0; }
    100%{ top:65%; }
}
@media (prefers-reduced-motion:reduce){
    .indexPerformance .secPageTop .pageTopScrollLineBar{
        animation:none;
        top:0;
    }
}

@media only screen and (max-width:1215px){
    .indexPerformance .secPageTop{
        height:100svh;
        padding:0 0 5rem;
        align-items:flex-end;
        text-align:left;
        max-height: 56.7rem;
    }
    .indexPerformance .secPageTop .pageTopInner{
        padding: 0 calc((17 / 375) * var(--widthBase));
        top: -0.3rem;
        max-width: 40rem;
    }
    .indexPerformance .secPageTop .pageTopTitSub{
        font-size: var(--spFontSize12);
        margin:0 0 1rem;
        gap: 1.1rem;
    }
    .indexPerformance .secPageTop .pageTopTitSub::before{
        width: 2rem;
    }
    .indexPerformance .secPageTop .pageTopTitEn{
        font-size:var(--spFontSize44);
        letter-spacing:var(--spLetterSpacing40);
        top: 0.7rem;
    }
    .indexPerformance .secPageTop .pageTopTitJa{
        margin:1.6rem 0 0;
        font-size: var(--spFontSize15);
        line-height: calc(26 / 15);
        top:0;
    }
    .indexPerformance .secPageTop .pageTopScroll{
        left:calc((20 / 375) * var(--widthBase));
        bottom:-5rem;
        gap:0.8rem;
        display: none;
    }
    .indexPerformance .secPageTop .pageTopScrollLine{
        height:12rem;
    }
    .indexPerformance .secPageTop .pageTopScrollTxt{
        font-size:var(--spFontSize11);
    }
}
@media only screen and (max-width:767px){
    .indexPerformance .secPageTop .pageTopBg{
        background-image:url("../img/performance/fvImg_sp.jpg");
    }
}
#container {
    background: var(--bgColorBeige);
}
/*==============================
    secIntro
==============================*/
.secIntro{
    position:relative;
    margin: 0;
    padding: 6.3rem 0 4.8rem;
    background: var(--bgColorBeige);
    overflow: visible;
}
.secIntro .introInner{
    text-align:center;
}
.secIntro .introCopy{
    max-width:74rem;
    margin:0 auto;
}
.secIntro .introTit{
    margin: 0px 0 4.6rem;
    font-size: var(--pcFontSize34);
    font-weight:500;
    line-height: calc(75 / 44);
    letter-spacing: 0;
}
.secIntro .introTitLine{
    display:block;
    width:fit-content;
    margin: 0 auto 2.2rem;
    padding: 0 0 0.3rem;
    border-bottom:1px solid currentColor;
}
.secIntro .introLead{
    margin:0;
    font-size: var(--pcFontSize15);
    line-height: calc(40 / 15);
    letter-spacing: 0;
}

@media only screen and (max-width:1215px){
    .secIntro{
        margin: 0;
        padding: 7.3rem 0 3.5rem;
    }
    .secIntro .introCopy{
        max-width:none;
        text-align: center;
    }
    .secIntro .introTit{
        margin: 0 0 2.3rem;
        font-size: var(--spFontSize20);
        line-height: calc(40 / 20);
        letter-spacing:0;
    }
    .secIntro .introTitLine{
        display: inline-block;
        margin: 0 auto 0rem;
        padding: 0;
    }
    .secIntro .introLead{
        font-size: var(--spFontSize13);
        line-height: calc(28 / 14);
        letter-spacing:0;
    }
}

/*==============================
    secNumbers
==============================*/
.secNumbers{
    padding: 8.5rem 0 10rem;
    background-image:url("../img/performance/performanceBg.jpg");
    background-repeat:no-repeat;
    background-position:center;
    background-size:cover;
    color:var(--textColorWhite);
    text-align:center;
}
.secNumbers .numbersInner{
    max-width:172rem;
}
.secNumbers .numbersTit{
    margin: 0 0 2.5rem;
    font-size: var(--pcFontSize44);
    font-weight:500;
    line-height: calc(70 / 44);
    letter-spacing: var(--pcLetterSpacing150);
}
.secNumbers .numbersEn{
    margin: 0 0 4.6rem;
    font-size: var(--pcFontSize20);
    font-weight:500;
    line-height:1;
    letter-spacing: 0;
}
.secNumbers .numbersLead{
    margin:0 0 5rem;
    font-size: var(--pcFontSize15);
    line-height:calc(28 / 16);
    letter-spacing:0;
}
.secNumbers .numbersChart{
    max-width: 103.7rem;
    margin:0 auto;
}
.secNumbers .numbersChartImg{
    width:100%;
    height:auto;
}

@media only screen and (max-width:1215px){
    .secNumbers{
        padding: 4.2rem 0 4.8rem;
        background-image:url("../img/performance/performanceBg_sp.jpg");
    }
    .secNumbers .numbersTit{
        font-size: var(--spFontSize20);
        margin:0 0 1.2rem;
        letter-spacing: 0;
    }
    .secNumbers .numbersEn{
        font-size:var(--spFontSize12);
        margin:0 0 1.6rem;
    }
    .secNumbers .numbersLead{
        font-size: var(--spFontSize15);
        margin: 0 0 2.5rem;
        line-height: calc(26 / 15);
    }
}

/*==============================
    secFeature
==============================*/
.secFeature{
    padding: 12.1rem 0 15rem;
}
.secFeature .featureHead{
    text-align:center;
    margin: 0 0 7.8rem;
}
.secFeature .featureTit{
    margin: 0 0 5.1rem;
    font-size:var(--pcFontSize44);
    font-weight:500;
    line-height: calc(65 / 44);
    letter-spacing:0;
}
.secFeature .featureTitNum{
    font-size:6rem;
}
.secFeature .featureTitLine{
    display:block;
    width:fit-content;
    margin: 0 auto 1.8rem;
    padding: 0;
    border-bottom:1px solid currentColor;
}
.secFeature .featureLead{
    margin:0;
    font-size:var(--pcFontSize15);
    line-height:calc(28 / 15);
}
.secFeature .featureList{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap: 15rem;
    max-width:142rem;
    margin:0 auto;
}
.secFeature .featureItem{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap: 0rem;
    align-items:center;
    position:relative;
}
.secFeature .featureItem:nth-child(even){
    direction:rtl;
}
.secFeature .featureItem:nth-child(even) > *{
    direction:ltr;
}
.secFeature .featureItemImg{
    overflow:hidden;
    max-width: 61.8rem;
}
.secFeature .featureItemImg img{
    width:100%;
    height:auto;
    display:block;
}
.secFeature .featureItemBody{
    position:relative;
    top: -0.2rem;
}
.secFeature .featureItemNum{
    margin: 0 0 4.1rem;
    font-size: var(--pcFontSize20);
    font-weight:400;
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
    color: var(--performanceColor);
    display:flex;
    align-items:center;
    gap: 5rem;
}
.secFeature .featureItemNum::after{
    content:"";
    display:block;
    width:3rem;
    height:1px;
    background: var(--performanceColor);
    left: 3.2rem;
    position: absolute;
}
.secFeature .featureItemNumNo{
    font-size: var(--pcFontSize20);
    line-height: 1;
    font-weight: 500;
}
.secFeature .featureItemTit{
    margin:0 0 2rem;
    font-size: var(--pcFontSize44);
    font-weight: bold;
    line-height:1.4;
    letter-spacing:var(--pcLetterSpacing40);
    position: relative;
    top: -1.2rem;
}
.secFeature .featureItemCatch{
    margin:0 0 1.6rem;
    font-size: var(--pcFontSize24);
    font-weight: bold;
    line-height: calc(36 / 24);
    position: relative;
    top: 1.2rem;
}
.secFeature .featureItemTxt{
    margin: 0 0 6rem;
    font-size: var(--pcFontSize15);
    line-height: calc(40 / 15);
    position: relative;
    top: 0.6rem;
}
.secFeature .featureItemBtn{
    display:inline-flex;
    align-items:center;
    gap:1.2rem;
    box-sizing:border-box;
    padding: 2.6rem 2.8rem;
    border:1px solid var(--bgColorDarkGray);
    background:var(--textColor);
    color:var(--textColorWhite);
    font-size:var(--pcFontSize14);
    text-decoration:none;
    border-radius:10rem;
    min-width: 28rem;
    justify-content:space-between;
    white-space:nowrap;
    transition:background 0.2s ease-out, color 0.2s ease-out;
    font-weight: bold;
}
.secFeature .featureItemBtn:hover{
    background:var(--bgColor);
    color:var(--bgColorDark);
}
.secFeature .featureItemBtnArrow{
    width:1.7rem;
    height:auto;
    position:relative;
    top:0.1rem;
    transition:filter 0.2s ease-out;
}
.secFeature .featureItemBtn:hover .featureItemBtnArrow{
    filter:brightness(0);
}
.secFeature .featureItem::after{
    position:absolute;
    right:0;
    bottom: 0rem;
    content:"";
    width: 20rem;
    height: 30rem;
    background-repeat:no-repeat;
    background-position:right bottom;
    background-size:contain;
    pointer-events:none;
}
.secFeature .featureItem:nth-child(1)::after{ background-image:url("../img/performance/nnmber01.png"); }
.secFeature .featureItem:nth-child(2)::after{background-image:url("../img/performance/nnmber02.png");right: auto;left: calc(50% - 23rem);width: 23rem;height: 30rem;}
.secFeature .featureItem:nth-child(3)::after{background-image:url("../img/performance/nnmber03.png");bottom: -8rem;width: 22rem;}
.secFeature .featureItem:nth-child(4)::after{background-image:url("../img/performance/nnmber04.png");right: auto;left: calc(50% - 23rem);width: 23rem;height: 30rem;bottom: -6rem;}
.secFeature .featureItem:nth-child(5)::after{
    background-image:url("../img/performance/nnmber05.png");
    width: 25rem;
    height: 21rem;
    bottom: -8rem;
}

@media only screen and (max-width:1215px){
    .secFeature{
        overflow:hidden;
        padding: 3.4rem 0 3rem;
    }
    .secFeature .featureHead{
        margin: 0 0 3.2rem;
    }
    .secFeature .featureTit{
        font-size: var(--spFontSize24);
        margin:0 0 2.4rem;
        line-height: calc(40 / 20);
        letter-spacing: var(--spLetterSpacing100);
    }
    .secFeature .featureTitNum{
        font-size: var(--spFontSize30);
    }
    .secFeature .featureTitLine{
        margin: 0 auto 0;
        padding: 0;
    }
    .secFeature .featureLead{
        font-size: var(--spFontSize16);
        line-height: calc(30 / 16);
        letter-spacing:0;
    }
    .secFeature .featureList{
        gap: 6.1rem;
    }
    .secFeature .featureItem{
        grid-template-columns:1fr;
        gap: 3.3rem;
        align-items:stretch;
    }
    .secFeature .featureItem:nth-child(even){
        direction:ltr;
    }
    .secFeature .featureItemImg{
        max-width:none;
        width: 100%;
        margin-left: auto;
        border-radius:0;
    }
    .secFeature .featureItemImg img{
        width:100%;
        height:auto;
        vertical-align:bottom;
    }
    .secFeature .featureItemBody{
        top:0;
        width: 92%;
        margin: 0 auto;
    }
    .secFeature .featureItemNum{
        margin: 0 0 1.3rem;
        font-size: var(--spFontSize12);
        gap: 3.4rem;
        letter-spacing: var(--spLetterSpacing40);
    }
    .secFeature .featureItemNum::after{
        width: 2rem;
        left: 2.2rem;
    }
    .secFeature .featureItemNumNo{
        font-size: var(--spFontSize12);
    }
    .secFeature .featureItemTit{
        font-size: var(--spFontSize24);
        margin: 0 0 1.9rem;
        top:0;
        line-height:1.4;
    }
    .secFeature .featureItemCatch{
        font-size: var(--spFontSize18);
        margin: 0 0 0.6rem;
        top:0;
        line-height: calc(24 / 14);
        font-weight: bold;
    }
    .secFeature .featureItemTxt{
        font-size:var(--spFontSize12);
        line-height: calc(24 / 12);
        margin:0 0 2.4rem;
        top:0;
    }
    .secFeature .featureItemBtn{
        position:relative;
        z-index:1;
        padding: 1.8rem 2.5rem;
        min-width: calc((225 / 375) * var(--widthBase));
        font-size:var(--spFontSize12);
        gap:0.9rem;
    }
    .secFeature .featureItemBtnArrow{
        width:1.4rem;
    }
    .secFeature .featureItem::after,
    .secFeature .featureItem:nth-child(2)::after,
    .secFeature .featureItem:nth-child(3)::after,
    .secFeature .featureItem:nth-child(4)::after,
    .secFeature .featureItem:nth-child(5)::after{
        left:auto;
        right: calc((12 / 375) * var(--widthBase));
        bottom: calc((9 / 375) * var(--widthBase));
        width: calc((48 / 375) * var(--widthBase));
        height: calc((29 / 375) * var(--widthBase));
    }
    .secFeature .featureItem:nth-child(1)::after{
        background-image:url("../img/performance/nnmber01_sp.png");
    }
    .secFeature .featureItem:nth-child(2)::after{
        background-image:url("../img/performance/nnmber02_sp.png");
        width: calc((54 / 375) * var(--widthBase));
        height: calc((30 / 375) * var(--widthBase));
    }
    .secFeature .featureItem:nth-child(3)::after{
        background-image:url("../img/performance/nnmber03_sp.png");
        width: calc((51 / 375) * var(--widthBase));
        height: calc((49 / 375) * var(--widthBase));
        bottom: calc((-9 / 375) * var(--widthBase));
        right: calc((14 / 375) * var(--widthBase));
    }
    .secFeature .featureItem:nth-child(4)::after{
        background-image:url("../img/performance/nnmber04_sp.png");
        bottom: calc((-5 / 375) * var(--widthBase));
        width: calc((54 / 375) * var(--widthBase));
        height: calc((43 / 375) * var(--widthBase));
        right: calc((15 / 375) * var(--widthBase));
    }
    .secFeature .featureItem:nth-child(5)::after{
        background-image:url("../img/performance/nnmber05_sp.png");
        width: calc((53 / 375) * var(--widthBase));
        height: calc((56 / 375) * var(--widthBase));
        right: calc((12 / 375) * var(--widthBase));
        bottom: calc((-8 / 375) * var(--widthBase));
    }
}

/*==============================
    secGuarantee
==============================*/
.secGuarantee{
    padding: 10.8rem 0 9.8rem;
}
.secGuarantee .guaranteeInner{
    text-align:center;
}
.secGuarantee .guaranteeTit{
    display:inline-block;
    margin: 0 0 3.7rem;
    padding: 0 0 1rem;
    border-bottom:1px solid var(--textColor);
    font-size:var(--pcFontSize32);
    font-weight:500;
    line-height:calc(48 / 32);
    letter-spacing:var(--pcLetterSpacing40);
}
.secGuarantee .guaranteeLead{
    margin:0 0 5rem;
    font-size: var(--pcFontSize18);
    line-height: calc(40 / 18);
}
.secGuarantee .guaranteeBox{
    position:relative;
    overflow:hidden;
    padding: 6rem 3.5rem;
    border-radius:1.2rem;
    background:var(--bgColor);
}
.secGuarantee .guaranteeChartWrap{
    overflow:hidden;
}
.secGuarantee .guaranteeChartImg{
    width:100%;
    height:auto;
    vertical-align:bottom;
    max-width: 120rem;
}
.secGuarantee .guaranteeScroll{
    display:none;
}
.secGuarantee .guaranteeNote{
    margin: 2rem 0 0;
    font-size: var(--pcFontSize13);
    line-height:calc(22 / 12);
    letter-spacing: 0;
    text-align: center;
    color:var(--textColor);
}

@media only screen and (max-width:1215px){
    .secGuarantee{
        padding: 5rem 0 3.8rem;
    }
    .secGuarantee .guaranteeTit{
        margin: 0 0 2.5rem;
        padding: 0;
        font-size:var(--spFontSize20);
        line-height: calc(40 / 20);
        letter-spacing:0;
    }
    .secGuarantee .guaranteeLead{
        margin:0 0 3rem;
        font-size: var(--spFontSize13);
        line-height: calc(28 / 14);
        letter-spacing:0;
    }
    .secGuarantee .guaranteeBox{
        padding: calc((22 / 375) * var(--widthBase)) calc((20 / 375) * var(--widthBase));
        border-radius:0.8rem;
        padding-right: 0;
    }
    .secGuarantee .guaranteeChartWrap{
        overflow-x:auto;
        overflow-y:hidden;
        -webkit-overflow-scrolling:touch;
        overscroll-behavior-x:contain;
        scrollbar-width:none;
        -ms-overflow-style:none;
    }
    .secGuarantee .guaranteeChartWrap::-webkit-scrollbar{
        display:none;
    }
    .secGuarantee .guaranteeChartImg{
        width:calc((720 / 375) * var(--widthBase));
        max-width:none;
    }
    .secGuarantee .guaranteeScroll{
        display:block;
        position:absolute;
        top:50%;
        left:50%;
        z-index:2;
        width: calc((115 / 375) * var(--widthBase));
        pointer-events:none;
        transform:translate(-50%, -50%);
        transition:opacity 0.25s ease, visibility 0.25s ease;
    }
    .secGuarantee .guaranteeScroll.isHide{
        visibility:hidden;
        opacity:0;
    }
    .secGuarantee .guaranteeScrollImg{
        width:100%;
        height:auto;
    }
    .secGuarantee .guaranteeNote{
        margin: 0.8rem 0 0;
        font-size: var(--spFontSize11);
        line-height: calc(20 / 11);
        letter-spacing:0;
        text-align:center;
    }
}


