@charset "UTF-8";
/* Scss Document */
/* Scss Document */
.staff_introduction {
  text-align: center;
}
.staff_introduction-title {
  margin-bottom: 1.5em;
  font-size: 3.2rem;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 640px) {
  .staff_introduction-title {
    line-height: 1.4;
    font-size: calc(32 / 640 * 100vw);
  }
}
.staff_introduction p {
  font-size: 2rem;
  font-weight: 400;
}
.staff_introduction p em {
  font-weight: 600;
  color: #f00;
}
@media only screen and (max-width: 640px) {
  .staff_introduction p {
    text-align: left;
    font-size: calc(24 / 640 * 100vw);
  }
  .staff_introduction p br {
    display: none;
  }
}
.staff_list {
  margin-top: 8.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8.5rem 5.5921052632%;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media only screen and (max-width: 640px) {
  .staff_list {
    margin-top: calc(60 / 640 * 100vw);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(120 / 640 * 100vw);
  }
}
.staff_item {
  border: solid 0 #0D7CCE;
  border-radius: 1.6rem;
  width: 29.6052631579%;
  position: relative;
  -webkit-transition: all 0.35s ease-out;
  transition: all 0.35s ease-out;
}
@media only screen and (max-width: 640px) {
  .staff_item {
    width: 100%;
  }
}
.staff_item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 13rem;
  height: 14rem;
  background: url(../images/staff/img_taichan.png) no-repeat center top;
  -webkit-transition: top 0.15s 0s ease-out;
  transition: top 0.15s 0s ease-out;
  /*transitionの記述を追加*/
}
.staff_button {
  margin: 0 auto;
  position: absolute;
  top: -2.5rem;
  left: 0;
  right: 0;
  text-align: center;
}
.staff_button:after {
  content: "PROFILE";
  margin-top: 0.5rem;
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
  color: #0D7CCE;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1;
  display: block;
  z-index: 2;
}
.staff_button img {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
.staff_text {
  padding: 5.6rem 0 0;
  border: solid 0.4rem rgba(13, 124, 206, 0);
  background: #FFF;
  position: absolute;
  margin: 0 auto;
  bottom: 0;
  right: 0;
  left: 0;
  width: 28rem;
  height: 5.6rem;
  z-index: 1;
  border-radius: 1.6rem 1.6rem 0 0;
  -webkit-transition: all 0.35s ease-out;
  transition: all 0.35s ease-out;
}
.staff_profile {
  opacity: 0;
  display: none;
}
.staff_position {
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 2em;
}
.staff_head {
  text-align: center;
}
.staff_name {
  font-size: 3.2rem;
  line-height: 1;
}
@media only screen and (max-width: 1600px) {
  .staff_name {
    font-size: calc(32 / 1600 * 100vw);
  }
}
@media only screen and (max-width: 1200px) {
  .staff_name {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 640px) {
  .staff_name {
    font-size: calc(40 / 640 * 100vw);
  }
}
.staff_item {
  border-radius: 1.6rem;
}
.staff_item.open {
  -webkit-filter: drop-shadow(0px 0px 24px rgba(13, 124, 206, 0.3));
          filter: drop-shadow(0px 0px 24px rgba(13, 124, 206, 0.3));
}
.staff_item.open::before {
  top: -9rem;
}
.staff_item.open .staff_button:after {
  content: "CLOSE";
}
.staff_item.open .staff_button img {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.staff_item.open .staff_text {
  border-radius: 1.6rem;
  border: solid 0.4rem rgb(13, 124, 206);
  padding: 10rem 4.5rem 7rem;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.8);
  -webkit-backdrop-filter: blur(0.8rem);
          backdrop-filter: blur(0.8rem);
}
@media only screen and (max-width: 1600px) {
  .staff_item.open .staff_text {
    padding: calc(100 / 1600 * 100vw) calc(45 / 1600 * 100vw) calc(70 / 1600 * 100vw);
  }
}
@media only screen and (max-width: 1200px) {
  .staff_item.open .staff_text {
    padding: 7.6rem 3.2rem 5.2rem;
  }
}
@media only screen and (max-width: 640px) {
  .staff_item.open .staff_text {
    padding: calc(100 / 640 * 100vw) calc(45 / 640 * 100vw) calc(70 / 640 * 100vw);
  }
}
.staff_item.open .staff_profile {
  margin-top: 2rem;
  display: block;
  font-weight: 600;
  -webkit-animation: profile 0.45s cubic-bezier(0.65, 0.08, 0.96, 0.46) forwards;
          animation: profile 0.45s cubic-bezier(0.65, 0.08, 0.96, 0.46) forwards;
  -webkit-animation-delay: 0.25s;
          animation-delay: 0.25s;
}
@media only screen and (max-width: 1600px) {
  .staff_item.open .staff_profile {
    margin-top: calc(50 / 1600 * 100vw);
  }
}
@media only screen and (max-width: 1200px) {
  .staff_item.open .staff_profile {
    margin-top: 3.6rem;
  }
}
@media only screen and (max-width: 640px) {
  .staff_item.open .staff_profile {
    margin-top: calc(50 / 640 * 100vw);
  }
}
.staff_item.open .staff_profile dt {
  margin-bottom: 0.5em;
  color: #0D7CCE;
  line-height: 2rem;
}
@media only screen and (max-width: 1600px) {
  .staff_item.open .staff_profile dt {
    font-size: calc(16 / 1600 * 100vw);
  }
}
@media only screen and (max-width: 1200px) {
  .staff_item.open .staff_profile dt {
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 640px) {
  .staff_item.open .staff_profile dt {
    font-size: calc(20 / 640 * 100vw);
  }
}
.staff_item.open .staff_profile dd {
  margin-bottom: 1em;
  font-size: 2rem;
  line-height: 1.6;
}
@media only screen and (max-width: 1600px) {
  .staff_item.open .staff_profile dd {
    font-size: calc(20 / 1600 * 100vw);
  }
}
@media only screen and (max-width: 1200px) {
  .staff_item.open .staff_profile dd {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 640px) {
  .staff_item.open .staff_profile dd {
    font-size: calc(24 / 640 * 100vw);
  }
}
.staff_item.open .staff_profile .profile_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.staff_item.open .staff_profile .profile_row dt {
  padding-top: 1rem;
  width: 6em;
}
.staff_item.open .staff_profile .profile_row dd {
  width: calc(100% - 6em);
}
.staff_item.open .staff_profile .profile_message dd {
  font-size: 1.6rem;
}
@media only screen and (max-width: 1600px) {
  .staff_item.open .staff_profile .profile_message dd {
    font-size: calc(16 / 1600 * 100vw);
  }
}
@media only screen and (max-width: 1200px) {
  .staff_item.open .staff_profile .profile_message dd {
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 640px) {
  .staff_item.open .staff_profile .profile_message dd {
    font-size: calc(20 / 640 * 100vw);
  }
}
.staff_image {
  position: relative;
  z-index: 0;
  border-radius: 1.6rem;
  overflow: hidden;
}

@-webkit-keyframes profile {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes profile {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}