/* ▼全ページ共通 */
.bgGradient {
    position: relative;
    overflow: visible;
    border-radius: 10rem;
    padding-top: 0.6rem;
    padding-bottom: 20rem;
}

.bgGradient::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    /* background-image: linear-gradient(to bottom right, #fffdfd 15%, #d8e5f7 100%); */
    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;
        padding-bottom: 8rem;
    }

    .bgGradient::before {
        /* background-image: linear-gradient(to bottom right, #fffdff 15%, #d8e5f7 100%); */
        background-image: url(../img/common/bgBoby_sp.png);
    }
}

.cmnRecruit_title {
    z-index: 2;
    position: relative;
}

.cmnRecruit_title .title_jpn {
    margin-left: 5rem;
}

@media only screen and (max-width:1215px) {
    .cmnRecruit_title .title_jpn {
        margin-left: 0rem;
    }
    .cmnRecruit_title .title_eng {
        font-size: var(--spFontSize52);
        line-height: var(--spLineHeight52_62);
    }
}

/*-----------------------------------------------
    secTop
-----------------------------------------------*/
.secTop{
    margin-top: 9rem;
    text-align: center;
}

.secTop .txtTop{
    font-size: var(--pcFontSize24);
    line-height: var(--pcLineHeight24_50);
    letter-spacing: var(--pcLetterSpacing24_50);
    font-weight: bold;
    margin-top: 2rem;
}
@media only screen and (max-width:1215px) {
    .secTop {
        margin-top: 14.5rem;
    }
    .secTop .titTop {
        width: 30.6rem;
        margin: 0 auto;
    }
    .secTop .txtTop {
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_28);
        letter-spacing: var(--spLetterSpacing14_50);
        font-weight: bold;
        margin-top: 2rem;
    }
}
/*-----------------------------------------------
    secJob
-----------------------------------------------*/
.secJob {
    margin-top: 10rem;
}
.secJob .listJob {
    display: flex;
    gap: 11rem 2.99%;
    flex-wrap: wrap;
}
.secJob .itemjob{
    width: 31.334%;
    padding: 5rem 5rem 4rem;
    background: var(--Colorwhite);
    border-radius: 4rem;
    box-shadow: 0px 10px 0px 0px rgba(0, 0, 0, 0.05);
    position: relative;
}
.secJob .boxImg{
    width: 100%;
}
.secJob .imgJob{
    height: 0;
    padding-top: calc(284 / 370 * 100%);
    border-radius: 2.5rem;
    overflow: hidden;
}
.secJob .boxTxt{
    margin-top: 3.4rem;
}
.secJob .titJob{
    font-size: var(--pcFontSize26);
    line-height: var(--pcLineHeight26_40);
    letter-spacing: var(--pcLetterSpacing26_50);
    display: inline;
    font-weight: bold;
    border-bottom: 0.1rem solid var(--textColor);
    padding-bottom: 0.4rem;
}
.secJob .txtJob{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_30);
    letter-spacing: var(--pcLetterSpacing16_50);
    margin-top: 2rem;
}
@media only screen and (max-width:1215px) {
    .secJob {
        margin-top: 8rem;
    }
    .secJob .listJob {
        display: block;
        gap: 0;
    }
    .secJob .itemjob {
        width: 100%;
        padding: 2rem 2rem 3rem;
        border-radius: 3rem;
        margin-bottom: 3rem;
    }
    .secJob .titJob {
        font-size: var(--spFontSize18);
        line-height: var(--spLineHeight18_26);
        letter-spacing: var(--spLetterSpacing18_30);
        padding-bottom: 0rem;
    }
    .secJob .txtJob {
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_26);
        letter-spacing: var(--spLetterSpacing14_30);
        margin-top: 1.5rem;
    }
}


/* secCmnIndexPager */
.secCmnIndexPager{
    margin-top: 11.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
}
.secCmnIndexPager .boxList{
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
}
.secCmnIndexPager .btn{
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    text-align: center;
    /* background: var(--Colorwhite); */
}
.secCmnIndexPager a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}
.secCmnIndexPager .btn{
    margin:-0.1rem 0 0 -0.1rem;
}
.secCmnIndexPager .on{
    display: flex;
    justify-content: center;
    align-items: center;
    border-right: none;
    background: var(--privacyColor);
    color: var(--Colorwhite);
}
.secCmnIndexPager .btn.dots{
    border: 0;
    background: transparent;
    display: block;
    height: 3rem;
    padding: 0.7rem 0;
    font-size: var(--pcFontSize15);
    color: var(--newsBorder);
    box-shadow: none;
}
.secCmnIndexPager .inner{
    font-size: var(--pcFontSize15);
    color: inherit;
    text-decoration: none;
    font-weight: bold;
}
.secCmnIndexPager .btnPrev,
.secCmnIndexPager .btnNext{
    width: 7rem;
    height: 7rem;
    border-radius: 50%;
    text-align: center;
    position: relative;
    flex-shrink: 0;
}
.secCmnIndexPager .btnPrev{
    margin-right: 3.5rem;
}
.secCmnIndexPager .btnNext{
    margin-left: 3.5rem;
}
.secCmnIndexPager .btnPrev .inner,
.secCmnIndexPager .btnNext .inner{
    position: relative;
    background: var(--Colorwhite);
    border-radius: 50%;
}
.secCmnIndexPager .btnPrev .inner:after,
.secCmnIndexPager .btnNext .inner::after{
    content: "";
    height: 0;
    background: url(../img/common/iconMenuArrow.png)center center / contain no-repeat;
    width: 1.7rem;
    height: 0.8rem;
    top: calc(50% - 0.35rem);
    position: absolute;
}
.secCmnIndexPager .btnPrev .inner::after{
    left: calc(50% - 0.85rem);
    transform: scale(-1, 1);
}
@media only screen and (max-width:1215px){
    .secCmnIndexPager{
        margin-top: 4rem;
    }
    .secCmnIndexPager .btn{
        width: 3rem;
        height: 3rem;
    }
    .secCmnIndexPager .btn.dots{
        height: 3rem;
        padding: 0.7rem 0;
        font-size: var(--spFontSize13);
    }
    .secCmnIndexPager .inner{
        font-size: var(--spFontSize13);
    }
    .secCmnIndexPager .btnPrev,
    .secCmnIndexPager .btnNext{
        width: 4rem;
        height: 4rem;
        border-radius: 50%;
    }
    .secCmnIndexPager .btnPrev{
        margin-right: 1.5rem;
    }
    .secCmnIndexPager .btnNext{
        margin-left: 1.5rem;
    }
    .secCmnIndexPager .btnPrev .inner:after, 
    .secCmnIndexPager .btnNext .inner::after {
        width: 1.1rem;
        height: 0.6rem;
        top: calc(50% - 0.3rem);
        position: absolute;
    }
    .secCmnIndexPager .btnPrev .inner::after {
        left: calc(50% - 0.7rem);
        transform: scale(-1, 1);
    }
}

/*-----------------------------------------------
    secJobDetails
-----------------------------------------------*/
.details .cmnRecruit_title.min .title_eng {
    font-size: var(--pcFontSize80);
    margin-bottom: 1.2rem;
}
.details .cmnRecruit_title.min .title_jpn {
    font-size: var(--pcFontSize18);
    padding-left: 1.7rem;
    margin-left: 3.4rem;
}
.details #container {
    overflow: visible;
}
.secJobDetails .listItem {
    position: relative;
}

.secJobDetails .listInner {
    display: flex;
    gap: 7.22%;
}

.secJobDetails.lazyloaded .listItem {
    background: url(../img/common/bgOrange.png);
}
.secJobDetails.lazyloaded .listItem:nth-child(2n) {
    background: url(../img/common/bgNoise.png);
}

.secJobDetails .boxLeft {
    width: 39.535%;
    max-width: 68rem;
    position: sticky;
    top: 10rem; /* ヘッダーの高さなどに応じて調整 */
    align-self: flex-start; /* flex内で上に揃える */
    margin-top: 9rem;
}


.secJobDetails .boxLeft .titItem {
    font-size: var(--pcFontSize50);
    font-weight: bold;
    line-height: var(--pcLineHeight50_80);
    letter-spacing: var(--pcLetterSpacing50_50);
    margin-bottom: 2.5rem;
    padding-bottom: 2.5rem;
    /* white-space: nowrap; */
}

.secJobDetails .boxList .boxItem {
    font-size: var(--pcFontSize20);
    line-height: var(--pcLineHeight20_44);
    letter-spacing: var(--pcLetterSpacing20_50);
    position: relative;
    padding-left: 2rem;
}

.secJobDetails .boxList .boxItem::before {
    content: '';
    position: absolute;
    top: 2.3rem;
    left: 0;
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 50%;
    background: var(--textColor);
}

.secJobDetails .boxRight {
    width: 65.417%;
    max-width: 96rem;
    overflow: hidden;
}

.secJobDetails .boxRight .titOrange {
    font-size: var(--pcFontSize40);
    font-weight: bold;
    line-height: var(--pcLineHeight40_57);
    letter-spacing: var(--pcLetterSpacing40_50);
    margin-bottom: 4rem;
}

.secJobDetails .boxRight .txtRight {
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_30);
    letter-spacing: var(--pcLetterSpacing16_50);
    margin-bottom: 4rem;
}

.secJobDetails .boxRight .imgStaff {
    margin-bottom: 5rem;
    border-radius: 4.5rem;
    overflow: hidden;
}
.secJobDetails .boxRight .boxUnder {
    width: 83.334%;
}

.secJobDetails .boxRight .boxStaff {
    padding: 6rem 5.6rem;
    border-radius: 6rem;
    background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(135deg, #2f80ff, #2ecc71) border-box;
    border: 3px solid transparent;
}

.secJobDetails .boxRight .titStaff {
    padding: 1rem 1.5rem;
    font-size: var(--pcFontSize30);
    letter-spacing: var(--pcLetterSpacing30_50);
    margin-bottom: 4rem;
    font-weight: bold;
}

.secJobDetails .boxRight .itemStaff {
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_40);
    letter-spacing: var(--pcLetterSpacing18_50);
    position: relative;
    padding-left: 3rem;
    font-weight: bold;
}

.secJobDetails .boxRight .itemStaff::before {
    content: '';
    position: absolute;
    top: 1.5rem;
    left: 0;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: linear-gradient(45deg, rgb(45, 120, 232) 0%, rgb(61, 213, 131) 99%);
}

@media only screen and (max-width:1215px) {
    .secJobDetails .listInner {
        display: block;
    }
    .secJobDetails .boxLeft {
        width: 100%;
        max-width: unset;
        position: static;
        margin-top: 0;
    }
    .secJobDetails .boxLeft .titItem {
        font-size: var(--spFontSize24);
        line-height: var(--spLineHeight24_26);
        letter-spacing: var(--spLetterSpacing24_50);
        margin-bottom: 1.5rem;
        padding-bottom: 1.5rem;
    }
    .secJobDetails .boxList .boxItem {
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_22);
        letter-spacing: var(--spLetterSpacing12_50);
        padding-left: 1rem;
    }
    .secJobDetails .boxList .boxItem::before {
        width: 0.2rem;
        height: 0.2rem;
        top: calc(50% - 0.1rem);
    }
    .secJobDetails .boxRight {
        width: 100%;
        max-width: unset;
        margin-top: 2.5rem;
    }
    .secJobDetails .boxRight .titOrange {
        font-size: var(--spFontSize22);
        line-height: var(--spLineHeight22_44);
        letter-spacing: var(--spLetterSpacing22_50);
        margin-bottom: 1rem;
    }
    .secJobDetails .boxRight .txtRight {
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_26);
        letter-spacing: var(--spLetterSpacing14_30);
        margin-bottom: 3rem;
    }
    .secJobDetails .boxRight .imgStaff {
        margin-bottom: 1.5rem;
        border-radius: 2rem;
    }
    .secJobDetails .boxRight .boxStaff {
        padding: 2rem;
        margin-top: 4rem;
        border-radius: 3rem;
    }
    .secJobDetails .boxRight .titStaff {
        padding: 1rem 0;
        font-size: var(--spFontSize20);
        letter-spacing: var(--spLetterSpacing20_50);
        margin-bottom: 1rem;
    }
    .secJobDetails .boxRight .itemStaff {
        font-size: var(--spFontSize14);
        line-height: var(--spLineHeight14_22);
        letter-spacing: var(--spLetterSpacing14_50);
        padding-left: 2rem;
    }
    .secJobDetails .boxRight .itemStaff::before {
        width: 1rem;
        height: 1rem;
        top: 0.7rem;
    }
    .secJobDetails .listItem:last-child {
        padding: 5rem 0 7rem;
    }
    .secJobDetails .boxRight .boxUnder {
        width: 100%;
    }
}



/* secDetailsPager */
.secDetailsPager{
    position: relative;
    padding: 10rem 0;
    background: var(--Colorwhite);
    margin-top: 19rem;
    border-radius: 10rem;
    box-shadow: 0 0px 10px var(--box-shadow_Color_10);
}
.secDetailsPager::after{
    content: "";
    background: var(--textColor);
    width: 0.1rem;
    height: calc(100% - 20rem);
    position: absolute;
    top: 10rem;
    left: calc(50% - 0.1rem);
}
.secDetailsPager .boxBtnPager{
    display: flex;
}
.secDetailsPager .boxBtnPrev,
.secDetailsPager .boxBtnNext{
    width: 62rem;
}
.secDetailsPager .btnPrev,
.secDetailsPager .btnNext{
    display: flex;
    color: inherit;
    text-decoration: none;
}
.secDetailsPager .boxBtnNext{
    margin: 0 0 0 auto;
}
.secDetailsPager .btnNext{
    flex-direction: row-reverse;
}
.secDetailsPager .img{
    width: 29.9rem;
    height: 0;
    padding-top: 37.097%;
    border-radius: 2.5rem;
    overflow: hidden;
}
.secDetailsPager .boxTxt{
    width: calc(100% - 29.9rem - 2.5rem);
    margin: 0 0 0 2.5rem;
    position: relative;
    padding-top: 5rem;
}
.secDetailsPager .btnNext .boxTxt{
    margin: 0 2.5rem 0 0;
    text-align: right;
}
.secDetailsPager .txtIn{
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_30);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    max-height: 6rem;
}
.secDetailsPager .txtTitIn{
    font-size: var(--pcFontSize20);
    font-weight: bold;
    margin-top: 1rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    max-height: 2rem;
    margin-bottom: 1.5rem;
}
.secDetailsPager .boxBottom{
    position: absolute;
    bottom: 1.5rem;
    left: 0;
}
.secDetailsPager .boxBtnNext .boxBottom{
    right: 0;
    left: unset;
}
.secDetailsPager .txtBottom{
    font-size: var(--pcFontSize16);
    padding-left: 2.8rem;
    position: relative;
}
.secDetailsPager .boxBtnNext .txtBottom{
    padding-left: 0;
    padding-right: 2.8rem;
}
.secDetailsPager .txtBottom::after{
    content: "";
    width: 2rem;
    height: 1rem;
    position: absolute;
    left: 0;
    bottom: calc(50% - 0.5rem);
    transform: scale(-1, 1);
}
.secDetailsPager .txtBottom.lazyloaded::after{
    background: url(../img/common/iconMenuArrow.png) center top / cover;
}
.secDetailsPager .boxBtnNext .txtBottom::after{
    left: unset;
    right: 0;
    transform: unset;
}
@media only screen and (max-width:1215px){
    .details .cmnRecruit_title.min .title_eng {
        font-size: var(--spFontSize28);
        margin-bottom: 1.2rem;
    }
    .details .cmnRecruit_title.min .title_jpn {
        font-size: var(--spFontSize13);
        padding-left: 0;
        margin-left: 0;
    }
    .secDetailsPager{
        padding: 4rem 2.8rem;
        margin-top: 0rem;
        border-radius: 4.5rem;
    }
    .secDetailsPager::after{
        height: calc(100% - 7rem);
        top: 3.5rem;
    }
    .secDetailsPager .boxBtnPager{
        gap: 3.4rem;
    }
    .secDetailsPager .boxBtnPrev,
    .secDetailsPager .boxBtnNext{
        width: 44.912%;
    }
    .secDetailsPager .btnPrev,
    .secDetailsPager .btnNext{
        flex-direction: column;
    }
    .secDetailsPager .img{
        width: 100%;
        padding-top: 77.34%;
        border-radius: 1rem;
    }
    .secDetailsPager .boxTxt{
        width: 100%;
        margin: 0;
        padding-top: 0;
        padding-bottom: 3rem;
    }
    .secDetailsPager .btnNext .boxTxt{
        margin: 1rem 0 0 0;
        text-align: left;
    }
    .secDetailsPager .txtDateIn{
        font-size: var(--spFontSize11);
        max-height: 1.1rem;
    }
    .secDetailsPager .txtTitIn{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_18);
        margin-top: 0.6rem;
        max-height: 5.4rem;
    }
    .secDetailsPager .boxBottom{
        bottom: 0.6rem;
    }
    .secDetailsPager .txtBottom{
        font-size: var(--spFontSize13);
        padding-left: 2.9rem;
    }
    .secDetailsPager .boxBtnNext .txtBottom{
        padding-right: 2.9rem;
    }
    .secDetailsPager .txtIn{
        display: none;
    }
}

/* secBack */
.details .viewMoreButton.backBtn {
    margin: 8rem auto 20rem;
}
@media only screen and (max-width:1215px){
    .details .viewMoreButton.backBtn {
        margin: 3rem auto 8rem;
    }
}

.secJob .txtNone {
    font-size: var(--pcFontSize22);
    text-align: center;
    letter-spacing: var(--pcLetterSpacing22_50);
    text-align: center;
    margin: 15rem auto;
}
@media only screen and (max-width:1215px){
    .secJob .txtNone {
        font-size: var(--spFontSize16);
        letter-spacing: var(--spLetterSpacing16_50);
        line-height: var(--spLineHeight16_30);
        margin-top: 3rem;
    }
}