
/*-------------------------
ファーストビュー
-------------------------*/
.main-container:has(.fv-type4){
  background: #EEF4F8; 
}
.fv-type4-pattern2 .fv-type4-pc-content-wrapper{
  display: none;
}

.fv-type4-pattern2 .fv-type4-sp-content-wrapper{
  background: linear-gradient(207.27deg, #2067A7 19.97%, #2488CC 54.05%, #23A7EE 99.09%, #248ACE 119.98%);
}

.fv-type4-pattern2 .fv-type4-sp-content-wrapper .fv-type4-title-box-wrapper{
  position: relative;
  height: 405px;
  max-width: 706px;
  margin: 0 auto;
}

.fv-type4-pattern2 .fv-type4-sp-content-wrapper .fv-type4-title-box-wrapper .fv-type4-title-box{
  position: absolute;
  top: 123px;
  left: 24px;
  color: #fff;
}
.fv-type4-pattern2 .fv-type4-sp-content-wrapper .fv-type4-title-box-wrapper .fv-type4-title-box h1{
  font-weight: 700;
  font-size: 40px;
  line-height: 40px;
  letter-spacing: 0.05em;
}

.fv-type4-pattern2 .fv-type4-sp-content-wrapper .fv-type4-title-box-wrapper .fv-type4-title-box > p{
  margin: 4px 0 0 0;
  line-height: 24px;
  letter-spacing: 0.03em;
  font-family: Roboto;
}
.fv-type4-pattern2 .fv-type4-sp-content-wrapper .fv-type4-title-box-wrapper .fv-type4-title-box p span{
  font-weight: 700;
  line-height: 32px;
}
.fv-type4-pattern2 .fv-type4-sp-content-wrapper .fv-type4-title-box-wrapper .fv-type4-title-box .fv-type3-info{
  margin-top: 28px;
}
.fv-type4-pattern2 .fv-type4-sp-content-wrapper .fv-type4-title-box-wrapper .fv-type4-title-box .fv-type4-slogan-white-wrapper{
  color: #2067A7;
  margin-top: 24px
}
.fv-type4-pattern2 .fv-type4-sp-content-wrapper .fv-type4-title-box-wrapper .fv-type4-title-box .fv-type4-slogan-white-wrapper p{
  background: #fff;
  margin: 0;
  padding: 8px 16px;
  width: fit-content;
  font-weight: 700;
  font-size: 18px;
  line-height: 28px;
  letter-spacing: 0.05em;
}
.fv-type4-pattern2 .fv-type4-sp-content-wrapper .fv-type4-title-box-wrapper .fv-type4-title-box .fv-type4-slogan-white-wrapper p:last-of-type{
  margin-top: 8px;
}

.fv-type4-pattern2 .job-navigation-wrapper{
  padding: 40px 16px 56px 16px;
}
.fv-type4-pattern2 .job-navigation-wrapper .summary{
  max-width: 343px;
  margin: 0 auto;
  border: solid 1px #2067A7;
}
.fv-type4-pattern2 .job-navigation-wrapper .summary:last-of-type{
  margin-top: 40px;
}
.fv-type4-pattern2 .job-navigation-wrapper .summary img{
  max-width: 343px;
  max-height: 197px;
  margin: 0 auto;
  display: block;
}
.fv-type4-pattern2 .job-navigation-wrapper .summary .about-role .item1{
  background: #2067A7;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px 27px;
}
.fv-type4-pattern2 .job-navigation-wrapper .summary .about-role .item1 p:first-of-type{
  margin: 0;
  font-weight: 700;
  font-size: 24px;
  line-height: 160%;
  letter-spacing: 0.03em;
  width: 20%;
}
.fv-type4-pattern2 .job-navigation-wrapper .summary .about-role .item1 p:last-of-type{
  font-weight: 700;
  font-size: 18px;
  line-height: 160%;
  letter-spacing: 0.03em;
  margin: 0 0 0 10px;
  width: 80%;
}
.fv-type4-pattern2 .job-navigation-wrapper .summary .about-role .item2{
  background: #fff;
}
.fv-type4-pattern2 .job-navigation-wrapper .summary .about-role .item2 .text-wrapper p:first-of-type{
  font-weight: 700;
  font-size: 18px;
  line-height: 160%;
  letter-spacing: 0.03em;
  text-align: center;
  margin: 0;
  padding-top: 15px;
}
.fv-type4-pattern2 .job-navigation-wrapper .summary .about-role .item2 .text-wrapper p:last-of-type{
  position: relative;
  margin: 0;
  background: #fff;
  font-weight: 400;
  font-size: 16px;
  line-height: 28px;
  letter-spacing: 0.03em;
  padding: 5px 20px 10px 20px;
}

.fv-type4-pattern2 .job-navigation-wrapper .summary .about-role .item2 .text-wrapper p:last-of-type::after{
  position: absolute;
  content: "";
  border: solid 1px #2067A7;
  max-width: 303px;
  width: 100%;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 auto;

}
.fv-type4-pattern2 .job-navigation-wrapper .summary .about-role .item2 .item2-link{
  font-weight: 700;
  font-size: 16px;
  line-height: 160%;
  letter-spacing: 0.05em;
  color: #2067A7;
  display: flex;
  justify-content: center;
  padding: 15px 0 20px 0;
}

.fv-type4-pattern2 .job-navigation-wrapper .summary .about-role .item2 .item2-link span{
  margin-left: 5px;
  position: relative;
  width: 24px;
  height: 24px;
  background: #2067A7;
  display: inline-block;
}

.fv-type4-pattern2 .job-navigation-wrapper .summary .about-role .item2 .item2-link span::after{
  position: absolute;
  content: "";
  right: 0;
  left: 0;
  top: 6px;
  width: 9px;
  height: 9px;
  margin: auto;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(135deg);
  box-sizing: border-box;
}

/*-------------------------
マネジメント職 / 仕事内容
-------------------------*/
.job-introduction-management{
  background: #fff;
  border-bottom-right-radius: 0;
  padding-top: 96px;
  padding: 96px 0 56px 0;
}
.job-introduction-management h3{
  font-weight: 700;
  font-size: 20px;
  line-height: 35px;
  letter-spacing: 0.05em;
  margin: 0;
}
.job-introduction-management .kazari{
  background: url(/images/4_work/cam/kazari_mobile.webp) no-repeat right/ 180px 60px;
  height: 60px;
}
.job-introduction-management .job-introduction-title-box{
  padding-left: 24px;
}
.job-introduction-management .job-introduction-title-box p{
  margin: 0;
  font-family: Roboto;
  font-weight: 700;
  font-size: 16px;
  line-height: 160%;
  letter-spacing: 0.03em;
  color: #2067A7;
}
.job-introduction-management .job-introduction-title-box h2{
  position: relative;
  font-weight: 700;
  font-size: 24px;
  line-height: 160%;
  letter-spacing: 0.03em;
}
.job-introduction-management .job-introduction-title-box h2::after{
  position: absolute;
  content: "";
  width: 40px;
  height: 2px;
  background: #2067A7;
  bottom: -16px;
  left: 0;
}
.job-introduction-management .job-introduction-wrapper{
  padding: 0px 24px;
  margin-top: 40px;
}

.job-introduction-management .job-introduction-wrapper ul{
  margin-top: 56px;
}
.job-introduction-management .job-introduction-wrapper ul li:not(:first-of-type){
  margin-top: 48px;
  position: relative;
}
.job-introduction-management .job-introduction-wrapper ul li:not(:first-of-type)::before{
  content: "";
  position: absolute;
  height: 1px;
  width: 100%;
  top: -24px;
  left: 0;
  right: 0;
  margin: 0 auto;
  background: #EAEAEA;
}
.job-introduction-management .job-introduction-wrapper ul li span{
  border: solid 1px #2067A7;
  color: #2067A7;
  font-weight: 700;
  font-size: 16px;
  line-height: 160%;
  letter-spacing: 0.05em;
  display: block;
  padding: 4px 16px;
  width: fit-content;
}
.job-introduction-management .job-introduction-wrapper ul li p{
  margin: 16px 0 0 0;
  font-weight: 400;
  font-size: 16px;
  line-height: 28px;
  letter-spacing: 0.03em;
}

/*-------------------------
マネジメント職 / スケジュール
-------------------------*/
.job-introduction-management .schedule-list-wrapper{
  padding: 0 24px;
  margin-top: 40px;
}
.job-introduction-management .schedule-list-wrapper > p{
  margin: 16px 0 0 0;
  font-weight: 400;
  font-size: 16px;
  line-height: 28px;
  letter-spacing: 0.03em;
}
.job-introduction-management .schedule-list-wrapper ul{
    position: relative;
    z-index: 1;
    margin-top: 40px;
    box-sizing: content-box;
}
.job-introduction-management .schedule-list-wrapper ul::before{
    content: "";
    position: absolute;
    background: #2067A7;
    width: 1px;
    height: 100%;
    left: 41px;
    z-index: -1;
}

.job-introduction-management .schedule-list-wrapper ul li{
  background: #fff;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.25);
  padding: 24px 24px 24px 0;
}
.job-introduction-management .schedule-list-wrapper ul li:not(:first-of-type){
  margin-top: 24px;
}
.job-introduction-management .schedule-list-wrapper ul li .container{
  display: grid;
  grid-template-rows: 32px 1fr;
  grid-template-columns: 34px 1fr;
  grid-template-areas:
    "areaA areaB"
    "areaC areaD";
}
.job-introduction-management .schedule-list-wrapper ul li .container p{
  margin: 0;
}
.job-introduction-management .schedule-list-wrapper ul li .container .itemA01{
  background: #2495DA;
}
.job-introduction-management .schedule-list-wrapper ul li .container .itemA02{
  background: #2381C5;
}
.job-introduction-management .schedule-list-wrapper ul li .container .itemA03{
  background: #2067A7;
}
.job-introduction-management .schedule-list-wrapper ul li .container .itemA{
    grid-area: areaA;
}
.job-introduction-management .schedule-list-wrapper ul li .container .itemB{
    grid-area: areaB;
    padding-left: 16px;
    display: flex;
    align-items: center;
    font-weight: 700;
    font-size: 16px;
    line-height: 160%;
    letter-spacing: 0.05em;
}
.job-introduction-management .schedule-list-wrapper ul li .container .itemD{
    grid-area: areaD;
    padding-left: 16px;
    font-weight: 400;
    font-size: 14px;
    line-height: 22px;
    letter-spacing: 0.05em;
}

/*-------------------------
マネジメント職 / 画像
-------------------------*/
.job-introduction-management .image-wrapper{
  margin-top: 37px;
  max-width: 376px;
  margin: 56px auto;
}
.job-introduction-management .image-wrapper img{
  margin-top: 10px;
  max-width: 376px;
  width: 100%;
}






@media screen and (min-width:768px){
  /*-------------------------
  ファーストビュー
  -------------------------*/
  .fv-type4-pattern2 .fv-type4-sp-content-wrapper .fv-type4-title-box-wrapper .fv-type4-title-box{
    left: 0;
  }


  .fv-type4-pattern2 .job-navigation-wrapper{
    display: flex;
    justify-content: center ;
  }
  .fv-type4-pattern2 .job-navigation-wrapper .summary{
    margin: 0;
  }
  .fv-type4-pattern2 .job-navigation-wrapper .summary:last-of-type{
    margin: 0 0 0 20px;
  }
}

@media screen and (min-width:1024px){
  /*-------------------------
  ファーストビュー
  -------------------------*/

  .fv-type4-pattern2 .fv-type4-sp-content-wrapper{
    display: none;
  }
  .fv-type4-pattern2 .fv-type4-pc-content-wrapper{
    padding-left: 80px;
    display: flex;
    max-width: 1280px;
    margin: 0 auto;
  }
   .fv-type4-pattern2 .fv-type4-pc-content-wrapper .left-wrapper{
    position: relative;
    height: 568px;
    flex-grow: 1;
   } 
   .fv-type4-pattern2 .fv-type4-pc-content-wrapper .left-wrapper .fv-type4-title-box{
    position: absolute;
    top: 161px;
   }
   .fv-type4-pattern2 .fv-type4-pc-content-wrapper .left-wrapper .fv-type4-title-box h1{
    font-weight: 700;
    font-size: 56px;
    line-height: 64px;
    letter-spacing: 0.05em;
   }
   .fv-type4-pattern2 .fv-type4-pc-content-wrapper .left-wrapper .fv-type4-title-box > p{
    margin: 16px 0 0 0;
    font-weight: 700;
    font-size: 20px;
    line-height: 32px;
    letter-spacing: 0.03em;
    color: #2067A7;
    font-family: Roboto;
   }
   .fv-type4-pattern2 .fv-type4-pc-content-wrapper .left-wrapper .fv-type4-title-box p span:last-of-type{
    margin-left: 16px;
   }

    .fv-type4-pattern2 .fv-type4-pc-content-wrapper .left-wrapper .fv-type4-title-box .fv-type3-info{
      width: 216px;
      margin-top: 32px;
    }

   .fv-type4-pattern2 .fv-type4-pc-content-wrapper .left-wrapper .fv-type4-title-box .fv-type3-info dt::after {
    background: #242D34;
   }

   .fv-type4-pattern2 .fv-type4-pc-content-wrapper .left-wrapper .fv-type4-slogan-white-wrapper{
    position: absolute;
    top: 394px;
    overflow: visible; /* 親要素からはみ出ることを許容する */
   }
   .fv-type4-pattern2 .fv-type4-pc-content-wrapper .left-wrapper .fv-type4-slogan-white-wrapper p{
    background: #fff;
    color: #2067A7;
    font-weight: 700;
    font-size: 32px;
    line-height: 48px;
    letter-spacing: 0.05em;
    padding: 8px 24px;
    margin: 0;
    width: fit-content;
   }
    .fv-type4-pattern2 .fv-type4-pc-content-wrapper .left-wrapper .fv-type4-slogan-white-wrapper p:last-of-type{
      margin-top: 8px;
      width: 584px;
    }

   .fv-type4-pattern2 .fv-type4-pc-content-wrapper .right-wrapper img{
    max-width: 510px;
   }

   .fv-type4-pattern2 .job-navigation-wrapper{
    display: block;
    padding: 0 16px 100px 16px;
    margin-top: 113px;
   }
   .fv-type4-pattern2 .job-navigation-wrapper .summary{
    display: flex;
    max-width: 1120px;
    margin: 0 auto;
    border: none;
   }
    .fv-type4-pattern2 .job-navigation-wrapper .summary:last-of-type{
    margin: 90px auto 0 auto;
    }
   .fv-type4-pattern2 .job-navigation-wrapper .summary img{
    max-width: none;
    max-height: none;
    order: 2;
    width: 50%;
    border: solid 1px #2067A7;
    border-left: none
   }
   .fv-type4-pattern2 .job-navigation-wrapper .summary .about-role{
    order: 1;
    width: 50%;
    border: solid 1px #2067A7;
   }

   .fv-type4-pattern2 .job-navigation-wrapper .summary .about-role .item1 p:first-of-type{
    width: auto;
    font-size: 28px;
   }

   .fv-type4-pattern2 .job-navigation-wrapper .summary .about-role .item1 p:last-of-type{
    width: auto;
    font-size: 20px;
   }

   .fv-type4-pattern2 .job-navigation-wrapper .summary .about-role .item2 .text-wrapper{
    max-width: 496px;
    margin: 0 auto;
    padding: 40px 15px 0 15px;
   }

   .fv-type4-pattern2 .job-navigation-wrapper .summary .about-role .item2 .text-wrapper p:first-of-type{
    text-align: left;
    font-size: 20px;
   }

   .fv-type4-pattern2 .job-navigation-wrapper .summary .about-role .item2 .text-wrapper p:first-of-type br{
    display: none;
   }

   .fv-type4-pattern2 .job-navigation-wrapper .summary .about-role .item2 .text-wrapper p:last-of-type{
    padding: 0;
    margin-top: 8px;
    margin-bottom: 40px;
   }
   .fv-type4-pattern2 .job-navigation-wrapper .summary .about-role .item2 .text-wrapper p:last-of-type::after{
    bottom: -25px;
    max-width: none;
   }
   .fv-type4-pattern2 .job-navigation-wrapper .summary .about-role .item2 .item2-link{
    padding: 0 0 60px 0;
    transform: translateY(20px);
   }

   /*-------------------------
    マネジメント職 / 仕事内容
    -------------------------*/
    .job-introduction-management{
      padding: 0;
    }

    .job-introduction-management h3{
      font-weight: 700;
      font-size: 32px;
      line-height: 40px;
      letter-spacing: 0.05em;
    }

    .job-introduction-management .kazari{
      background: url(/images/4_work/cam/kazari.webp) no-repeat right/ 432px 124px;
      height: 124px;
    }

    .job-introduction-management .job-introduction-title-box{
      max-width: 1280px;
      margin: 0 auto;
    }
    .job-introduction-management .job-introduction-title-box p{
      font-size: 20px;
    }
    .job-introduction-management .job-introduction-title-box h2{
      font-size: 40px;
      line-height: 56px;
      letter-spacing: 0.05em;
    }
    .job-introduction-management .job-introduction-title-box h2::after{
      width: 70px;
    }

    
    .job-introduction-management .job-introduction-wrapper{
      max-width: 736px;
      margin: 0 auto;
      padding: 0;
    }

    .job-introduction-management .job-introduction-wrapper ul li:not(:first-of-type){
      margin-top: 80px;
    }
    .job-introduction-management .job-introduction-wrapper ul li:not(:first-of-type)::before{
      top: -40px;
    }

    .job-introduction-management .job-introduction-wrapper ul li span{
      font-size: 20px;
      line-height: 35px;
    }

    /*-------------------------
    マネジメント職 / スケジュール
    -------------------------*/
    .job-introduction-management .kazari{
      background: url(/images/4_work/cam/kazari.webp) no-repeat right/ 432px 124px;
      height: 124px;

    }

    .job-introduction-management .job-introduction-wrapper{
      margin-top: 100px;
    }

    .job-introduction-management .schedule-list-wrapper {
      max-width: 736px;
      margin: 100px auto 0 auto;
      padding: 0;
    }
    .job-introduction-management .schedule-list-wrapper ul{
      margin-top: 40px;
    }
    .job-introduction-management .schedule-list-wrapper ul li .container {
    grid-template-columns: 96px 1fr;
    }
    .job-introduction-management .schedule-list-wrapper ul li .container .itemB{
      font-size: 20px;
      line-height: 35px;
      padding-left: 37px;
    }
    .job-introduction-management .schedule-list-wrapper ul li .container .itemD{
      font-weight: 500;
      padding-left: 37px;
      margin-top: 16px;
    }

    /*-------------------------
      マネジメント職 / 画像
      -------------------------*/
    .job-introduction-management .image-wrapper{
      display: flex;
      justify-content: center;
      max-width: none;
      margin: 100px 0 200px 0;
    }
     .job-introduction-management .image-wrapper img{
      max-width: 420px;
      margin-top: 0;
     }
     .job-introduction-management .image-wrapper img:not(:last-of-type){
      margin-right: 10px;
     }







}



@media screen and (min-width:1280px){
  /*-------------------------
  ファーストビュー
  -------------------------*/
  .fv-type4-pattern2 .fv-type4-pc-content-wrapper .right-wrapper img{
    max-width: 624px;
   }










}