@charset "UTF-8";

.PeopleCard {
  background-color: var(--color-chiyoda-blue);
  border-radius: 5px;
  color: var(--color-text-white);
  display: block;
  font-size: 1rem;
  margin: 0 auto;
  width: 14.375rem;
}

.PeopleCard.PeopleCard-Small {
  width: 9.375rem; /* 150px */
}

.PeopleCard:hover {
  color: var(--color-text-white);
  text-decoration: none;
}

.PeopleCard:focus-visible {
  outline: none;
  text-decoration: underline currentColor;
}

.PeopleCard_Top {
  align-items: flex-start;
  display: flex;
}

.PeopleCard.PeopleCard-Small .PeopleCard_Top {
  padding: 0 0 .1875rem 0;
}

.PeopleCard_Deco {
  aspect-ratio: 10 / 7;
  background-color: var(--color-white);
  border-radius: 1px 1px 3px 3px;
  height: auto;
  margin: 0 20px;
  padding: 0 3px 3px 3px;
  width: 40px;
}

.PeopleCard.PeopleCard-Small .PeopleCard_Deco {
  margin: 0 15px;
  padding: 0 2px 2px 2px;
  width: 24px;
}

.PeopleCard_DecoChild {
  background-color: var(--color-chiyoda-green);
  border-radius: 3px;
  height: 100%;
  width: 100%;
}

.PeopleCard_Number {
  font: 400 1.75em / 1.5 var(--font-family-caveat);
  left: -5px;
  margin: 0 0 .1875rem 0;
  padding: 0;
  position: relative;
  transform: rotate(-4deg);
}

.PeopleCard.PeopleCard-Small .PeopleCard_Number {
  font: 400 1.25em / 1 var(--font-family-caveat);
  top: 4px;
}

.PeopleCard_Center {
  aspect-ratio: 13 / 10;
  height: auto;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.PeopleCard.PeopleCard-Small .PeopleCard_Center {
  aspect-ratio: 30 / 31;
}

.PeopleCard_Comment {
  bottom: .675em; /* font-size × line-height ÷ 2 = 0.5行分の高さ */
  color: var(--color-text);
  display: flex;
  flex-wrap: wrap;
  font: 400 .9em / 1.5 var(--font-family-hand);
  justify-content: flex-end;
  margin: 0;
  padding: 0 0 0 6px;
  position: absolute;
  right: 0;
  z-index: 5;
}

.PeopleCard_Comment span {
  background-color: rgba(248, 249, 250, .95);
  padding: 0 3px;
}

.PeopleCard_Image {
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: .5s;
  width: 100%;
}

.PeopleCard:hover .PeopleCard_Image,
.PeopleCard:focus-visible .PeopleCard_Image {
  transform: scale(1.1);
}

.PeopleCard_Bottom {
  padding: .4375rem 10px;
}

.PeopleCard.PeopleCard-Small .PeopleCard_Bottom {
  padding: .1875rem 5px .34375rem 5px;
}

.PeopleCard_BottomSmall {
  font: 300 .8em / 1 var(--font-family-sans);
  margin: 0 0 .1875rem 0;
  padding: 0;
}

.PeopleCard.PeopleCard-Small .PeopleCard_BottomSmall {
  font-size: .75em;
  margin: 0;
}

.PeopleCard_BottomMedium {
  font: 400 1em / 1 var(--font-family-sans);
  margin: 0;
  padding: 0;
}

.PeopleCard.PeopleCard-Small .PeopleCard_BottomMedium {
  font: 300 .9em / 1 var(--font-family-sans);
}

/* ^ PeopleCard ^ */

.PeopleList {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem 0;
  justify-content: center;
  list-style: none;
  margin: 0 auto;
  padding: 0;
  width: 19.375rem; /* 310px */
}

.PeopleList .PeopleCard {
  margin: 0 5px;
}

.PeopleList > * {
  z-index: 0;
}

.PeopleList_Allow {
  background-color: var(--color-background);
  border-radius: 50%;
  cursor: pointer;
  height: 35px;
  opacity: .6;
  outline: none;
  position: absolute;
  top: 103px;
  transition: .5s;
  width: 35px;
  z-index: 5;
}

.PeopleList_Allow:hover,
.PeopleList:focus-within .PeopleList_Allow {
  opacity: 1;
}

.PeopleList_Allow.Allow-Prev {
  left: 0;
  transform: translate(-50%, -50%);
}

.PeopleList_Allow.Allow-Next {
  right: 0;
  transform: translate(50%, -50%);
}

.PeopleList_Allow::before {
  border-top: 2px solid #666;
  border-right: 2px solid #666;
  content: "";
  display: block;
  height: 15px;
  left: 50%;
  position: absolute;
  top: 50%;
  width: 15px;
}

.PeopleList_Allow.Allow-Prev::before {
  transform: translate(-40%, -50%) rotate(225deg);
}

.PeopleList_Allow.Allow-Next::before {
  transform: translate(-60%, -50%) rotate(45deg);
}

.PeopleList_Dots {
  text-align: center;
  margin: 0;
  padding: 0;
}

.PeopleList_Dots li {
  display: inline-block;
  margin: 0 5px;
}

.PeopleList_Dots button {
  background-color: var(--color-gray-light);
  border: none;
  border-radius: 50%;
  color: transparent;
  cursor: pointer;
  display: block;
  font: inherit;
  height: .5rem;
  outline: none;
  padding: 0;
  width: .5rem;
}

.PeopleList_Dots:focus-within button {
  outline: solid 1px var(--color-gray);
}

.PeopleList_Dots .slick-active button {
  background: var(--color-chiyoda-green);
}

@media screen and (min-width: 576px) {
  .PeopleList {
    width: 29.375rem; /* PeopleCardのwidth × 3(個) + PeopleCard間のmargin10px × 2 */
  }
}

@media screen and (min-width: 768px) {
  .PeopleList {
    width: 39.375rem; /* PeopleCardのwidth × 4(個) + PeopleCard間のmargin10px × 3 */
  }
}

/* ^ PeopleList ^ */