@charset "UTF-8";




h2 img{
  display: block;
  width: 50%;
  margin: auto;
  max-width: 550px;
  margin-bottom: 50px;
}



.staff {
  max-width: 1000px;
  margin: 0 auto;
}

.staff_item {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 60px;
  padding: 30px;
  margin:50px auto;
  max-width: 700px;
  width: 70%;
   background-color: #fff;
}

/* 右上・右側に見せるグレー */
.staff_item::before {
    content: "";
    position: absolute;

    top: -10px;
    right: -10px;

    width: 100%;
    height: 100%;

    background-color: #e4e4e5;

    z-index: -1;
}
.staff_text {
  flex: 1;
  font-size: 1.4rem;
}

.staff_name {
  font-weight: bold;
  margin: 0;
  font-size: 1.6rem;
}

.staff_furigana {
  font-size: 1.4rem;
  margin: 5px 0 20px;
}

.staff_position {
  font-weight: bold;
  margin-bottom: 20px;

}

.staff_content {
  line-height: 2;
}

.staff_photo {
  width: 200px;
  height: 200px;
  flex-shrink: 0;
  overflow: hidden;
}

.staff_photo img {
  height: auto;
  display: block;
  object-fit: cover;
}


/* モーダル */
.staff_modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1000;

  justify-content: center;
  align-items: center;
}

/* モーダルを開いた状態 */
.staff_modal.active {
  display: flex;
}

/* 中身 */
.staff_modal_inner {
  position: relative;
  width: 80%;
  max-width: 800px;
  max-height: 80vh;
  overflow-y: auto;

  padding: 50px;
  background: #fff;
  box-sizing: border-box;
}

/* 閉じるボタン */
.staff_modal_close {
  position: absolute;
  top: 0px;
  right: 0px;

  border: none;
  background: none;
  color: #fff;
  cursor: pointer;
  background-color: #595757;

    width: 25px;
  height: 25px;
  padding: 0;
margin: 0;
}

/* ×の線 */
.staff_modal_close::before,
.staff_modal_close::after {
  content: "";
  position: absolute;

  top: 50%;
  left: 50%;

  width: 35px;
  height: 1px;

  background-color: #fff;
}

.staff_modal_close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.staff_modal_close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* 上部分 */
.staff_modal_top {
  display: flex;
  justify-content: space-between;
  gap: 50px;
}

/* 文章 */
.staff_modal_text {
  flex: 1;
  font-size: 1.4rem;
}

.staff_modal_text p{
  margin-bottom: 10px;
}
.staff_modal_text .modal_name{
  margin-bottom: 0px;
}

/* 写真 */
.staff_modal_photo {
  width: 250px;
  height: 350px;
  overflow: hidden;
  flex-shrink: 0;
}

.staff_modal_photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  object-position: top;
}


.modal_history {
  line-height: 2;
}

.staff_modal_text .modal_name{
  font-size: 2.0rem;
}

/*経歴*/
.history_item {
  white-space: pre-wrap;

}

.history_year {
  width: 80px;
  flex-shrink: 0;
}

.history_content {
  flex: 1;
}

.staff_item:hover{
  opacity: 0.9;
}

.staff_item:hover::before {
  opacity: 0.8;
}



/*背景制御*/
html.modal_open,
body.modal_open {
    overflow: hidden;
}
.staff_modal {
    overflow: hidden;
}

.staff_modal_inner {
    max-height: 70vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}



@media screen and (max-width: 700px) {

  h2 img{
    width: 80%;
  }
  .staff_item {
    flex-direction: column;
    gap: 0;
    width: 90%;
  }

  .staff_text {
  min-width: 200px;
}
  .staff_photo {
    order: -1;
    margin-right: 0;
    margin-bottom: 20px;
  }
  .staff_modal_inner{
    width: 90%;
    padding: 30px;
  }
  .staff_modal_top {
    flex-direction: column;
    gap: 0;
  }

  .staff_modal_photo {
    order: -1;
     width: 70%;
    height: 250px;
    object-position: top;

    margin: 0 auto 20px;
  }




}



  
