@charset "utf-8";

.staffGridWr {
    grid-template-columns: repeat(1, 1fr);
    gap: 40px;
    display: grid;
}

.staffItemWr {
    max-width: 580px !important;
    margin: 0 auto;
}

.staffBtn {
    padding: 16px 15px 18px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #111;
    background: #fff;
    transition: all .3s;
    border: 1px solid #111;
    cursor: pointer;
    font-family: "Zen Kaku Gothic Antique", sans-serif;
}

.staffBtn:hover {
    color: #111;
}

.staffBtn::after {
    content: "";
    display: block;
    width: 14px;
    height: 7px;
    margin-left: 10px;
	background: url(/system_panel/uploads/images/staff_arrow.svg) center center / cover no-repeat;
	transition: all .3s;
}

.staffBtn:hover::after {
    transform: translateX(5px);
}

.staffBtn.staffReserveBtn {
    background-color: #111;
    color: #fff;
}

.staffBtn.staffReserveBtn:after {
    filter: brightness(1) invert(1);
}

/* --- モーダル --- */

/* モーダルラッパー（背景オーバーレイ） */
.staffModalWr {
  display: flex; /* 初期状態は非表示 */
  position: fixed; /* 画面全体に固定 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7); /* 半透明の黒い背景 */
  z-index: 1000; /* 他
  の要素より手前に表示 */
  
  /* 内容を中央揃えにするためのFlexbox設定 */
  align-items: center;
  justify-content: center;
  right: 0;
  bottom: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s 
ease, visibility 0.3s 
ease;
}

/* モーダル表示時のスタイル */
.staffModalWr.is-active {
  opacity: 1;
  visibility: visible;
}

/* モーダル本体（コンテンツボックス） */
.staffModalContent {
  background-color: #fff;
  padding: 15px;
  max-width: 1220px; /* モーダルの最大幅 */
  width: 96%; /* スマホなども考慮 */
  position: relative; /* 閉じるボタンの基準点にする */
  box-shadow: 0 5px 15px rgba(0,0,0,0.3);
  height: 96%;
  overflow-y: scroll;
}

/* 閉じるボタン */
.staffModalClose {
  position: sticky;
  top: 0;
  right: auto;
  color: #555;
  cursor: pointer;
  line-height: 1; /* 縦ズレ防止 */
  max-width: 45px;
  width: 100%;
  margin: 0 0 15px auto;
  z-index: 9;
}

.staffModalBoxGridBox {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    display: grid;
}

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:375px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 375px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:414px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

  



/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 414px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:544px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.staffModalBoxGridBox {
    grid-template-columns: repeat(4, 1fr);
}

.staffGridWr {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}
    
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 544px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:768px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.staffGridWr {
    grid-template-columns: repeat(3, 1fr);
    gap: 50px 5%;
}

.staffModalContent {
  padding: 50px;
}

.staffModalClose {
  position: absolute;
  top: 10px;
  right: 10px;
  margin: 0;
}
    
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 768px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:992px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 992px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1024px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.staffGridWr {
    grid-template-columns: repeat(2, 1fr);
    gap: 50px 5%;
}

.staffItemWr {
    max-width: 100% !important;
    margin: 0 auto;
}

    
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1024px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1200px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.staffModalContent {
  padding: 100px;
}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1200px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1400px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.staffGridWr {
    gap: 100px 19.72%;
}

.staffModalContent {
  padding: 100px;
}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1400px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1500px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */



/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1500px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */