@charset "UTF-8";
/* Scss Document */
/*******************************************************************/
/*******************************************************************/
.staff {
  background-color: #F7F8F8;
  padding: 100px 0 200px; }

.staff_box {
  max-width: 1350px;
  width: calc(100% - 180px);
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: flex-start; }

.staff_list_ttl {
  width: 290px;
  position: relative; }
  .staff_list_ttl:before {
    position: absolute;
    content: "";
    display: block;
    width: 40%;
    max-width: 110px;
    height: 1px;
    background-color: #AFB3BC;
    top: 20px;
    right: 0; }
  .staff_list_ttl:after {
    position: absolute;
    content: "";
    display: block;
    width: 40%;
    max-width: 110px;
    height: 1px;
    background-color: #AFB3BC;
    bottom: 20px;
    left: 0; }
  .staff_list_ttl h2 {
    height: 1000px;
    writing-mode: vertical-rl;
    padding: 75px 0;
    width: fit-content;
    margin: 0 auto;
    font: 3.2rem/2.5em 'Noto Serif JP', serif;
    font-weight: 400;
    color: #384158; }
    .staff_list_ttl h2 .block {
      display: block;
      height: 100%;
      letter-spacing: 0.2em; }
      .staff_list_ttl h2 .block:nth-of-type(2) {
        text-align: right; }
    .staff_list_ttl h2:before {
      position: absolute;
      content: "";
      display: block;
      width: 1px;
      height: 80%;
      max-height: 300px;
      background-color: #AFB3BC;
      top: 0;
      right: 20px; }
    .staff_list_ttl h2:after {
      position: absolute;
      content: "";
      display: block;
      width: 1px;
      height: 80%;
      max-height: 300px;
      background-color: #AFB3BC;
      bottom: 0;
      left: 20px; }
    .staff_list_ttl h2 br {
      display: none; }

.staff_list_box {
  max-width: 930px;
  width: calc(100% - 300px); }

.staff_list {
  max-width: 860px;
  width: 100%;
  margin: 0 0 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  align-items: flex-start; }
  .staff_list li {
    width: calc((100% - 80px)/3);
    margin: 0 40px 60px 0;
    overflow: hidden;
    position: relative; }
    .staff_list li:nth-of-type(3n) {
      margin: 0 0 60px; }
  .staff_list a {
    display: block;
    position: relative;
    width: 100%;
    height: auto; }
    .staff_list a:hover .txt {
      z-index: 4;
      opacity: 1;
      top: 0; }
  .staff_list .pic {
    display: block;
    position: relative;
    width: 100%;
    padding: 75% 0 0; }
    .staff_list .pic:before {
      position: absolute;
      content: "";
      display: block;
      width: 100%;
      height: 5px;
      background: linear-gradient(90deg, #0080BF, #18A068);
      z-index: 5;
      left: 0;
      bottom: 0; }
  .staff_list img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    /* Safari用 */
    transform: translate(-50%, -50%);
    width: auto;
    height: 100%; }
  .staff_list .txt {
    z-index: 4;
    transition: .3s;
    opacity: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(56, 65, 88, 0.9);
    color: #fff;
    top: 100%;
    left: 0; }
    .staff_list .txt:before {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/staff/staff_arrow.svg") center center no-repeat;
      background-size: contain;
      width: 43px;
      height: 43px;
      right: 10px;
      bottom: 15px; }
    .staff_list .txt small {
      font: 1.4rem/1.5em 'Noto Sans JP', sans-serif;
      font-weight: 400;
      display: block;
      margin: 0 0 10px; }
    .staff_list .txt p {
      display: block;
      padding: 20px;
      position: absolute;
      bottom: 0;
      left: 0;
      font: 2.2rem/1.0em 'Noto Serif JP', serif;
      font-weight: 500; }

@media (max-width: 1280px) {
  .staff_list {
    max-width: 560px;
    width: 100%;
    margin: 0 auto;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: flex-start; }
    .staff_list li {
      width: calc((100% - 40px)/2);
      margin: 0 0 60px 0; }
      .staff_list li:nth-of-type(3n) {
        margin: 0 0 60px !important; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .staff {
    background-color: #F7F8F8;
    padding: 100px 0 200px; }

  .staff_box {
    width: calc(100% - 40px); }

  .staff_list_ttl {
    order: 1;
    width: 100%;
    position: relative;
    margin: 0 auto 50px; }
    .staff_list_ttl:before, .staff_list_ttl:after {
      display: none; }
    .staff_list_ttl h2 {
      height: auto;
      padding: 0;
      font: 3.2rem/2.5em 'Noto Serif JP', serif;
      font-weight: 400; }
      .staff_list_ttl h2 .block:nth-of-type(2) {
        text-align: left; }
      .staff_list_ttl h2 .tume {
        margin: -20px 0 0; }
      .staff_list_ttl h2 br {
        display: block; }
      .staff_list_ttl h2:before, .staff_list_ttl h2:after {
        display: none; }

  .staff_list_box {
    order: 2;
    max-width: 930px;
    width: 100%;
    margin: 0 auto; }

  .staff_list {
    max-width: 860px;
    width: 100%;
    margin: 0 auto;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start; }
    .staff_list li {
      width: calc((100% - 50px)/3);
      margin: 0 25px 50px 0 !important; }
      .staff_list li:nth-of-type(3n) {
        margin: 0 0 50px !important; }
      .staff_list li:before {
        display: none; }
    .staff_list a:hover .txt {
      z-index: 4;
      opacity: 1;
      top: auto;
      left: auto; }
    .staff_list .txt {
      opacity: 1;
      position: relative;
      width: 100%;
      height: auto;
      background-color: inherit !important;
      color: #384158;
      top: auto;
      left: auto; }
      .staff_list .txt:before {
        width: 30px;
        height: 30px;
        right: 10px;
        bottom: 10px; }
      .staff_list .txt small br {
        display: none; }
      .staff_list .txt p {
        padding: 15px;
        position: relative; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .staff {
    padding: 100px 0 200px; }

  .staff_list_ttl {
    margin: 0 auto 40px; }
    .staff_list_ttl h2 {
      font: 2.8rem/2.3em 'Noto Serif JP', serif;
      font-weight: 400; }
      .staff_list_ttl h2 .tume {
        margin: -15px 0 0; }

  .staff_list li {
    width: calc((100% - 20px)/2);
    margin: 0 0 30px 0 !important; }
    .staff_list li:nth-of-type(3n) {
      margin: 0 0 30px !important; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .staff {
    padding: 100px 0 100px; }

  .staff_list_ttl h2 {
    font: 2.2rem/2.4em 'Noto Serif JP', serif;
    font-weight: 400; }
    .staff_list_ttl h2 .tume {
      margin: -10px 0 0; }

  .staff_list .txt p {
    padding: 15px 0; }
  .staff_list .txt:before {
    width: 35px;
    height: 35px;
    right: 10px;
    bottom: 0; }
  .staff_list li {
    max-width: 300px;
    width: 100%;
    margin: 0 auto 60px !important; }
    .staff_list li:nth-of-type(3n) {
      margin: 0 auto 30px !important; }
    .staff_list li:last-of-type {
      margin: 0  !important; } }
/*max-width:480px*/
/***************************************************************/
/***************************************************************/
.staff_single_box {
  max-width: 1200px;
  width: calc(100% - 180px);
  margin: 0 auto; }

.staff_single_mv {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 560px;
  margin: 0 auto 100px; }
  .staff_single_mv img {
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    /* Safari用 */
    transform: translate(-50%, -50%);
    height: 100%;
    width: auto; }
  .staff_single_mv:before {
    position: absolute;
    content: "";
    display: block;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, #0080BF, #18A068);
    z-index: 5;
    left: 0;
    bottom: 0; }

.staff_name {
  margin: 0 0 100px; }

.job {
  font: 1.8rem/1.4em 'Noto Sans JP', sans-serif;
  font-weight: 400;
  margin: 0 0 20px;
  color: #384158; }

.name {
  color: #384158;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  align-items: center;
  letter-spacing: 0.5em; }
  .name span {
    font: 4.0rem/1.0em 'Noto Serif JP', serif;
    font-weight: 500; }
  .name small {
    letter-spacing: 0.03em;
    font: 2.0rem/1.0em 'Noto Serif JP', serif;
    font-weight: 400;
    margin: 0 0 0 40px; }

.staff_ability {
  margin: 0 0 160px; }
  .staff_ability dt {
    color: #384158;
    width: 180px;
    text-align: center;
    border: 1px solid #9BA0AB;
    font: 1.8rem/48px 'Noto Sans JP', sans-serif;
    font-weight: 400;
    padding: 0 0 2px;
    margin: 0 0 40px; }
  .staff_ability dd {
    color: #384158;
    margin: 0 0 60px;
    font: 1.6rem/2.6em 'Noto Sans JP', sans-serif;
    font-weight: 400;
    text-align: justify;
    text-justify: inter-ideograph; }

.staff_dat {
  width: 100%; }

.staff_txt {
  margin: 0 auto 90px;
  text-align: justify;
  text-justify: inter-ideograph;
  font: 1.8rem/2.6em 'Noto Serif JP', serif;
  font-weight: 400; }

.back_staff {
  display: block;
  width: 480px;
  height: 80px;
  background: linear-gradient(90deg, #0080BF, #18A068);
  color: #fff;
  text-align: center;
  margin: 0 auto;
  border-radius: 50px;
  font: 1.8rem/78px 'Noto Serif JP', serif;
  font-weight: 600;
  letter-spacing: 0.05em;
  position: relative; }
  .back_staff:hover {
    background: #384158;
    color: #fff; }
  .back_staff:before {
    position: absolute;
    content: "";
    display: block;
    background: url("../images/common/arrow_icon_white.svg") center center no-repeat;
    background-size: contain;
    width: 23px;
    height: 20px;
    top: 50%;
    left: auto;
    -webkit-transform: translate(0%, -50%);
    /* Safari用 */
    transform: translate(0%, -50%);
    right: 30px; }

/*max-width:1280px*/
@media (max-width: 1024px) {
  .staff_single_box {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start; }

  .staff_single_mv {
    order: 2;
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 460px;
    margin: 0 auto 50px; }
    .staff_single_mv img {
      position: absolute;
      content: "";
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      /* Safari用 */
      transform: translate(-50%, -50%);
      height: 100%;
      width: auto; }
    .staff_single_mv:before {
      position: absolute;
      content: "";
      display: block;
      width: 100%;
      height: 5px;
      background: linear-gradient(90deg, #0080BF, #18A068);
      z-index: 5;
      left: 0;
      bottom: 0; }

  .staff_name {
    order: 1;
    margin: 0 0 40px;
    padding: 0 40px; }

  .job {
    font: 1.8rem/1.4em 'Noto Sans JP', sans-serif;
    font-weight: 400;
    margin: 0 0 20px;
    color: #384158; }

  .name {
    color: #384158;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: center; }
    .name span {
      font: 4.0rem/1.0em 'Noto Serif JP', serif;
      font-weight: 500; }
    .name small {
      font: 2.0rem/1.0em 'Noto Serif JP', serif;
      font-weight: 400;
      margin: 0 0 0 20px; }

  .staff_dat {
    order: 3;
    padding: 0 40px; }

  .staff_ability {
    margin: 0 0 50px; }
    .staff_ability dt {
      color: #384158;
      width: 180px;
      text-align: center;
      border: 1px solid #9BA0AB;
      font: 1.8rem/48px 'Noto Sans JP', sans-serif;
      font-weight: 400;
      padding: 0 0 2px;
      margin: 0 0 15px; }
    .staff_ability dd {
      margin: 0 0 40px;
      font: 1.6rem/2.0em 'Noto Sans JP', sans-serif;
      font-weight: 400;
      text-align: justify;
      text-justify: inter-ideograph; }

  .staff_txt {
    margin: 0 auto 40px; }
    .staff_txt p {
      text-align: justify;
      text-justify: inter-ideograph;
      font: 1.6rem/2.0em 'Noto Serif JP', serif;
      font-weight: 400; }

  .back_staff {
    display: block;
    max-width: 480px;
    width: 90%;
    height: 80px;
    background: linear-gradient(90deg, #0080BF, #18A068);
    color: #fff;
    text-align: center;
    margin: 0 auto;
    border-radius: 50px;
    font: 1.8rem/78px 'Noto Serif JP', serif;
    font-weight: 600;
    letter-spacing: 0.05em;
    position: relative; }
    .back_staff:hover {
      background: #384158;
      color: #fff; }
    .back_staff:before {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/common/arrow_icon_white.svg") center center no-repeat;
      background-size: contain;
      width: 23px;
      height: 20px;
      top: 50%;
      left: auto;
      -webkit-transform: translate(0%, -50%);
      /* Safari用 */
      transform: translate(0%, -50%);
      right: 30px; } }
/*max-width:1024px*/
/*max-width:768px*/
@media (max-width: 480px) {
  .staff_single_mv {
    height: 0;
    padding: 75% 0 0;
    margin: 0 auto 50px; }

  .staff_name {
    order: 1;
    margin: 0 0 40px;
    padding: 0 30px; }

  .job {
    font: 1.4rem/1.5em 'Noto Sans JP', sans-serif;
    font-weight: 400;
    margin: 0 0 20px;
    color: #384158; }

  .name {
    color: #384158;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    align-items: center; }
    .name span {
      font: 2.6rem/1.0em 'Noto Serif JP', serif;
      font-weight: 500; }
    .name small {
      font: 1.4rem/1.0em 'Noto Serif JP', serif;
      font-weight: 400;
      margin: 0 0 0 15px; }

  .staff_dat {
    order: 3;
    padding: 0 30px; }

  .staff_ability {
    margin: 0 0 50px; }
    .staff_ability dt {
      color: #384158;
      width: 130px;
      text-align: center;
      border: 1px solid #9BA0AB;
      font: 1.4rem/40px 'Noto Sans JP', sans-serif;
      font-weight: 400;
      padding: 0 0 2px;
      margin: 0 0 15px; }
    .staff_ability dd {
      margin: 0 0 40px;
      font: 1.5rem/2.0em 'Noto Sans JP', sans-serif;
      font-weight: 400;
      text-align: justify;
      text-justify: inter-ideograph; }

  .staff_txt {
    margin: 0 auto 40px; }
    .staff_txt p {
      text-align: justify;
      text-justify: inter-ideograph;
      font: 1.6rem/2.0em 'Noto Serif JP', serif;
      font-weight: 400; }

  .back_staff {
    display: block;
    max-width: 480px;
    width: 90%;
    height: 60px;
    background: linear-gradient(90deg, #0080BF, #18A068);
    color: #fff;
    text-align: center;
    margin: 0 auto;
    border-radius: 50px;
    font: 1.6rem/58px 'Noto Serif JP', serif;
    font-weight: 600;
    letter-spacing: 0.05em;
    position: relative; }
    .back_staff:hover {
      background: #384158;
      color: #fff; }
    .back_staff:before {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/common/arrow_icon_white.svg") center center no-repeat;
      background-size: contain;
      width: 23px;
      height: 20px;
      top: 50%;
      left: auto;
      -webkit-transform: translate(0%, -50%);
      /* Safari用 */
      transform: translate(0%, -50%);
      right: 30px; } }
/*max-width:480px*/
