/* Scss Document */
/*---------------------------------------------
    top
---------------------------------------------*/
/* kv */
.recruit_kv {
  aspect-ratio: 1 / 0.5;
  position: relative;
  margin: 0 0 160px; }
  @media screen and (max-width: 750px) {
    .recruit_kv {
      margin: 0 0 18vw; } }

.recruit_kv_imgWrap {
  transform: skewY(-10deg);
  overflow: hidden;
  height: 100%; }

.recruit_img {
  transform: skewY(10deg) scale(1.5);
  background: url("../img/recruit/top/recruit_kv.jpg") no-repeat;
  background-size: cover;
  background-position: top center;
  height: 100%; }
  @media screen and (max-width: 750px) {
    .recruit_img {
      background: url("../img/recruit/top/recruit_kv_sp.jpg") no-repeat;
      background-size: cover;
      background-position: center center; } }

.recruit_kv_img_titArea {
  color: #1B4A99;
  font-weight: 700;
  font-size: 9.4rem;
  transform: rotate(-10deg);
  line-height: 1;
  line-height: 0.74;
  display: flex;
  align-items: center;
  white-space: nowrap; }
  @media screen and (max-width: 750px) {
    .recruit_kv_img_titArea {
      font-size: 6.9vw; } }

.recruit_kv_img_tit {
  animation: flowing 40s linear infinite;
  transform: translateX(100%);
  margin: 0;
  padding: 0; }
  .recruit_kv_img_tit li {
    display: inline-block;
    padding-right: 0.3em; }

@keyframes flowing {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(-100%); } }
/* sec */
.recruit_sec.-recruit {
  margin: 0 0 310px; }
  @media screen and (max-width: 750px) {
    .recruit_sec.-recruit {
      margin: 0 0 78vw; } }

.recruit_titArea {
  margin: 0 0 24px; }
  @media screen and (max-width: 750px) {
    .recruit_titArea {
      text-align: center;
      margin: 0 0 9vw; } }

.recruit_tit {
  font-size: 2rem;
  font-weight: 700;
  color: #1B4A99; }
  @media screen and (max-width: 750px) {
    .recruit_tit {
      font-size: 5.3vw; } }

.recruit_subtit {
  font-weight: 700;
  font-size: 7rem;
  line-height: 1.2; }
  @media screen and (max-width: 750px) {
    .recruit_subtit {
      font-size: 11.7vw; } }

.recruit_txt {
  font-size: 1.8rem;
  line-height: 2; }
  @media screen and (max-width: 750px) {
    .recruit_txt {
      font-size: 4.26vw;
      text-align: center;
      line-height: 2.2; } }

/* culture */
.recruit_list {
  width: 100%; }
  .recruit_list li {
    position: relative; }
    .recruit_list li::after {
      content: "";
      display: block;
      position: absolute; }
    .recruit_list li:not(:last-child) {
      margin: 0 0 210px; }
      @media screen and (max-width: 750px) {
        .recruit_list li:not(:last-child) {
          margin: 0 0 69vw; } }
    @media screen and (min-width: 750px) {
      .recruit_list li:nth-child(odd) .recruit_list_content {
        margin: 0 0 0 auto; }
      .recruit_list li:nth-child(odd) .recruit_list_img {
        left: -7.2%;
        width: 52%; } }
    .recruit_list li:nth-child(odd)::after {
      background: url("../img/common/toshinsaurus.svg") no-repeat;
      background-size: contain;
      width: 149px;
      height: 132px;
      right: 0;
      top: calc(100% - 20px);
      transform: translateX(50%); }
      @media screen and (max-width: 750px) {
        .recruit_list li:nth-child(odd)::after {
          width: 39.7vw;
          height: 35.2vw;
          top: calc(100% + 10vw);
          right: 50%; } }
    @media screen and (min-width: 750px) {
      .recruit_list li:nth-child(even) .recruit_list_img {
        right: 0;
        width: 45%; } }
    .recruit_list li:nth-child(even)::after {
      background: url("../img/common/gurinder.svg") no-repeat;
      background-size: contain;
      width: 156px;
      height: 161px;
      left: -60px;
      top: calc(100% + 60px); }
      @media screen and (max-width: 750px) {
        .recruit_list li:nth-child(even)::after {
          width: 41.6vw;
          height: 43vw;
          left: 50%;
          transform: translateX(-50%);
          top: calc(100% + 10vw); } }
  .recruit_list .recruit_txt {
    margin: 0 0 35px; }
    @media screen and (max-width: 750px) {
      .recruit_list .recruit_txt {
        margin: 0 0 9vw; } }

.recruit_list_content {
  width: 45%; }
  @media screen and (max-width: 750px) {
    .recruit_list_content {
      width: 100%; } }

@media screen and (min-width: 750px) {
  .recruit_list_img {
    position: absolute;
    top: 50%;
    transform: translateY(-50%); } }
@media screen and (max-width: 750px) {
  .recruit_list_img {
    margin: 0 0 10vw; } }

/* staff */
@media screen and (max-width: 750px) {
  .recruit_sec.-staff .recruit_txt {
    margin: 0 0 10vw; } }
.recruit_sec.-staff .staff_interview {
  padding: 130px 0 50px; }
  @media screen and (max-width: 750px) {
    .recruit_sec.-staff .staff_interview {
      padding: 18vw 0 32vw;
      margin: 0 0 53vw; } }
  .recruit_sec.-staff .staff_interview .inner::after {
    content: "";
    display: block;
    background: url("../img/common/fox.svg") no-repeat;
    background-size: contain;
    width: 322px;
    height: 207px;
    right: -20px;
    bottom: calc(100% + 70px);
    left: auto;
    top: auto;
    transform: none; }
    @media screen and (max-width: 750px) {
      .recruit_sec.-staff .staff_interview .inner::after {
        width: 63.7vw;
        height: 41vw;
        right: 50%;
        transform: translateX(50%);
        bottom: auto;
        top: calc(100% + 18.6vw); } }

/* job */
.recruit_sec.-job .sec_titArea {
  text-align: center;
  margin: 0 0 65px; }
  @media screen and (max-width: 750px) {
    .recruit_sec.-job .sec_titArea {
      margin: 0 0 9vw; } }

.recruit_tab {
  display: flex;
  flex-wrap: wrap;
  gap: 0 12px;
  max-width: 804px;
  margin: auto;
  justify-content: center; }
  @media screen and (max-width: 750px) {
    .recruit_tab {
      gap: 0 2.4vw; } }
  .recruit_tab label {
    order: -1;
    width: 260px;
    padding: 12px 20px;
    background: #fff;
    color: #1B4A99;
    border: 1px solid #1B4A99;
    text-align: center;
    cursor: pointer;
    box-sizing: border-box;
    transition: .4s;
    /*&:hover{
        background:$primary;
        color: $white;
    }
    &:has(:checked) {
        background:$primary;
        color: $white;
    }*/ }
    @media screen and (max-width: 750px) {
      .recruit_tab label {
        width: 40.8vw;
        padding: 3.2vw; } }
    .recruit_tab label:has(:checked) + .recruit_tab_content {
      display: block; }
  .recruit_tab input {
    display: none; }

.recruit_tab_content {
  width: 100%;
  padding: 60px 0 110px; }
  @media screen and (max-width: 750px) {
    .recruit_tab_content {
      padding: 8vw 0 14vw; } }

.recruit_table {
  width: 100%;
  margin: 0 0 1em; }
  @media screen and (max-width: 750px) {
    .recruit_table {
      display: block; } }
  .recruit_table tr {
    border-bottom: 1px solid #E0E0E0; }
    @media screen and (max-width: 750px) {
      .recruit_table tr {
        display: block;
        width: 100%; } }
  .recruit_table th {
    padding: 1em 110px 1em 0;
    font-weight: 700;
    width: 5em;
    white-space: nowrap; }
    @media screen and (max-width: 750px) {
      .recruit_table th {
        display: block;
        width: 100%;
        padding: 1em 0 2.6vw; } }
  .recruit_table td {
    padding: 1em 0; }
    @media screen and (max-width: 750px) {
      .recruit_table td {
        display: block;
        width: 100%;
        padding: 0 0 1em; } }

.recruit_movie {
  max-width: 1000px;
  margin: auto; }
  .recruit_movie video {
    width: 100%; }

.entryArea.-recruit {
  padding: 90px 0 500px;
  position: relative; }
  @media screen and (max-width: 750px) {
    .entryArea.-recruit {
      padding: 28.8vw 0 106vw; } }
  .entryArea.-recruit::after {
    content: "";
    display: block;
    background: url("../img/common/tora.svg") no-repeat;
    background-size: contain;
    width: 148px;
    height: 188px;
    left: 50%;
    top: 220px;
    transform: translateX(-50%);
    position: absolute; }
    @media screen and (max-width: 750px) {
      .entryArea.-recruit::after {
        width: 39.4vw;
        height: 50.1vw;
        top: 59.7vw; } }

/*---------------------------------------------
    interview
---------------------------------------------*/
@media screen and (max-width: 750px) {
  .page_content.-interview {
    padding: 0 0 40vw; } }
.page_content.-interview .pageArticle {
  padding: 80px 0 0; }
  @media screen and (max-width: 750px) {
    .page_content.-interview .pageArticle {
      padding: 0; } }

.interview_head {
  margin: 0 0 80px; }
  @media screen and (max-width: 750px) {
    .interview_head {
      margin: 0 0 16vw; } }

.interview_num {
  color: #1B4A99;
  font-size: 1.4rem;
  font-weight: 700;
  margin: 0 0 1em; }
  @media screen and (max-width: 750px) {
    .interview_num {
      font-size: 3.73vw; } }

.interview_person {
  margin: 0 0 50px;
  font-weight: 400; }
  @media screen and (max-width: 750px) {
    .interview_person {
      margin: 0 0 10vw; } }
  .interview_person span {
    font-weight: 500;
    font-size: 2rem;
    margin: 0 0 0 15px;
    vertical-align: baseline; }
    @media screen and (max-width: 750px) {
      .interview_person span {
        font-size: 5.3vw;
        margin: 0 0 0 4vw; } }

.interview_tit {
  font-size: 3.5rem;
  padding: 0 0 55px;
  background: url("../img/recruit/interview/border.svg") no-repeat;
  background-position: left bottom; }
  @media screen and (max-width: 750px) {
    .interview_tit {
      padding: 0 0 15vw;
      font-size: 6.4vw; } }

.interview_list {
  margin: 0 0 160px; }
  @media screen and (max-width: 750px) {
    .interview_list {
      margin: 0 0 48vw; } }
  .interview_list li:not(:last-child) {
    margin: 0 0 80px; }
    @media screen and (max-width: 750px) {
      .interview_list li:not(:last-child) {
        margin: 0 0 15vw; } }

.interview_list_q {
  font-size: 2.2rem;
  color: #1B4A99;
  font-weight: 700;
  margin: 0 0 1em;
  padding-left: 2.2em;
  text-indent: -2.2em; }
  @media screen and (max-width: 750px) {
    .interview_list_q {
      font-size: 5.3vw; } }
  .interview_list_q span {
    width: 2.2em;
    text-indent: 0;
    display: inline-block; }

.interview_list_a:not(:last-child) {
  margin: 0 0 2em; }

.interview_message {
  border: 1px solid #1B4A99;
  padding: 80px;
  position: relative; }
  @media screen and (max-width: 750px) {
    .interview_message {
      padding: 18vw 8vw 13vw; } }
  .interview_message::after {
    content: "";
    display: block;
    background: url("../img/common/toshinsaurus.svg") no-repeat;
    background-size: contain;
    width: 150px;
    height: 132px;
    position: absolute;
    right: 10px;
    top: -40px; }
    @media screen and (max-width: 750px) {
      .interview_message::after {
        width: 38.4vw;
        height: 35.2vw;
        right: 50%;
        transform: translateX(50%);
        top: -24.8vw; } }

.interview_message_tit {
  font-weight: 700;
  margin: 0 0 30px;
  color: #1B4A99;
  font-size: 3rem; }
  @media screen and (max-width: 750px) {
    .interview_message_tit {
      margin: 0 0 5vw;
      font-size: 8vw;
      text-align: center; } }

.staff_interview {
  background: #1B4A99;
  transform: skewY(-10deg);
  padding: 80px 0 50px;
  margin: 0 0 100px; }
  @media screen and (max-width: 750px) {
    .staff_interview {
      padding: 26vw 0 8vw;
      margin: 0 0 14vw; } }
  .staff_interview .inner {
    transform: skewY(10deg);
    position: relative; }
    .staff_interview .inner::after {
      content: "";
      display: block;
      width: 156px;
      height: 161px;
      background: url("../img/common/gurinder.svg") no-repeat;
      background-size: contain;
      position: absolute;
      top: 0;
      left: -35px;
      transform: translateY(-35%); }
      @media screen and (max-width: 750px) {
        .staff_interview .inner::after {
          left: 50%;
          transform: translateX(-50%);
          width: 41.6vw;
          height: 42.9vw;
          top: auto;
          bottom: calc(100% + 11vw); } }

.staff_interview_titArea {
  color: #fff;
  text-align: center;
  margin: 0 0 50px; }
  @media screen and (max-width: 750px) {
    .staff_interview_titArea {
      margin: 0 0 13vw; } }

.staff_interview_tit {
  font-size: 2rem;
  font-weight: 700; }
  @media screen and (max-width: 750px) {
    .staff_interview_tit {
      font-size: 5.3vw;
      margin: 0 0 0.3em; } }

.staff_interview_subTit {
  font-size: 5.6rem;
  font-weight: 700;
  line-height: 1.5; }
  @media screen and (max-width: 750px) {
    .staff_interview_subTit {
      line-height: 1;
      font-size: 11.7vw; } }

.staff_interview_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media screen and (max-width: 750px) {
    .staff_interview_list {
      display: block; } }
  .staff_interview_list li {
    width: 49%;
    margin: 0 0 20px; }
    @media screen and (max-width: 750px) {
      .staff_interview_list li {
        width: 100%;
        margin: 0 0 5.8vw; } }
  .staff_interview_list a {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 20px;
    padding: 45px 35px;
    height: 100%;
    box-shadow: 4px 4px 9px rgba(0, 0, 0, 0.2); }
    @media screen and (max-width: 750px) {
      .staff_interview_list a {
        padding: 10vw 8vw; } }

.staff_interview_list_tit {
  color: #1B4A99;
  display: flex;
  justify-content: space-between;
  width: 100%;
  align-items: center;
  margin: 0 0 14px; }
  @media screen and (max-width: 750px) {
    .staff_interview_list_tit {
      margin: 0 0 3.73vw; } }
  .staff_interview_list_tit::after {
    content: "";
    display: block;
    background: url("../img/common/icon_arrow01.svg") no-repeat;
    background-size: contain;
    width: 18px;
    height: 14px; }
    @media screen and (max-width: 750px) {
      .staff_interview_list_tit::after {
        width: 3.73vw;
        height: 3.2vw; } }

@media screen and (max-width: 750px) {
  .interview_list_a {
    font-size: 5.3vw; } }

.btnList {
  margin: 0 0 140px; }
  @media screen and (max-width: 750px) {
    .btnList {
      margin: 0 0 42.6vw; } }

.recruit_float {
  display: flex;
  width: 142px;
  height: 142px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  color: #1B4A99;
  bottom: auto;
  top: 130px;
  font-size: 2.3rem; }
  @media screen and (max-width: 750px) {
    .recruit_float {
      width: 25vw;
      height: 25vw;
      top: 18vw;
      font-size: 4.26vw; } }
  .recruit_float::before {
    content: "";
    display: block;
    width: 102px;
    height: 139px;
    background: url("../img/common/evox.svg") no-repeat;
    background-size: contain;
    position: absolute;
    top: calc(100% - 45px);
    left: 50%;
    transform: translateX(-50%);
    z-index: 3; }
    @media screen and (max-width: 750px) {
      .recruit_float::before {
        width: 19.2vw;
        height: 26.4vw;
        top: calc(100% - 10vw); } }
  .recruit_float:hover::after {
    transform: translateX(5px); }

.recruit_float_txt {
  position: absolute;
  left: 0;
  top: 0; }

/*---------------------------------------------
    environment
---------------------------------------------*/
.page_content.-environment {
  background: #ECF3FF;
  padding: 70px 0 130px; }
  @media screen and (max-width: 750px) {
    .page_content.-environment {
      padding: 6.6vw 0 10vw; } }
  .page_content.-environment .mt40 {
    margin-top: 40px; }
    @media screen and (max-width: 750px) {
      .page_content.-environment .mt40 {
        margin-top: 5vw; } }

.environment_list {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 750px) {
    .environment_list {
      display: block; } }
  .environment_list > li {
    width: 48.6%;
    border-radius: 14px;
    border: 1px solid #ABC3EA;
    background: #fff;
    padding: 23px 30px 35px; }
    @media screen and (max-width: 750px) {
      .environment_list > li {
        width: 100%;
        padding: 5vw; }
        .environment_list > li:not(:last-child) {
          margin: 0 0 4vw; } }
  @media screen and (min-width: 750px) {
    .environment_list.-exchange > li:nth-child(1) {
      width: 65.8%; }
    .environment_list.-exchange > li:nth-child(2) {
      width: 31.6%; } }

.environment_list_tit {
  font-size: 2.8rem;
  font-weight: 700; }
  @media screen and (max-width: 750px) {
    .environment_list_tit {
      font-size: 5.3vw;
      line-height: 1.2; } }
  .environment_list_tit span {
    font-size: 2rem;
    vertical-align: baseline;
    letter-spacing: normal; }
    @media screen and (max-width: 750px) {
      .environment_list_tit span {
        font-size: 3.73vw; } }

.environment_list_year {
  color: #1B4A99;
  font-weight: 700;
  font-size: 3.8rem;
  line-height: 1.2;
  text-align: center; }
  @media screen and (max-width: 750px) {
    .environment_list_year {
      font-size: 7.46vw; } }
  .environment_list_year span {
    font-size: 9rem;
    vertical-align: baseline;
    margin: 0 0.1em; }
    @media screen and (max-width: 750px) {
      .environment_list_year span {
        font-size: 16vw; } }

.environment_list_flex {
  display: flex;
  justify-content: center; }
  @media screen and (max-width: 750px) {
    .environment_list_flex {
      display: block; } }
  .environment_list_flex li {
    padding: 25px 0 0; }
    @media screen and (max-width: 750px) {
      .environment_list_flex li {
        padding: 5vw 0 0; } }
    .environment_list_flex li:not(:last-child) {
      margin: 0 30px 0 0; }
      @media screen and (max-width: 750px) {
        .environment_list_flex li:not(:last-child) {
          margin: 0; } }

.environment_list_minTit {
  color: #1B4A99;
  font-weight: 700;
  font-size: 1.8rem; }
  @media screen and (max-width: 750px) {
    .environment_list_minTit {
      font-size: 4.26vw; } }

.entryArea {
  padding: 70px 0 190px; }
  @media screen and (max-width: 750px) {
    .entryArea {
      padding: 20vw 0 50vw; } }
  .entryArea .linkBtn {
    margin: auto; }
