@charset "UTF-8";

/*====================
FV
=====================*/
.recruitjob__header {
    padding: 68px 9.6% 68px;
    text-align: left;
    background-image: url(../images/job-fv-SP.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.recruitjob__topic h2 {
    color: var(--primary-green);
    font-family: "Shippori Mincho";
    font-size: 2.4rem;
    font-weight: 600;
    line-height: normal;
}

.recruitjob__topic p {
    color: var(--primary-black);
    font-family: "Shippori Mincho";
    font-size: 1.4rem;
    font-weight: 500;
    line-height: normal;
    margin-top: 7px;
}

/* FV　PC */
@media screen and (min-width: 769px) {
    .recruitjob__header {
        padding: 116px 0 110px 116px;
        text-align: left;
        background-image: url(../images/job-fv-PC.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }

    .recruitjob__topic h2 {
        font-size: 4.2rem;
        font-weight: 600;
    }

    .recruitjob__topic p {
        font-size: 3rem;
        font-weight: 500;
        line-height: normal;
        margin-top: 0;
        display: block;
    }

    .recruitjob__topic {
        display: flex;
        align-items: center;
        gap: 33px;
    }
}
/* FV　PC */

/*====================
仕事内容
=====================*/
.section--jobdescription {
    padding: 36px 5.6% 67px;
}

.jobdescription {
    color: var(--primary-black);
    font-family: "Zen Kaku Gothic New";
    font-size: 1.7rem;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 1.19px;
    position: relative;
    padding-left: calc(90px + 9px);
}

.jobdescription::before {
    position: absolute;
    content: "";
    width: 90px;         
    height: 0.5px;         
    background: var(--primary-black);   
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
}

.jobdescription__inner {
    margin-top: 27px;
}

.jobdescription__inner p {
    color: var(--primary-black);
    font-family: "Zen Kaku Gothic New";
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0.42px;
}

.jobdescription__list {
    margin-top: 27px;
}

.jobdescription__item {
    color: var(--primary-black);
    font-family: "Zen Kaku Gothic New";
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.7; 
    letter-spacing: 0.42px;
    margin-top: 3px;
}

/* 仕事内容 PC */
@media screen and (min-width: 769px) {
    .section--jobdescription {
        max-width: 1157px;
        margin: 0 auto;
        padding: 115px 0 132px
    }

    .jobdescription {
        font-size: 3rem;
        font-weight: 500;
        line-height: normal;
        letter-spacing: 2.1px;
        position: relative;
        padding-left: calc(210px + 9px);
        width: 1157px;
        margin: 0 auto;
    }

    .jobdescription::before {
        position: absolute;
        content: "";
        width: 210px;         
        height: 1px;           
        left: 0px;
        top: 50%;
        transform: translateY(-50%);
    }
    
    .jobdescription__inner {
        width: 824px;
        margin: 0 auto;
        margin-top: 54px;
    }

    .jobdescription__inner p {
        font-size: 1.6rem;
        line-height: 2;
        letter-spacing: 0.42px;
    }

    .jobdescription__list {
        margin-top: 47px;
    }

    .jobdescription__item {
        font-size: 1.6rem;
        line-height: 1.7; 
        letter-spacing: 1.12px;
        margin-top: 9px;
    }

}
/* 仕事内容 PC */


/*====================
募集要項
=====================*/
.section--recruitjob {
    padding: 20px 0 55px;
    background: #ECF0F0;
    position: relative;
}

.section--recruitjob::before {
    content: "";
    position: absolute;
    top: -2%;
    left: 50%;
    transform: translateX(-50%);
    width: 104px;  
    height: 50px;   
    background: #ECF0F0; 
    border-top-left-radius: 50% 100%;
    border-top-right-radius: 50% 100%;
    z-index: -1;
}

.recruitjob__logo {
    position: absolute;
    display: block;
    width: 80px;
    height: 25px;
    left: 50%;
    transform: translateX(-50%);
    top: -1%;
}

.recruitSpec__inner {
    width: 100%;
    max-width: 920px;
    margin: 0 auto;
    padding: 0 11px;
}

.recruitSpec__title {
    color: var(--primary-black);
    font-family: "Zen Kaku Gothic New";
    font-size: 2rem;
    font-weight: 500;
    line-height: 2;
    text-align: center;
}

.recruitCard{
  background: #fff;     
  border-radius: 4px;   
  padding: 22px 39px 78px;  
  margin-top: 15px; 
}

.recruitCard__job {
    color: var(--primary-black);
    font-family: "Zen Kaku Gothic New";
    font-size: 1.8rem;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 1.26px;
}

.recruitCard__head img {
    display: block;
    width: 238px;
    height: 29px;
    margin-top: 6px;
}

.recruitCard__head {
    text-align: left;
}

/* 応募要項の内容 */
/* marginは基本3px */
.spec__term {
    color: var(--primary-lightgreen);
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.5; 
    letter-spacing: 0.42px;
}

/* ボーダー用マージン */
.spec__term {
    margin-top: 15px;
}

.specBlock__title {
    color: var(--primary-black);
    font-family: "Zen Kaku Gothic New";
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.3; 
    letter-spacing: 0.39px;
    margin-top: 3px;
}

.specList li {
    color: var(--primary-black);
    font-family: "Zen Kaku Gothic New";
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.3; 
    letter-spacing: 0.39px;
    margin-top: 3px;
}

/* 土のマージン */
.specList .specList__margin {
    margin-top: 6px;
}

/* 休暇のマージン */
.specBlock__title__margin {
    color: var(--primary-black);
    font-family: "Zen Kaku Gothic New";
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.3; 
    letter-spacing: 0.39px;
    margin-top: 6px;
}

/* パート・アルバイトのマージン */
.specBlock__margin {
    margin-top: 15px;
}

.specText {
    color: var(--primary-black);
    font-family: "Zen Kaku Gothic New";
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.3; 
    letter-spacing: 0.39px;
    margin-top: 3px;
}

.highlight {
    color: #D25566;
    font-family: "Zen Kaku Gothic New";
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.3; 
    letter-spacing: 0.39px;
    margin-top: 3px;
}

/* ボーダー疑似要素 */

/* 2行目以降だけ：上に「15px空き → 線1px → 15px空き */
    .spec__row + .spec__row{
    position: relative;
    padding-top: 15px; /* 15 + 1 + 15 */
    }


    .spec__row + .spec__row::before{
    content: "";
    position: absolute;
    top: 15px;              /* 上から15pxの位置に線 */
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 1px;
    background: #D9D9D9;
    }

/* 募集要項 PC */
@media screen and (min-width: 769px) {
    .section--recruitjob {
        padding: 57px 0 126px;
        position: relative;
    }

    .section--recruitjob::before {
        content: "";
        position: absolute;
        top: -3%;
        left: 50%;
        transform: translateX(-50%);
        width: 210px;  
        height: 100px;   
        background: #ECF0F0; 
        border-top-left-radius: 50% 100%;
        border-top-right-radius: 50% 100%;
        z-index: -1;
    }

    .recruitjob__logo {
        position: absolute;
        display: block;
        width: 141px;
        height: 44px;
        left: 50%;
        transform: translateX(-50%);
        top: -1%;
    }

    .recruitSpec__inner {
        width: 100%;
        max-width: 966px;
        margin: 0 auto;
        padding: 0;
    }

    .recruitSpec__title {
        font-size: 4rem;
        font-weight: 500;
        line-height: 1;
        text-align: center;
    }

    .recruitCard{
        background: #fff;     
        border-radius: 4px;   
        padding: 64px 160px 57px;  
        margin-top: 54px; 
    }

    .recruitCard__job {
        font-size: 2.4rem;
        letter-spacing: 1.68px;
    }

    .recruitCard__head img {
        display: block;
        width: 273px;
        height: 35px;
        margin-top: 0;
    }

    .recruitCard__head {
        display: flex;
        align-items: center;
        gap: 24px;
    }

    /* 募集要項内容 */
    .spec__row {
        display: grid;
        grid-template-columns: 242px 1fr; 
        padding: 0;
    }

    .spec__row:first-of-type {
         margin-top: 51px;
    }

    .spec__term {
        font-size: 1.7rem;
        line-height: 1; 
        letter-spacing: 1.19px;
        line-height: 1.2;
        margin-top: 0;
        align-self: center;
        margin-top: 21px;
    }

    .specBlock__title {
        font-size: 1.6rem;
        line-height: 1.2;
        letter-spacing: 1.12px;
        margin-top: 0;
    }

    .specList li {
        font-size: 1.6rem;
        letter-spacing: 1.12px;
        line-height: 1.2;
        margin-top: 6px;
    }

    /* 休暇のマージン */
    .specBlock__title__margin {
        font-size: 1.6rem;
        line-height: 1.2;
        letter-spacing: 1.12px;
        margin-top: 26px;
    }

    /* パート・アルバイトのマージン */
    .specBlock__margin {
        margin-top: 26px;
    }

    .specText {
        font-size: 1.6rem;
        letter-spacing: 1.12px;
        margin-top: 3px;
    }

    .highlight {
        font-size: 1.6rem; 
        line-height: 1.2;
        letter-spacing: 1.12px;
        margin-top: 6px;
    }
    
    /* ボーダー用マージン */
    .spec__desc {
        margin-top: 21px;
    }

    /* ボーダー疑似要素 */

    /* 2行目以降だけ：上に「15px空き → 線1px → 15px空き */
    .spec__row + .spec__row{
        position: relative;
        padding-top: 21px; 
    }

    .spec__row + .spec__row::before{
        content: "";
        position: absolute;
        top: 21px;             
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        height: 1px;
        background: #D9D9D9;
    }
}
/* 募集要項 PC */

/*====================
flow
=====================*/
.section--flow {
    padding: 44px 6.9% 72px;
    text-align: center;
    background: url(../images/bg-check-SP.svg);
    background-position: center;
    background-repeat: repeat;
    background-size: cover;
}

.flow {
    display: block;
    margin-top: 24px;
    width: 323px;
    height: 347px;
}

.section--flow h2 {
    color: var(--primary-lightgreen);
    font-family: Montserrat;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0.36px;
}

.section--flow h3 {
    color: var(--primary-green);
    font-family: "Zen Kaku Gothic New";
    font-size: 1.7rem;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 1.19px;
    margin-top: 3px;
}

.flow__inner {
    max-width: 323px;
    margin: 0 auto;
}

/* flow PC */
@media screen and (min-width: 769px) {
    .section--flow {
        padding: 0;
        text-align: center;
        background: url(../images/bg-check-PC.svg);
        background-position: center;
        background-repeat: repeat;
        background-size: cover;
        padding: 120px 0 189px;
    }


    .flow {
        display: block;
        margin-top: 46px;
        width: 946px;
        height: 1016px;
    }

    .section--flow h2 {
        font-size: 2rem;
        letter-spacing: 0.6px;
    }

    .section--flow h3 {
        font-size: 3.3rem;
        letter-spacing: 3.96px;
        margin-top: 9px;
    }

    .flow__inner {
        max-width: 946px;
        margin: 0 auto;
}



}

.fadein {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1.6s ease, transform 1.6s ease;
}

.fadein.is-show{
  opacity: 1;
  transform: translateY(0);
}

/* 遅延クラス（順番制御） */
.delay-1{ transition-delay: 0.0s; }
.delay-2{ transition-delay: 0.25s; }
.delay-3{ transition-delay: 0.50s; }
.delay-4{ transition-delay: 0.55s; }



