@charset "UTF-8";

.recruitMv{
    position:relative;
    margin-top: 100px;
}
.recruit__wrap{
    background: #FBF7F4 url(../img/sakura03.webp) no-repeat;
    background-size: 20%;
    background-position: 0 3%;
}
.recruitAnchor{
    position:absolute;
    left:50%;
    bottom:60px;
    transform:translateX(-50%);
    width:min(90%,1000px);
    z-index:10;
    text-align: center;
}

.recruitAnchor__buttons{
    display:flex;
}

.recruitAnchor__button{
    flex: 1;
    min-height: 60px;
    background: #062C5E;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 30px;
    color: #fff;
    box-shadow: 0 10px 20px rgba(0, 0, 0, .08);
    font-size: 20px;
    position: relative;
    margin: 0 10px;
}
.zrec_lp{
    width: 60%;
    margin: 60px auto ;
}
.recruitSearch{
    max-width: 1000px;
    margin: auto;
    padding:100px 0 0;
}
.recruitAnchor__button::after{
    content: ">";

    font-size: 32px;
    line-height: 1;

    position: absolute;
    right: 32px;
    top: 45%;

    transform: translateY(-50%);
    transition: transform 0.3s ease;
}

.recruitCard.is-hidden{
    display:none;
}


.filterButton.is-active{
    background:#062C5E;
    color:#fff;
}
.recruitFilter{
    display:grid;
    grid-template-columns:120px 1fr;
    justify-content: space-between;
    margin-bottom: 30px;
}
.recruitFilter__buttons{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,250px));
    gap:16px 10px;
    justify-content: end;
}
.filterButton{
    font-size: 16px;
    font-weight: 400;
    border: 1px solid #062C5E;
    background: #fff;
    color: #062C5E;
    cursor: pointer;
    transition: .3s;
   min-width: 180px;
    width: auto;
    height: 40px;
    padding: 0 20px;
    white-space: nowrap;
    border-radius: 999px;
    gap: 20px;
}
.recruitAnchor__button:hover{
    opacity:.85;
}
@media screen and (max-width:1024px){
    .recruitMv{
    margin-top: 70px;
}
.recruitAnchor{
    bottom:15px;
}
.recruitAnchor__button{
    min-height: 55px;
}
.recruitSearch{
    max-width: 90%;
}
.filterButton{
    font-size: 14px;
}
}
@media screen and (max-width:820px){
    .zrec_lp{
    width: 70%;
    margin: 8% auto ;
}
.recruitFilter{
    grid-template-columns:100px 1fr;
}
.recruitSearch{
    width: 86%;
}
.recruitAnchor__button{
    font-size: 18px;
}
.recruitFilter__buttons{
        grid-template-columns:repeat(auto-fit,minmax(160px,175px));
    }
}
@media screen and (max-width:740px){
    .recruit__wrap{
    background-size: 40%;
    background-position: 0px 8%;
}
.recruitAnchor{
    top: 110%;

}
.zrec_lp{
    margin: 35% auto 8%;
}
.recruitAnchor__buttons{
    flex-direction: column;
    gap: 10px;
    width: 450px;
    margin: auto;
}

.recruitAnchor__button{
    font-size: 18px;
}
}
@media screen and (max-width:534px){
.recruitSearch{
    padding:80px 0 0;
}
.recruitAnchor__buttons{
    flex-direction: column;
    gap: 10px;
    width: 100%;
}
.zrec_lp{
    width: 90%;
    margin: 45% auto 8%;
}

.recruitFilter{
    grid-template-columns: 1fr;
}
.recruitFilter__buttons{
    grid-template-columns:repeat(2,1fr);
    gap:10px;
}

.filterButton{
    width:100%;
    min-width:0;
    font-size: 13px;
    padding: 0;
}
}
@media screen and (max-width:480px){
    .recruit__wrap{
    background-size: 50%;
    background-position: 0px 19%;
}
.zrec_lp{
    margin: 52% auto 8%;
}
}
@media screen and (max-width:430px){
    .zrec_lp{
    margin: 58% auto 8%;
}
}
@media screen and (max-width:375px){
    .filterButton{
    font-size: 12px;
}
.zrec_lp{
    margin: 62% auto 8%;
}
}
/* ==========================
募集一覧
========================== */

.recruitList{
    padding:100px 0 80px;
    width: 1200px;
    margin: auto;
}



.recruitList__count{
    color:#062C5E;
    font-size:24px;
    font-weight:700;
    text-align: right;
    padding-bottom: 10px;
}

.recruitCards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}
@media screen and (max-width:1024px){
    .recruitList{
    padding:100px 0 80px;
    width: 80%;
    margin: auto;
}
.recruitList .subtitle__blue{
    font-size:28px;
    font-weight: 700;
    margin-bottom: 0;
}
.recruitCards{
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}
}
@media screen and (max-width:840px){
    .recruitList{
    padding:100px 0 0;
    width: 80%;
    margin: auto;
}

.recruitCards{
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}
}
@media screen and (max-width:700px){
.recruitCards{
    grid-template-columns:repeat(1,1fr);
}
}
@media screen and (max-width:480px){
    .recruitList{
    padding:80px 0 60px;
}
.recruitList .subtitle__blue{
    font-size:20px;
    margin-bottom: 0;
}
}


/* ==========================
カード
========================== */

.recruitCard{
        display: flex;
    flex-direction: column;
    align-items: center;
    padding: 24px;
    background: #fff;
    border: 1px solid #062C5E;
    border-radius: 20px;
}
.recruitCard .recruitCard__catch{
    padding-bottom: 10px;
    border-bottom: 1px #777 solid;
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: 500;
    color: #062C5E;
    text-align: center;
}
.recruitCard__text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  font-size: 14px;
  line-height:1.4;
}

/* ==========================
タグ
========================== */

.recruitCard__tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px;

    margin-bottom:24px;
}

.recruitTag{
    padding: 5px 10px;
    border: 1px solid #062C5E;
    border-radius: 999px;
    background: #062C5E;
    color: #fff;
    font-size: 12px;
    line-height: 1;
}


/* ==========================
タイトル
========================== */

.recruitCard__title{
    color:#062C5E;

    font-size:16px;
    font-weight:600;
    line-height:1.4;

    margin-bottom:20px;
}


/* ==========================
情報
========================== */

.recruitCard__info{
    flex:1;
}

.recruitCard__row{
    margin-bottom:16px;
}

.recruitCard__label{
    color:#062C5E;
    font-size:14px;
    font-weight:700;
}


/* ==========================
ボタン
========================== */

.recruitCard .buttonArea{
    margin-top:auto;
}

.recruitCard__button{
     display:flex;
    justify-content:center;
    align-items:center;
    width:210px;
    height:40px;
    font-size: 16px;
    font-weight: 400;
    border: 1px solid #062C5E;
    background: #062C5E;
    color: #fff;
    cursor: pointer;
    transition: .3s;
    border-radius: 999px;
}

.recruitCard__button:hover{
    opacity:.8;
}

.recruitFlow{
    padding:100px 0;
    background: url(../img/sakura01.webp) no-repeat;
    background-size: 30%;
    background-position: 100% 0%;
}
.recruitFlow__inner{
    width: 1200px;
    margin: auto;
}
.flow{
    position:relative;
    max-width:1000px;
    margin:0 auto;
}

/* 中央ライン */
.flow::before{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:50%;
    width:2px;
    background:#062C5E;
    transform:translateX(-50%);
}

.flowItem{
    width:100%;
    position:relative;
    margin-bottom:40px;
}

.flowItem:last-child{
    margin-bottom:0;
}


/* 左配置 */
.flowItem--left{
    display:flex;
    justify-content:flex-start;
}

/* 右配置 */
.flowItem--right{
    display:flex;
    justify-content:flex-end;
}


.flowItem__content{
    width: 420px;
    background: #FBF7F4;
    padding: 20px 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}


/* ラインからカードへ伸びる横線 */

.flowItem__content::before{
    content:"";
    position:absolute;
    top:50%;
    width:60px;
    height:2px;
    background:#062C5E;
}

.flowItem--left .flowItem__content::before{
    right:50%;
}

.flowItem--right .flowItem__content::before{
    left:50%;
}


/* 中央の丸 */

.flowItem::before{
    content:"";
    position:absolute;
    top:50%;
    left:50%;

    width:18px;
    height:18px;

    background:#062C5E;
    border-radius:50%;

    transform:translate(-50%,-50%);
    z-index:2;
}


/* アイコン */

.flowItem__icon{
    width:90px;
    right:20px;
    opacity:.75;
}

.flowItem__icon img{
    width:80%;
}


/* テキスト */

.flowItem__step{
    color: #fff;
    font-size: 16px;
    margin-bottom: 10px;
    background-color: #062C5E;
    border-radius: 999px;
    padding: 4px 0;
    text-align: center;
    width: 240px;
}

.flowItem__title{
    color:#062C5E;
    font-size:30px;
    font-weight:700;
}
.flowItem__text{
    text-align: center;
}
@media screen and (max-width:1280px){
.recruitFlow__inner{
    width: 80%;
}

}
@media screen and (max-width:1200px){

.flowItem__content{
    width: 350px;
}
.flowItem__icon img{
    width:60%;
}
.flowItem__title{
    font-size:24px;
}
.flowItem__step{
    font-size: 14px;
    width: 200px;
}
}
@media screen and (max-width:1024px){
    .flowItem__content::before{
    width:35px;
}
}
@media screen and (max-width:940px){
.flowItem__content::before{
    display: none;
}
.flowItem::before{
    display: none;
}
/* 左配置 */
.flowItem--left{
    justify-content: center;
}

/* 右配置 */
.flowItem--right{
    justify-content: center;
}
.flowItem__content{
    width: 400px;
}

.flowItem__title{
    font-size:20px;
}
.flowItem__step{
    font-size: 14px;
    width: 200px;
}
}
@media screen and (max-width:480px){
    .recruitFlow{
    background-size: 60%;
}
.flowItem__title{
    font-size:18px;
}
.flowItem__icon{
    width:75px;
}
}

.workplace{
    padding:100px 0;
    background: #FBF7F4 url(../img/sakura02.webp) no-repeat;
    background-size: 30%;
    background-position: 100% 0%;
}
.workplace__inner{
    max-width: 1200px;
    margin: auto;
}
.workplace__lead{
    margin:0 0 30px;
    text-align: center;
    font-size: 24px;
    font-weight:500;
    font-family:
"Noto Serif JP",
"YuMincho",
"Yu Mincho",
"游明朝",
"Hiragino Mincho ProN",
serif;
}

.workplaceItem{
    margin-bottom:80px;
}

.workplaceItem:last-child{
    margin-bottom:0;
}

.workplaceItem__title{
    font-size:28px;
    color:#062C5E;
    margin-bottom:30px;
    padding-left: 20px;
    position: relative;
}
.workplaceItem__title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 25px;
    background: #062C5E;
}
.workplaceItem picture{
    display:block;
}

.workplaceItem img{
    width:100%;
}
@media screen and (max-width:1280px){
    .workplace__inner{
    max-width: 80%;
}
}
@media screen and (max-width:1024px){

.workplace__lead{
    font-size: 18px;
}
.workplaceItem__title{
    font-size:22px;
    margin-bottom:20px;
}
.workplaceItem__title::before {
    height: 20px;
}
}
@media screen and (max-width:820px){
    .workplace__inner{
    max-width: 80%;
}
.workplace__lead{
    font-size: 18px;
}
.workplaceItem__title{
    font-size:22px;
    margin-bottom:20px;
}
.workplaceItem__title::before {
    height: 20px;
}
}
@media screen and (max-width:480px){
    .workplace{
    background-size: 55%;
}
.workplace__lead{
    font-size: 16px;
}
.workplaceItem__title{
    font-size:20px;
}
}


.singlerec{
    margin-top: 70px;
    background: #fff url(../img/sakura02.webp) no-repeat;
    background-size: 30%;
    background-position: 100% 100%;
}
.recruitDetail{
    width: 980px;
    margin: auto ;
    padding:0 0 80px;
}

.recruitDetail__tags{
    display: flex;
    align-items: center;
    gap: 16px;
    justify-content: center;
    margin-bottom: 40px;
}
.recruitDetail__tag{
    display: flex;
    align-items: center;
    padding: 10px 20px;
    border: #062C5E 1px solid;
    background-color: #FBF7F4;
    border-radius: 999px;
}
.recruitDetail__tag img{
  height:24px;
  width:32px;
  object-fit:contain;
  margin-right:20px;
}
.recruitDetail__catch{
    font-size: 20px;
    font-weight: 500;
    color: #062C5E;
    text-align: center;
    margin-bottom: 20px;
}
.recruitDetail__block{
    font-size:16px ;
    background-color: #FBF7F4;
    padding: 20px;
    margin-bottom: 20px;
}
.recruitDetail__block h2{
    font-size:18px ;
    background-color: #e9dcc2;
    text-align: center;
    padding: 10px 0;
    margin-bottom: 20px;
}
.recruitDetail__text P{
    font-size: 16px;
    margin: 20px;
}
.jobsyousai_btn{
  background-color: #f5e2dc;
  padding: 20px 40px 30px;
  border-radius: 10px;
}
.jobsyousai_btn h3{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  color: #383838;
  font-size: 32px;
  margin-bottom: 20px;
}

.jobsyousai_btn h3::before,
.jobsyousai_btn h3::after{
  content: "";
  flex: 1;
  height: 1px;
  background: #383838;
}
.jobsyousai_btn .btntxt01{
  font-size: 22px;
  color: #383838;
  padding-bottom: 10px;
}
.jobsyousai_btn .btntxt01 .underline{
  border-bottom: 2px solid #383838;
  padding-bottom: 1px;
}
.jobsyousai_btn .btntxt02{
  font-size: 22px;
  color: #383838;
  text-align: center;
}
.jobsyousai_btn .btntxt02 .hissu{
  background-color: #fff;
  padding: 10px;
  margin: 0 5px;
  border-radius: 5px;
  font-size: 22px;
  line-height: 3.2;
  font-weight: 500;
  color: #383838;
}

.jobsyousai_btn .mail{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-radius: 10px;
  padding: 10px;
}
.jobsyousai_btn .mail img{
  width: 50px;
  margin-right: 20px;
}
.jobsyousai_btn .mail p{
  font-size: 32px;
  font-weight: 500;
  color: #383838;
}
.jobsyousai_btn .cyuuki{
  color: #383838;
  font-size: 18px;
  margin: 12px 0 0;
  text-align: center;
}
.jobsyousai_btn .tuiki{
   text-align: center;
    margin: 4px 0 10px;
    font-size: 22px;
}
.sp_br{
    display: none;
  }
@media screen and (max-width:1024px){
    .recruitDetail{
    width: 90%;
}
}
@media screen and (max-width:820px){
.recruitDetail__catch{
    font-size: 18px;
}
.recruitDetail__tags{
    gap: 12px;
}
}
@media screen and (max-width:768px){
  .jobsyousai_btn .mail p{
  font-size: 34px;
}
.singlerec{
    background-size: 50%;
}
}
@media screen and (max-width:490px){
  .sp_br{
    display: block;
  }
  .singlerec{
    margin-top: 30px;
}
      .recruitDetail__tags {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
    }
    .recruitDetail__catch {
    font-size: 16px;
}
.recruitDetail__text P {
    font-size: 14px;
}
.recruitDetail__block h2 {
    font-size: 16px;
}

.jobsyousai_btn .mail{
  flex-direction: column;
}
.jobsyousai_btn{
  padding: 20px 20px 30px;
}
.jobsyousai_btn .btntxt .hissu{
  font-size: 18px;
  line-height: 3;
}
.jobsyousai_btn .btntxt01 .underline{
  font-size: 18px;
}
.jobsyousai_btn .mail p{
  font-size: 16px;
}
.jobsyousai_btn .mail img{
  width: 30px;
  margin-right: 0;
}
.jobsyousai_btn .btntxt01{
  font-size: 16px;
}
.jobsyousai_btn .btntxt02{
  font-size: 16px;
}
.jobsyousai_btn .btntxt02 .hissu{
  font-size: 18px;
}
.jobsyousai_btn .tuiki{
    font-size: 16px;
}
.jobsyousai_btn .cyuuki{
  font-size: 15px;
}
}
.mailCopy{
  background-color: #fff;
  padding: 12px;
  border-radius: 20px;
      display: flex;
    justify-content: center;
    align-items: center;
}
.mailCopy .mailCopy__address{
  font-size: 30px;
  font-weight: 500;
  color: var(--color-primary);
  margin-right: 20px;
}
.mailCopy .mailCopy__message{
  font-size: 16px;
  color: #383838;
  font-weight: 500;
  margin-left: 20px;
}
.mailCopy img{
  width: 5%;
  margin-right: 10px;
}
.mailCopy button{
  background-color: #383838;
  color: #fff;
      padding: 10px 20px;
    border-radius: 999px;
}
@media screen and (max-width:768px){
  .mailCopy .mailCopy__address{
  font-size: 24px;
}
}
@media screen and (max-width:680px){
  .mailCopy{
    flex-direction: column;
    padding: 12px 5px;
}
.mailCopy img{
  width: 10%;
  margin-right: 0;
}
.mailCopy .mailCopy__address{
  font-size: 16px;
  margin-right: 0;
}
.mailCopy button{
      padding: 5px 30px;
      margin-top: 16px;
}
.mailCopy .mailCopy__message{
  font-size: 14px;
  margin-top: 10px;
  margin-left: 0;
}
}
