.concept {
  margin-top: clamp(77px, 5.7vw, 110px);
  width: 100%;
}

.conceptInner {
  width: 100%;
  position: relative;
  height: clamp(489.9px, 36.5vw, 700px);
}
@media (max-width: 1024px) {
  .conceptInner {
    height: clamp(700px, 52.1vw, 1000px);
    max-height: 80vh;
  }
}

.conceptMedia {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-direction: row;
  position: relative;
  height: 100%;
  overflow: hidden;
  opacity: 0;
  transition: all 2s ease;
}
.conceptMedia.-show {
  opacity: 1;
}
@media (max-width: 1024px) {
  .conceptMedia {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
  }
}

.conceptBlock {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  width: 26.0416666667%;
  position: relative;
  z-index: 2;
}
@media (max-width: 1024px) {
  .conceptBlock {
    width: 100%;
    height: 28.5714285714%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
  }
}

.conceptImg.-sub {
  width: 100%;
  height: 50%;
}
@media (max-width: 1024px) {
  .conceptImg.-sub {
    height: 100%;
  }
}
.conceptImg.-main {
  height: 100%;
  object-fit: cover;
  object-position: 80% 50%;
  transition: all 1s ease;
  width: 62.5%;
}
.conceptImg.-main.-show {
  width: 47.9166666667%;
}
@media (max-width: 1024px) {
  .conceptImg.-main.-show {
    width: 100%;
  }
}
@media (max-width: 1024px) {
  .conceptImg.-main {
    width: 100%;
    height: 42.8571428571%;
  }
}

.conceptHead {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 10px;
  background-color: white;
  padding-top: clamp(13px, 2.1vw, 40px);
  padding-left: clamp(40px, 5.2vw, 100px);
  padding-right: clamp(40px, 5.2vw, 100px);
  padding-bottom: clamp(16px, 1.7vw, 32px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

.conceptHeadTtl {
  color: #00009b;
  text-align: center;
}
.conceptHeadTtl.-en {
  font-size: clamp(4rem, (4.2vw), 8rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  font-family: "Jost";
}
.conceptHeadTtl.-ja {
  margin-top: clamp(7px, 0.5vw, 10px);
  font-size: clamp(1.6rem, (1vw), 2rem);
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.01em;
}

.intro {
  margin-top: clamp(50px, 5.2vw, 100px);
  width: 100%;
}

.introInner {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(16px, (16.7vw), 320px);
  padding-right: clamp(16px, (0vw), 0px);
}
@media (max-width: 767px) {
  .introInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}
@media (max-width: 767px) {
  .introInner {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
  }
}

.introContainer {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
}
@media (max-width: 767px) {
  .introContainer {
    display: contents;
  }
}

.introBody {
  width: calc(53vw - clamp(16px, 16.7vw, 320px));
  min-width: calc(53vw - clamp(16px, 16.7vw, 320px));
}
@media (max-width: 767px) {
  .introBody {
    width: 100%;
    min-width: 100%;
    order: 1;
  }
}

.introHeadTtl {
  font-size: clamp(3.5rem, (3.6vw), 7rem);
  font-weight: bold;
  line-height: 1.5714285714;
}

.introBodyTxt {
  margin-top: clamp(39px, 4.1vw, 78px);
  font-size: clamp(1.5rem, (0.9vw), 1.8rem);
  font-weight: 500;
  line-height: 1.9444444444;
}

.introMedia {
  width: calc(47vw - clamp(105px, 7.8vw, 150px));
  height: clamp(450px, 54.3vw, 1043px);
  position: relative;
  opacity: 0;
  scale: 0.8;
  transition: all 1000ms cubic-bezier(0.165, 0.84, 0.44, 1); /* easeOutQuart */
}
.introMedia.-active {
  opacity: 1;
  scale: 1;
  width: calc(50vw - clamp(105px, 7.8vw, 150px));
}
@media (max-width: 767px) {
  .introMedia {
    margin-top: 25px;
    width: 100%;
    min-width: 100%;
    order: 3;
  }
}

@keyframes floating {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-4%);
  }
}
.introMediaImg {
  position: absolute;
  aspect-ratio: 1/1;
  animation: floating 5s ease-in-out infinite;
}
.introMediaImg.-first {
  top: 0;
  left: 3%;
  width: clamp(61px, 7.8vw, 150px);
  animation-delay: -1s;
}
.introMediaImg.-second {
  right: 0;
  top: 2%;
  width: clamp(155px, 19.8vw, 380px);
  animation-delay: -0.4s;
}
.introMediaImg.-third {
  top: 26%;
  left: 20%;
  width: clamp(140px, 17.4vw, 335px);
  animation-delay: -2s;
}
.introMediaImg.-fourth {
  bottom: 10%;
  left: 7%;
  width: clamp(80px, 10vw, 192px);
  animation-delay: -0.8s;
}
.introMediaImg.-fifth {
  bottom: 0%;
  left: 28%;
  width: clamp(63px, 8.1vw, 155px);
  animation-delay: -1.2s;
}
.introMediaImg.-sixth {
  bottom: 7%;
  right: -3%;
  width: clamp(125px, 15.6vw, 300px);
  animation-delay: -1.6s;
}

.introMediaSquare {
  display: block;
  position: absolute;
  background-color: #feeb05;
  aspect-ratio: 1/1;
  animation: floating 10s ease-in-out infinite;
}
.introMediaSquare.-first {
  width: clamp(21px, 2.4vw, 47px);
  top: 13%;
  left: 30%;
  animation-delay: -0.2s;
}
.introMediaSquare.-second {
  width: clamp(38px, 3.8vw, 73px);
  top: 45%;
  left: 2%;
  animation-delay: -0.6s;
}
.introMediaSquare.-third {
  width: clamp(25px, 3.4vw, 65px);
  top: 45%;
  right: 15%;
  animation-delay: -1s;
}
.introMediaSquare.-fourth {
  width: clamp(19px, 2.4vw, 47px);
  bottom: 1%;
  right: 23%;
  animation-delay: -1.4s;
}

@keyframes loop {
  0% {
    background-position: 0% 0;
  }
  100% {
    background-position: -200vw 0;
  }
}
.introSpin {
  margin-top: clamp(20px, 5.2vw, 100px);
  margin-left: calc(-100% + 100% - clamp(16px, 16.7vw, 320px));
  background: url(../../img/recruit/spinning_letters.svg) repeat-x 0 0;
  background-size: clamp(600px, 100vw, 1920px) clamp(50px, 7.8vw, 150px);
  width: 100vw;
  max-width: 100vw;
  height: clamp(50px, 7.8vw, 150px);
  animation: loop 80s linear infinite;
}
@media (max-width: 767px) {
  .introSpin {
    order: 2;
    margin-left: 0;
    animation: loop 50s linear infinite;
  }
}

.details {
  margin-top: clamp(106px, 11vw, 212px);
  width: 100%;
}

.detailsInner {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(16px, (16.7vw), 320px);
  padding-right: clamp(16px, (16.7vw), 320px);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}
@media (max-width: 767px) {
  .detailsInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}
@media (max-width: 767px) {
  .detailsInner {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 32px;
  }
}

.detailsTtl {
  margin-top: -0.3em;
  font-size: clamp(4rem, (4.2vw), 8rem);
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.01em;
  width: 50%;
}
@media (max-width: 767px) {
  .detailsTtl {
    width: 100%;
  }
}

.detailsContents {
  width: 50%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(35px, 2.6vw, 50px);
}
@media (max-width: 767px) {
  .detailsContents {
    width: 100%;
  }
}

.detailsContentTtl {
  font-size: clamp(2.1rem, (1.6vw), 3rem);
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.01em;
}

.detailsContentTxt {
  font-size: clamp(1.4rem, (0.9vw), 1.8rem);
  font-weight: normal;
  line-height: 1.6666666667;
  letter-spacing: 0.01em;
}

.detailsSlider {
  margin-top: clamp(70px, 5.2vw, 100px);
}

.detailsSliderImg {
  width: 100%;
  aspect-ratio: 650/382;
  object-fit: cover;
}

.attractive {
  margin-top: clamp(82.5px, 8.6vw, 165px);
  width: 100%;
}

.attractiveInner {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(16px, (16.7vw), 320px);
  padding-right: clamp(16px, (16.7vw), 320px);
}
@media (max-width: 767px) {
  .attractiveInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.attractiveHeadTtl.-en {
  font-size: clamp(4.8rem, (4.2vw), 8rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  font-family: "Jost";
  color: #00009b;
}
.attractiveHeadTtl.-ja {
  margin-top: clamp(7px, 0.5vw, 10px);
  font-size: clamp(1.44rem, (0.9vw), 1.8rem);
  font-weight: bold;
  line-height: 1.4444444444;
  letter-spacing: 0.01em;
}

.attractiveBody {
  margin-top: clamp(35px, 2.6vw, 50px);
}

.attractiveBodyList {
  width: 100%;
  border-bottom: 1px solid #00009b;
}

.attractiveBodyItem {
  border-top: 1px solid #00009b;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  padding-top: clamp(35px, 4.2vw, 80px);
  padding-bottom: clamp(35px, 4.2vw, 80px);
}
@media (max-width: 767px) {
  .attractiveBodyItem {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}

.attractiveBodyNum {
  font-size: clamp(2.8rem, (2.1vw), 4rem);
  font-weight: bold;
  line-height: 1;
  color: #00009b;
  font-family: "Jost";
  margin-right: clamp(35px, 3.6vw, 70px);
  margin-top: 0.3em;
}

.attractiveBodyTtl {
  font-size: clamp(2.4rem, (2.1vw), 4rem);
  font-weight: bold;
  line-height: 1.375;
  letter-spacing: 0.01em;
  min-width: clamp(200px, 24.5vw, 470px);
  padding-right: 1em;
}
@media (max-width: 1024px) {
  .attractiveBodyTtl br {
    display: none;
  }
}
@media (max-width: 767px) {
  .attractiveBodyTtl {
    margin-top: 16px;
  }
}

.attractiveBodyTxt {
  font-size: clamp(1.4rem, (1vw), 2rem);
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.01em;
}
@media (max-width: 767px) {
  .attractiveBodyTxt {
    margin-top: 16px;
  }
}

.culture {
  margin-top: clamp(82.5px, 8.6vw, 165px);
  width: 100%;
}

.cultureInner {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(16px, (16.7vw), 320px);
  padding-right: clamp(16px, (16.7vw), 320px);
}
@media (max-width: 767px) {
  .cultureInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.cultureHeadTtl.-en {
  font-size: clamp(4.8rem, (4.2vw), 8rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  font-family: "Jost";
  color: #00009b;
}
.cultureHeadTtl.-ja {
  margin-top: clamp(7px, 0.5vw, 10px);
  font-size: clamp(1.44rem, (0.9vw), 1.8rem);
  font-weight: bold;
  line-height: 1.4444444444;
  letter-spacing: 0.01em;
}

.cultureBody {
  margin-top: clamp(21px, 1.6vw, 30px);
  width: 100%;
}

.cultureBodyTxt {
  font-size: clamp(1.12rem, (0.8vw), 1.6rem);
  font-weight: 500;
  line-height: 1.5;
}

.cultureBodyList {
  margin-top: clamp(35px, 2.6vw, 50px);
  width: 100%;
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(25px, 2.6vw, 50px);
  column-gap: clamp(25px, 2.6vw, 50px);
  align-items: stretch;
}

.cultureBodyItem {
  width: calc((100% - clamp(25px, 2.6vw, 50px) * 1) / 2);
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);
}
@media (max-width: 767px) {
  .cultureBodyItem {
    width: calc((100% - clamp(25px, 2.6vw, 50px) * 0) / 1);
  }
}

.cultureBodyImg {
  width: 100%;
  aspect-ratio: 615/320;
}

.cultureBodyContents {
  width: 100%;
  padding: clamp(25px, 2.6vw, 50px);
}

.cultureBodyWrap {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
}

.cultureBodyNum {
  font-size: clamp(2.5rem, (2.6vw), 5rem);
  font-weight: 600;
  line-height: 1;
  font-family: "Jost";
  margin-right: clamp(15px, 1.6vw, 30px);
}

.cultureBodyTtl {
  font-size: clamp(1.5rem, (1.6vw), 3rem);
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.01em;
  margin-top: clamp(2px, 0.2vw, 3px);
}

.cultureBodyTxt {
  margin-top: clamp(15px, 1.6vw, 30px);
  font-size: clamp(1.4rem, (0.7vw), 1.4rem);
  font-weight: 500;
  line-height: 1.5;
}

.staff {
  margin-top: clamp(85px, 8.9vw, 170px);
  padding-top: clamp(75px, 7.8vw, 150px);
  padding-bottom: clamp(75px, 7.8vw, 150px);
  width: 100%;
  background-color: #f2f3fa;
}

.staffInner {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(16px, (16.7vw), 320px);
  padding-right: clamp(16px, (16.7vw), 320px);
}
@media (max-width: 767px) {
  .staffInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.staffHeadTtl.-en {
  font-size: clamp(4.8rem, (4.2vw), 8rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  font-family: "Jost";
  color: #00009b;
}
.staffHeadTtl.-ja {
  margin-top: clamp(7px, 0.5vw, 10px);
  font-size: clamp(1.44rem, (0.9vw), 1.8rem);
  font-weight: bold;
  line-height: 1.4444444444;
  letter-spacing: 0.01em;
}

.staffBody {
  margin-top: clamp(25px, 2.6vw, 50px);
  width: 100%;
}

.staffBodyList {
  width: 100%;
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(16px, 2.1vw, 40px);
  column-gap: clamp(16px, 2.1vw, 40px);
}

.staffBodyItem {
  width: calc((100% - clamp(16px, 2.1vw, 40px) * 2) / 3);
}
@media (max-width: 1250px) {
  .staffBodyItem {
    width: calc((100% - clamp(16px, 2.1vw, 40px) * 1) / 2);
  }
}
@media (max-width: 767px) {
  .staffBodyItem {
    width: calc((100% - clamp(16px, 2.1vw, 40px) * 0) / 1);
  }
}

.staffBodyLink {
  width: 100%;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}

.staffBodyImg {
  width: 100%;
  aspect-ratio: 300/235;
}
@media (max-width: 767px) {
  .staffBodyImg {
    aspect-ratio: 343/269;
  }
}

.staffBodyTxt {
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: white;
  font-size: clamp(1.25rem, (1.3vw), 2.5rem);
  font-weight: bold;
  line-height: 1.2;
  z-index: 1;
  color: #00009b;
  padding-left: clamp(14px, 1vw, 20px);
  padding-right: clamp(14px, 1vw, 20px);
  padding-top: clamp(7px, 0.5vw, 10px);
  padding-bottom: clamp(7px, 0.5vw, 10px);
  border-top-right-radius: 10px;
}

.requirements {
  margin-top: clamp(85px, 8.9vw, 170px);
  width: 100%;
}

.requirementsInner {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(16px, (16.7vw), 320px);
  padding-right: clamp(16px, (16.7vw), 320px);
}
@media (max-width: 767px) {
  .requirementsInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.requirementsHeadTtl.-en {
  font-size: clamp(4.8rem, (4.2vw), 8rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  font-family: "Jost";
  color: #00009b;
}
.requirementsHeadTtl.-ja {
  margin-top: clamp(7px, 0.5vw, 10px);
  font-size: clamp(1.44rem, (0.9vw), 1.8rem);
  font-weight: bold;
  line-height: 1.4444444444;
  letter-spacing: 0.01em;
}

.requirementsBody {
  margin-top: clamp(35px, 2.6vw, 50px);
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  column-gap: clamp(42px, 3.1vw, 60px);
}
@media (max-width: 767px) {
  .requirementsBody {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: clamp(35px, 2.6vw, 50px);
  }
}

.requirementsBodyColumn {
  width: calc((100% - clamp(42px, 3.1vw, 60px)) / 2);
}
@media (max-width: 767px) {
  .requirementsBodyColumn {
    width: 100%;
  }
}

.requirementsBodyTtl {
  font-size: clamp(1.75rem, (1.3vw), 2.5rem);
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.01em;
  width: 100%;
  border-bottom: 1px solid #c9c9c9;
  padding-bottom: clamp(14px, 1vw, 20px);
}

.requirementsBodyTable {
  margin-top: clamp(14px, 1vw, 20px);
  width: 100%;
}
.requirementsBodyTable tbody {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(7px, 0.5vw, 10px);
}
.requirementsBodyTable tr {
  width: 100%;
}
.requirementsBodyTable th,
.requirementsBodyTable td {
  font-size: clamp(1.28rem, (0.8vw), 1.6rem);
  font-weight: 500;
  line-height: 2;
}
.requirementsBodyTable th {
  width: clamp(90px, 9.4vw, 180px);
  min-width: clamp(90px, 9.4vw, 180px);
  padding-right: 0.5em;
}

.requirementsBodyTxt {
  margin-top: clamp(14px, 1vw, 20px);
  width: 100%;
  font-size: clamp(1.28rem, (0.8vw), 1.6rem);
  font-weight: 500;
  line-height: 2;
}