@charset "UTF-8";
/* Scss Document */
/*---------------------------------------------
    common
---------------------------------------------*/
.top_massage {
  max-width: 1440px;
  margin: 110px auto 180px;
  position: relative; }
  @media screen and (max-width: 750px) {
    .top_massage {
      margin: 24vw auto 40vw;
      max-width: 100%; } }

.top_massage_img {
  width: 874px;
  margin: 0 0 60px auto; }
  @media screen and (max-width: 750px) {
    .top_massage_img {
      width: 100%;
      margin: 15vw 0; } }

.top_massage_titArea {
  position: absolute;
  left: 155px;
  top: 200px;
  text-align: right; }
  @media screen and (max-width: 750px) {
    .top_massage_titArea {
      position: relative;
      left: 0;
      top: 0;
      padding: 0 9vw; } }

.top_massage_subTit {
  position: absolute;
  left: -30px;
  top: 0;
  color: #E6E6E6;
  transform: translateY(-50%);
  font-size: 7rem; }
  @media screen and (max-width: 750px) {
    .top_massage_subTit {
      left: 0;
      font-size: 16.6vw; } }

.top_massage_tit {
  font-size: 3.5rem;
  line-height: 2;
  position: relative;
  z-index: 2;
  text-align: left; }
  @media screen and (max-width: 750px) {
    .top_massage_tit {
      font-size: 5.8vw; } }

.top_massage_name {
  font-size: 2rem;
  display: inline-block;
  text-align: left;
  margin: 50px 0 0; }
  @media screen and (max-width: 750px) {
    .top_massage_name {
      margin: 9vw 0 0;
      font-size: 4vw; } }

.top_massage_content {
  max-width: 850px;
  margin: auto; }
  @media screen and (max-width: 750px) {
    .top_massage_content {
      max-width: 80vw; } }

.top_massage_content_tit {
  font-size: 2.5rem;
  margin: 0 0 35px; }
  @media screen and (max-width: 750px) {
    .top_massage_content_tit {
      font-size: 5.3vw;
      margin: 0 0 5vw; } }

.top_massage_content_txtArea {
  font-size: 1.5rem;
  line-height: 2; }
  @media screen and (max-width: 750px) {
    .top_massage_content_txtArea {
      font-size: 4vw; } }
  .top_massage_content_txtArea p + p {
    margin: 1.5em 0 0; }

.staffList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  text-align: center; }
  @media screen and (max-width: 750px) {
    .staffList {
      margin: auto;
      display: block; } }
  .staffList::after {
    content: "";
    display: block;
    width: 28.3%;
    order: 1; }
    @media screen and (max-width: 750px) {
      .staffList::after {
        display: none; } }
  .staffList li {
    width: 28.3%;
    margin: 0 0 110px;
    padding: 30px 0 50px; }
    @media screen and (min-width: 750px) {
      .staffList li {
        cursor: pointer;
        transition: .4s; }
        .staffList li:hover {
          background: #F7F4F0; }
          .staffList li:hover .staffList_thum img {
            transform: scale(1.1); } }
    @media screen and (max-width: 750px) {
      .staffList li {
        width: 100%;
        margin: 0 0 26vw;
        padding: 0; } }

.staffList_thum {
  margin: 0 40px 10px;
  overflow: hidden;
  border-radius: 50%; }
  @media screen and (max-width: 750px) {
    .staffList_thum {
      margin: 0 auto 2.6vw;
      width: 60vw; } }
  .staffList_thum img {
    transition: .3s ease-in-out; }

.staffList_position {
  line-height: 1.25;
  min-height: 2.5em;
  display: flex;
  align-items: center;
  justify-content: center; }
  @media screen and (max-width: 750px) {
    .staffList_position {
      min-height: 1px;
      margin: 0 0 0.5em; } }

.staffList_name {
  font-weight: 500;
  font-size: 3.5rem;
  letter-spacing: .25em;
  line-height: 1.6; }
  @media screen and (max-width: 750px) {
    .staffList_name {
      font-size: 9.3vw; } }

.staffList_en {
  font-weight: 400; }
  @media screen and (max-width: 750px) {
    .staffList_en {
      font-size: 4.2vw; } }

.bnr_recruit {
  display: block;
  width: 820px;
  margin: auto;
  position: relative; }
  @media screen and (min-width: 750px) {
    .bnr_recruit:hover .bnr_recruit_img img {
      transform: scale(1.1); } }
  @media screen and (max-width: 750px) {
    .bnr_recruit {
      width: 80vw; } }

.bnr_recruit_img {
  position: absolute;
  right: 0;
  top: -45px;
  width: 410px;
  overflow: hidden;
  z-index: 2; }
  @media screen and (max-width: 750px) {
    .bnr_recruit_img {
      position: static;
      width: 100%; } }
  .bnr_recruit_img img {
    transition: .3s ease-in-out; }

.bnr_recruit_content {
  width: 560px;
  background: #F7F4F0;
  padding: 45px 75px;
  position: relative; }
  @media screen and (max-width: 750px) {
    .bnr_recruit_content {
      width: 100%;
      padding: 2.6vw 0 0 10vw;
      background: none; } }
  .bnr_recruit_content::after {
    content: "";
    display: block;
    width: 1px;
    height: 170px;
    background: #3D4F72;
    position: absolute;
    left: 45px;
    top: -45px; }
    @media screen and (max-width: 750px) {
      .bnr_recruit_content::after {
        height: 26vw;
        left: 5.3vw;
        top: -13vw; } }

.bnr_recruit_titArea {
  margin: 0 0 0.5em; }
  @media screen and (max-width: 750px) {
    .bnr_recruit_titArea {
      display: flex;
      align-items: baseline; } }

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

.bnr_recruit_subTit {
  font-size: 1rem;
  font-weight: 700;
  color: #D0B005; }
  @media screen and (max-width: 750px) {
    .bnr_recruit_subTit {
      font-size: 2.6vw; } }

.bnr_recruit_txt {
  font-size: 1.5rem;
  font-weight: 500; }
  @media screen and (max-width: 750px) {
    .bnr_recruit_txt {
      font-size: 3.43vw; } }

.modal {
  display: none;
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  overflow: auto;
  font-weight: 500;
  background-color: rgba(0, 0, 0, 0.5);
  animation: show 0.3s linear 0s;
  /* 閉じるボタンのX */ }
  .modal .modal-box {
    background-color: #F7F4F0;
    margin: 130px auto 50px;
    max-width: 1000px;
    width: 90%;
    border-radius: 10px;
    animation-name: modalopen;
    animation-duration: 1s;
    position: relative;
    padding: 70px;
    display: flex; }
    @media screen and (max-width: 750px) {
      .modal .modal-box {
        margin: 30vw auto 5vw;
        padding: 11vw 4vw 6vw;
        max-width: 90vw;
        display: block; } }
  .modal .modal-close-btn {
    position: absolute;
    right: 30px;
    top: 30px;
    width: 60px;
    height: 60px;
    cursor: pointer;
    z-index: 20;
    background: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: .4s; }
    @media screen and (max-width: 750px) {
      .modal .modal-close-btn {
        top: 4vw;
        right: 4vw;
        width: 13vw;
        height: 13vw; } }
    .modal .modal-close-btn:hover {
      background: #3D4F72; }
      .modal .modal-close-btn:hover .lineClose {
        background: #fff; }
  .modal .lineClose {
    display: inline-block;
    vertical-align: middle;
    color: var(--c-white);
    line-height: 1;
    width: 20px;
    height: 1px;
    background: currentColor;
    border-radius: 0.1rem;
    position: relative;
    transform: rotate(45deg);
    transition: .4s; }
    @media screen and (max-width: 750px) {
      .modal .lineClose {
        width: 4.2vw; } }
  .modal .lineClose::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: inherit;
    border-radius: inherit;
    transform: rotate(90deg); }

.modal-thum {
  width: 190px;
  flex-shrink: 0;
  margin: 0 40px 0 0; }
  @media screen and (max-width: 750px) {
    .modal-thum {
      width: 30vw;
      margin: 0 0 5vw; } }

.modal-content {
  position: relative; }

@media screen and (max-width: 750px) {
  .modal_titArea {
    width: 47vw;
    position: absolute;
    right: 0;
    bottom: calc(100% + 5vw); } }

.modal_nameArea {
  margin: 0 0 30px;
  display: flex;
  align-items: baseline; }
  @media screen and (max-width: 750px) {
    .modal_nameArea {
      margin: 0;
      display: block; } }

.modal_position {
  font-weight: 400; }
  @media screen and (max-width: 750px) {
    .modal_position {
      font-size: 3.2vw; } }

.modal_name {
  font-size: 3.5rem;
  margin: 0 25px 0 0;
  letter-spacing: .25em; }
  @media screen and (max-width: 750px) {
    .modal_name {
      font-size: 6.4vw;
      margin: 0; } }

.modal_en {
  color: #D0B005;
  font-weight: 400; }
  @media screen and (max-width: 750px) {
    .modal_en {
      font-size: 3.2vw; } }

.modal_table {
  width: 100%;
  font-size: 1.5rem; }
  @media screen and (max-width: 750px) {
    .modal_table {
      font-size: 3.43vw; } }
  .modal_table th, .modal_table td {
    vertical-align: middle; }
  .modal_table th {
    text-align: center;
    white-space: nowrap;
    width: 3em;
    padding: 15px 0;
    font-weight: 400;
    position: relative;
    color: #3D4F72; }
    @media screen and (max-width: 750px) {
      .modal_table th {
        padding: 3.2vw 0; } }
    .modal_table th p {
      padding: 0 1em; }
      .modal_table th p::before, .modal_table th p::after {
        content: "";
        display: block;
        width: 1px;
        height: calc(100% - 30px);
        position: absolute;
        background: #3D4F72;
        top: 50%;
        transform: translateY(-50%); }
        @media screen and (max-width: 750px) {
          .modal_table th p::before, .modal_table th p::after {
            height: calc(100% - 6.4vw); } }
      .modal_table th p::before {
        left: 0; }
      .modal_table th p::after {
        right: 0; }
  .modal_table td {
    padding: 15px 0 15px 20px;
    font-weight: 400; }
    @media screen and (max-width: 750px) {
      .modal_table td {
        padding: 3.2vw 0 3.2vw 1em; } }

@keyframes show {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
