/* ▼全ページ共通 */
.bgGradient {
    position: relative;
    overflow: visible;
    border-radius: 10rem;
    padding-top: 0.6rem;
}
.bgGradient::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-image: url(../img/common/bgBoby.png);
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    z-index: -999;
    pointer-events: none;
}
@media only screen and (max-width:1215px) {
    .bgGradient {
        order: 1;
        padding-top: 11.4rem;
    }
    .bgGradient::before {
        background-image: linear-gradient(to bottom right, #fffdff 15%, #d8e5f7 100%);
    }
}
.cmnRecruit_title.min .title_eng {
    font-size: var(--pcFontSize80);
    margin-bottom: 3.2rem;
}
.cmnRecruit_title.min .title_jpn {
    font-size: var(--pcFontSize18);
    padding-left: 1.7rem;
    margin-left: 3.4rem;
}
@media only screen and (max-width:1215px) {
    .cmnRecruit_title.min .title_eng {
        font-size: var(--spFontSize38);
        margin-bottom: 1rem;
    }
    .cmnRecruit_title.min .title_jpn {
        font-size: var(--spFontSize18);
        padding-left: 0;
        margin-left: 0;
    }
}
/*-----------------------------------------------
    secPhilosophy
-----------------------------------------------*/
.secPhilosophy{
    margin-top: 0;
    padding-bottom: 20rem;
}
.secPhilosophy.lazyloaded{
    background: url(../img/philosophy/bgMVB02.png) center top / contain no-repeat;
}
.secPhilosophy .titRight{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_30);
    letter-spacing: var(--pcLetterSpacing16_50);
}
.secPhilosophy .cmnRecruit_title.top{
    flex-shrink: 0;
    display: flex;
    gap: 23.3rem;
    align-items: flex-end;
}
@media only screen and (max-width:1215px) {
    .secPhilosophy .cmnRecruit_title.top {
        display: block;
    }
    .secPhilosophy .titRight {
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_26);
        letter-spacing: var(--spLetterSpacing14_30);
        margin-top: 5rem;
    }
    .secPhilosophy.lazyloaded {
        background: none;
    }
}
/* @media only screen and (max-width:990px) {
    .secPhilosophy {
        background: url(../img/philosophy/bgMVB02_sp.png) center -75rem / contain no-repeat;
    }
}
@media only screen and (max-width:700px) {
    .secPhilosophy {
        background: url(../img/philosophy/bgMVB02_sp.png) center -45rem / contain no-repeat;
    }
}
@media only screen and (max-width:500px) {
    .secPhilosophy {
        background: url(../img/philosophy/bgMVB02_sp.png) center -20rem / contain no-repeat;
    }
}
@media only screen and (max-width:400px) {
    .secPhilosophy {
        background: url(../img/philosophy/bgMVB02_sp.png) center -38rem / contain no-repeat;
    }
} */
/*-----------------------------------------------
    secMission
-----------------------------------------------*/
.secMission.lazyloaded{
    background: url(../img/philosophy/bgMission.jpg) center center / cover no-repeat;
}
.secMission{
    border-radius: 10rem;
    color: var(--Colorwhite);
    height: 100rem;
    padding: 19rem 0 0;
    margin-top: 16.7rem;
}
.secMission .boxInner{
    display: flex;
    gap: 16.318%;
    justify-content: space-between;
}
.secMission .cmnRecruit_title{
    flex-shrink: 0;
}
.secMission .boxTxt{
    padding-top: 4rem;
}
.secMission .txtBurn{
    mix-blend-mode: soft-light;
}

.secPhilosophy .tit{
    font-size: var(--pcFontSize48);
    font-weight: bold;
    line-height: var(--pcLineHeight48_80);
    letter-spacing: var(--pcLetterSpacing48_50);
}
.secPhilosophy .txt{
    font-size: var(--pcFontSize24);
    font-weight: bold;
    line-height: var(--pcLineHeight24_50);
    letter-spacing: var(--pcLetterSpacing24_50);
}
.secMission .boxTxt .tit{
    margin-bottom: 5rem;
}
.secMission .boxTxt .txt{
    margin-bottom: 5rem;
}
.secMission .cmnRecruit_title .title_jpn::before {
    background-color: var(--Colorwhite);
}
@media only screen and (max-width:1215px) {
    .secPhilosophy{
        margin-top: 0;
        padding-bottom: 8rem;
    }
    .secMission{
        border-radius: 3rem;
        flex-direction: column;
        gap: 3.7rem;
        height: auto;
        padding: 7.5rem 0 3.4rem;
        margin: 0 auto;
    }
    .secMission .boxInner {
        gap: 16.318%;
        flex-direction: column;
    }
    .secMission .boxImg{
        width: 11.1rem;
        margin: 3.7rem auto 0;
    }
    .secMission.lazyloaded{
        background: url(../img/philosophy/bgMission_sp.jpg) center center / cover no-repeat;
    }
    .secPhilosophy .tit{
        font-size: var(--spFontSize30);
        line-height: var(--spLineHeight30_50);
        letter-spacing: 0;
    }
    .secPhilosophy .txt{
        font-size: var(--spFontSize18);
        line-height: var(--spLineHeight18_36);
        letter-spacing: 0;
    }
    .secMission .cmnRecruit_title {
        padding: 0 4rem;
    }
    .secMission .cmnRecruit_title .title_eng {
        font-size: var(--spFontSize36);
    }
    .secMission .cmnRecruit_title .title_jpn {
        font-size: var(--spFontSize18);
        line-height: var(--spLineHeight18_30);
        padding-left: 0;
        margin-left: 0;
    }
    .secMission .boxTxt {
        padding: 0 4rem;
        margin-top: 4.5rem;
    }
    .secMission .boxTxt .tit{
        margin-bottom: 3rem;
        white-space: nowrap;
    }
    .secMission .boxTxt .txt{
        margin-bottom: 3.7rem;
        white-space: nowrap;
    }
}
@media only screen and (max-width:370px) {
    .secPhilosophy .tit{
        font-size: var(--spFontSize22);
    }
    .secPhilosophy .txt{
        font-size: var(--spFontSize16);
    }
}
/*-----------------------------------------------
    secMVB
-----------------------------------------------*/
.secMVB{
    margin-top: 14rem;
    display: flex;
    gap: 9.167%;
}
.secMVB .boxImg{
    max-width: 83rem;
    width: 43.2292%;
    position: relative;
}
.secMVB .boxTxt{
    flex-shrink: 0;
    margin-top: 4.5rem;
}
.secMVB .boxTxt .titEng{
    font-size: var(--pcFontSize28);
    letter-spacing: var(--pcLetterSpacing28_50);
    font-weight: bold;
}
.secMVB .boxTxt .colorGradient{
    font-size: var(--pcFontSize28);
    letter-spacing: var(--pcLetterSpacing28_50);
    background: linear-gradient(90deg, #2d78e8, #3dd583);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

.secMVB .boxTxt .titJp{
    font-size: var(--pcFontSize48);
    letter-spacing: var(--pcLetterSpacing48_50);
    font-weight: bold;
    margin-top: 4rem;
}

.secLight {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 4rem 0 0;
    height: 80rem;
    position: relative;
}

.secLight .bgWrapper {
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

/* .secLight::before {
    content: '';
    position: absolute;
    background: url(../img/philosophy/bgMVB.png) center top / cover no-repeat;
    width: 212rem;
    height: 141.3rem;
    top: -52rem;
    left: -70rem;
    mix-blend-mode: lighten;
    z-index: -1;
    opacity: 0;
    filter: blur(20px);
    transform: scale(1.05);
    transition: opacity 1.2s ease, filter 1.2s ease, transform 1.2s ease;
} */

.secLight.bgVisible::before {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
}

.secLight .txtAnime {
    font-size: var(--pcFontSize24);
    line-height: var(--pcLineHeight24_50);
    letter-spacing: var(--pcLetterSpacing24_50);
    display: block;
    visibility: hidden;
    width: 100%;
    /* JSで復元 */
    margin-bottom: 5rem;
}

.secLight .boxTxt {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
}

.cursor {
    display: inline-block;
    width: 2px;
    height: 1em;
    margin-left: 2px;
    background-color: #111;
    animation: blinkCursor 1s step-start infinite;
    vertical-align: bottom;
    position: relative;
    top: -1.2rem;
}

@keyframes blinkCursor {
    50% {
        opacity: 0;
    }
}

@media only screen and (max-width:1215px) {
    .secMVB .boxImg {
        max-width: unset;
        width: 100%;
    }
    .secMVB .boxTxt {
        margin-top: 0.6rem;
    }
    .secMVB {
        margin-top: 3.3rem;
        display: block;
        gap: 9.167%;
    }
    .secMVB .boxTxt .titEng {
        font-size: var(--spFontSize18);
        line-height: var(--spLineHeight18_36);
        letter-spacing: var(--spLetterSpacing18_50);
        font-weight: normal;
    }
    .secMVB .boxTxt .colorGradient {
        font-size: var(--spFontSize18);
        line-height: var(--spLineHeight18_36);
        letter-spacing: var(--spLetterSpacing18_50);
    }
    .secMVB .boxTxt .titJp {
        font-size: var(--spFontSize30);
        letter-spacing: 0;
        margin-top: 1.2rem;
    }
    .secLight {
        margin: 0 auto 0;
        padding: 2rem 0 5rem;
        height: auto;
    }

    .secLight .bgWrapper {
        margin: 0 auto;
        width: 100%;
    }

    .secLight .txtAnime {
        font-size: var(--spFontSize18);
        line-height: var(--spLineHeight18_36);
        letter-spacing: 0;
        margin-bottom: 3.8rem;
    }

    /* .secLight::before {
        content: '';
        position: absolute;
        background: url(../img/index/bgText_sp.png) center top / cover no-repeat;
        width: 100%;
        height: 68.1rem;
    } */
}

/*-----------------------------------------------
    secVision
-----------------------------------------------*/
.secVision{
    margin-top: 19rem;
}
.secVision .boxInner{
    display: flex;
    gap: 13.334%;
}
.secVision .boxTxt{
    flex-shrink: 0;
}
.secVision .tit{
    margin-top: 7rem;
}
.secVision .txt{
    margin-top: 5rem;
}
.secVision .underImg{
    margin: -8rem auto 0;
    max-width: 179rem;
    width: 93.2292%;
}

.secVision .boxImg{
    margin-top: 1rem;
}
.secVision .colorGradient{
    background: linear-gradient(90deg, #2d78e8, #3dd583);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}
@media only screen and (max-width:1700px) {
    .secVision .boxInner {
        gap: 4%;
    }
}
@media only screen and (max-width:1600px) {
    .secVision .boxInner {
        gap: 2%;
        justify-content: space-between;
    }
    .secVision .underImg {
        margin: 0 auto 0;
    }
    .secVision .boxImg img{
        width: 100%;
        height: auto;
    }
}
@media only screen and (max-width:1215px) {
    .secVision {
        margin-top: 7.4rem;
    }
    .secVision .tit {
        margin-top: 3.5rem;
    }
    .secVision .txt {
        margin-top: 2rem;
    }
    .secVision .txt + .txt{
        margin-top: 5rem;
    }
    .secVision .boxInner {
        display: block;
    }
    .secVision .boxImg .imgInner {
        width: 21rem;
        margin: 0 0 0 auto;
    }
    .secVision .underImg {
        margin: -14rem auto 0 0;
        width: 89.7436%;
    }
    .secVision .boxImg {
        margin-top: 6rem;
    }
}


/*-----------------------------------------------
    secBase
-----------------------------------------------*/
.secBase{
    width: 100%;
    position: relative;
    margin-top: 19rem;
}
.secBase .inner{
    position: relative;
}
.secBase .basetitlebox{
    text-align: center;
}
.secBase .basetitlebox .titEng{
    font-size: var(--pcFontSize110);
}
.secBase .basetitlebox .titJpn{
    font-size: var(--pcFontSize22);
    line-height: var(--pcLineHeight22_50);
    margin-top: 2rem;
}
.secBase .colorGradient{
    background: linear-gradient(90deg, #2d78e8, #3dd583);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}
.secBase .list{
    width: 100%;
    margin-top: 7rem;
}
.secBase .item{
    background-color: var(--Colorwhite);
    border-radius:10rem;
    box-shadow: 0 0 1.5rem 0 var(--box-shadow_Color_10);
    padding: 8rem;
    padding-left: 15.5rem;
}
.secBase .itemInner{
    display: flex;
    align-items: center;
}
.secBase .item + .item{
    margin-top: 8rem;
}
.secBase .imgArea{
    width: calc(900 / (1820 - (80 + 155)) * 100%);
    max-width: 90rem;
    border-radius: 5rem;
    overflow: hidden;
}
.secBase .txtArea{
    flex: 1;
    padding-right: 5rem;
}
.secBase .txtIn{
    display: inline-block;
    text-align: left;
    width: 100%;
}
.secBase .subtit{
    font-size: var(--pcFontSize22);
    line-height: var(--pcLineHeight22_40);
    color: var( --color_Base);
}
.secBase .imgtitEng{
    display: inline-block;
    max-width: 100%;
    margin-top: 2rem;
    margin-left: 0.6rem;
}
.secBase .imgtitEng.type01{
    width: 29.8rem;
}
.secBase .imgtitEng.type02{
    width: 32.7rem;
}
.secBase .imgtitEng.type03{
    width: 34.8rem;
}
.secBase .tit{
    font-size: var(--pcFontSize30);
    line-height: var(--pcLineHeight30_40);
    margin-top: 2.8rem;
}
.secBase .txtbox{
    text-align: left;
    margin-top: 4.7rem;
}
.secBase .txtbox .txt{
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_34);
}
@media only screen and (min-width:1216px) {
    .secBase .txtbox .txt{
        letter-spacing: var(--pcLetterSpacing18_100);
    }
}
@media only screen and (max-width:1720px) {
    .secBase .item{
        padding-left: 8rem;
    }
    .secBase .imgArea{
        width: calc(900 / (1820 - (80 * 2)) * 100%);
    }
}
@media only screen and (max-width:1215px) {
    .secBase{
        margin-top: 7.4rem;
    }
    .secBase .basetitlebox .titEng{
        font-size: var(--spFontSize42);
    }
    .secBase .basetitlebox .titJpn{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_28);
        margin-top: 1.7rem;
    }
    .secBase .list{
        margin-top: 3.2rem;
    }
    .secBase .titRight {
        margin-top: 3rem;
    }
    .secBase .item{
        border-radius:4.5rem;
        padding: 5.3rem 0 6rem;
    }
    .secBase .itemInner{
        display: block;
        margin: 0 auto;
    }
    .secBase .item + .item{
        margin-top: 3rem;
    }
    .secBase .imgArea{
        width: 100%;
        max-width: 100%;
        border-radius: 2rem;
        margin-top: 3.4rem;
    }
    .secBase .txtArea{
        width: 100%;
        padding: 0;
    }
    .secBase .txtIn{
        display:block;
    }
    .secBase .subtit{
        font-size: var(--spFontSize18);
        line-height: var(--spLineHeight18_26);
    }
    .secBase .imgtitEng{
        margin-top: 1rem;
        margin-left:0;
    }
    .secBase .imgtitEng.type01{
        width: 13.7rem;
    }
    .secBase .imgtitEng.type02{
        width: 15.1rem;
    }
    .secBase .imgtitEng.type03{
        width: 16.1rem;
    }
    .secBase .tit{
        font-size: var(--spFontSize22);
        line-height: var(--spLineHeight22_30);
        margin-top: 1.1rem;
    }
    .secBase .txtbox{
        margin-top: 2rem;
    }
    .secBase .txtbox .txt{
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_26);
    }
}

/*-----------------------------------------------
    secTopiaCredo
-----------------------------------------------*/
.secTopiaCredo{
    margin-top: 19rem;
}
.secTopiaCredo .colorGradient{
    background: linear-gradient(90deg, #2d78e8, #3dd583);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}
.secTopiaCredo .listTopiaCredo{
    margin-top: 0rem;
}
.secTopiaCredo .itemTopiaCredo{
    display: flex;
    align-items: center;
    padding: 7.4rem 0;
    border-bottom: 0.1rem solid var(--box-shadow_Color_30);
}
.secTopiaCredo .itemTopiaCredo:first-child{
    padding-top: 6.4rem;
}
.secTopiaCredo .boxTit{
    display: flex;
    align-items: center;
    width: 49rem;
    flex-shrink: 0;
}
.secTopiaCredo .num{
    font-size: var(--pcFontSize18);
    letter-spacing: 0;
    border: 0.1rem solid var(--box-shadow_Color_30);
    border-radius: 17.5rem;
    width: 5rem;
    height: 3.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    margin-right: 5rem;
}
.secTopiaCredo .titList{
    font-size: var(--pcFontSize40);
    letter-spacing: var(--pcLetterSpacing40_50);
    font-weight: bold;
}
.secTopiaCredo .txtList{
    font-size: var(--pcFontSize18);
    letter-spacing: var(--pcLetterSpacing18_50);
    line-height: var(--pcLineHeight18_34);
}

@media only screen and (max-width:1215px) {
    .secTopiaCredo {
        margin-top: 8rem;
    }
    .secTopiaCredo .itemTopiaCredo {
        display: block;
        padding: 3rem 0;
    }
    .secTopiaCredo .itemTopiaCredo:first-child {
        padding-top: 4rem;
    }
    .secTopiaCredo .num {
        font-size: var(--spFontSize13);
        border-radius: 12.5rem;
        width: 3.5rem;
        height: 2.5rem;
        margin-right: 1.5rem;
    }
    .secTopiaCredo .titList {
        font-size: var(--spFontSize20);
        letter-spacing: var(--spLetterSpacing20_50);
    }
    .secTopiaCredo .txtList {
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_50);
        line-height: var(--spLineHeight14_26);
        margin-top: 2.2rem;
    }
}