.p-member-img__photo {
  -webkit-mask-image: var(--bg-mask);
  mask-image: var(--bg-mask);
  -webkit-mask-size: 98% auto;
  mask-size: 98% auto;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

.p-member-img {
  filter: drop-shadow(var(--size-6) var(--size-6) var(--size-8) var(--sw-secondary));
}

.c-section-block.p-member-head {
  padding-block: 0;
}

.p-member-img {
  flex-shrink: 0;
  width: var(--col-5);
  height: 100%;
  padding: var(--size-16);
  aspect-ratio: 1 / 1;
}

.p-member-img__photo {
  width: 100%;
  height: 100%;
  -webkit-mask-image: var(--bg-mask-l);
  mask-image: var(--bg-mask-l);
  -o-object-position: center;
  object-position: center;
  -o-object-fit: cover;
  object-fit: cover;
  background-color: var(--bg-clear);
}

.p-member-profile {
  flex: 1 1 auto;
  min-width: 0;
}

.p-member-profile__title {
  color: var(--txt-primary);
  font-size: var(--size-48);
  font-weight: 900;
  line-height: var(--size-64);
}

.p-member-profile__data {
  margin-top: var(--size-48);
}

.p-member-profile__job {
  margin-bottom: var(--size-8);
  color: var(--txt-secondary);
  font-size: var(--size-32);
  font-weight: 700;
  line-height: var(--size-44);
}

.p-member-profile__join,
.p-member-profile__name {
  font-size: var(--size-20);
  line-height: var(--size-32);
}

.p-member-comments-list {
  min-width: 0;
}

.p-member-comments-list .p-member-comment + .p-member-comment,
.p-member-side > * + * {
  margin-top: var(--size-40);
}

.p-member-column,
.p-member-schedule {
  padding: var(--size-32);
  border-radius: var(--size-40);
  background-color: var(--bg-clear);
}

.p-member-column__label,
.p-member-schedule__label {
  color: var(--txt-secondary);
  font-family: var(--ft-en), sans-serif;
  font-size: var(--size-14);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: var(--size-24);
  text-transform: uppercase;
}

.p-member-column__title,
.p-member-schedule__title {
  margin-top: var(--size-8);
  color: var(--txt-primary);
  font-size: var(--size-20);
  font-weight: 700;
  line-height: var(--size-32);
}

.p-member-column__text {
  margin-top: var(--size-16);
  font-size: var(--size-15);
  line-height: var(--size-24);
}

.p-member-schedule__list {
  margin-top: var(--size-24);
  counter-reset: schedule;
}

.p-member-schedule__item {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  align-items: baseline;
  padding-left: var(--size-32);
  -moz-column-gap: var(--size-12);
  column-gap: var(--size-12);
  counter-increment: schedule;
}

.p-member-schedule__item + .p-member-schedule__item {
  margin-top: var(--size-20);
  padding-top: var(--size-20);
  border-top: 1px solid var(--bd-primary);
}

.p-member-schedule__item + .p-member-schedule__item::before {
  top: var(--size-20);
}

.p-member-schedule__item::before {
  content: counter(schedule);
  position: absolute;
  top: 0;
  left: 0;
}

.p-member-schedule__date,
.p-member-schedule__item::before {
  color: var(--txt-secondary);
  font-family: var(--ft-en), sans-serif;
}

.p-member-schedule__date,
.p-member-schedule__event,
.p-member-schedule__item::before {
  font-size: var(--size-16);
  font-weight: 700;
  line-height: var(--size-28);
}

.p-member-schedule__text {
  flex-basis: 100%;
  margin-top: var(--size-8);
  font-size: var(--size-14);
  line-height: var(--size-24);
}

.p-member-comment__title {
  margin-bottom: var(--size-24);
  color: var(--txt-secondary);
  font-size: var(--size-32);
  font-weight: 700;
  line-height: var(--size-44);
}

.p-member-comment__text {
  font-size: var(--size-18);
  line-height: var(--size-32);
}

@media screen and (min-width: 769px) {
  .p-member-main {
    display: flex;
    align-items: center;
    gap: var(--gap);
  }

  .p-member-contents {
    display: flex;
    align-items: flex-start;
    gap: var(--gap);
  }

  .p-member-comments-list {
    flex: 1 1 auto;
  }

  .p-member-side {
    position: sticky;
    top: max(200px, 19.531vw);
    flex: 0 0 var(--col-4);
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  .p-member-img {
    width: var(--col-4);
  }

  .p-member-profile__title {
    font-size: var(--size-32);
    line-height: var(--size-48);
  }

  .p-member-profile__data {
    margin-top: var(--size-32);
  }

  .p-member-profile__job {
    font-size: var(--size-28);
    line-height: var(--size-40);
  }

  .p-member-profile__join,
  .p-member-profile__name {
    font-size: var(--size-18);
    line-height: var(--size-32);
  }

  .p-member-column,
  .p-member-schedule {
    padding: var(--size-24);
    border-radius: var(--size-32);
  }

  .p-member-comment__title {
    margin-bottom: var(--size-20);
    font-size: var(--size-28);
    line-height: var(--size-40);
  }

  .p-member-comment__text {
    font-size: var(--size-16);
    line-height: var(--size-28);
  }
}

@media screen and (min-width: 1025px) and (max-width: 1440px) {
  .p-member-side {
    top: max(200px, 13.888vw);
    flex-basis: var(--col-5);
  }
}

@media screen and (min-width: 1441px) {
  .p-member-img {
    width: var(--col-5);
  }

  .p-member-side {
    top: clamp(200px, 10.416vw, 230px);
    flex-basis: var(--col-5);
  }
}

@media screen and (max-width: 768px) {
  .p-member-main {
    margin-bottom: var(--size-24);
  }

  .p-member-img {
    width: clamp(300px, 80vw, 360px);
    margin-inline: auto;
    padding: var(--size-8);
  }

  .p-member-profile__title {
    font-size: var(--size-24);
    line-height: var(--size-36);
  }

  .p-member-profile__data {
    margin-top: var(--size-20);
  }

  .p-member-profile__job {
    font-size: var(--size-20);
    line-height: var(--size-32);
  }

  .p-member-profile__join,
  .p-member-profile__name {
    font-size: var(--size-15);
    line-height: var(--size-24);
  }

  .p-member-side {
    margin-top: var(--size-40);
  }

  .p-member-column,
  .p-member-schedule {
    padding: var(--size-20);
    border-radius: var(--size-24);
  }

  .p-member-column__title,
  .p-member-schedule__title {
    font-size: var(--size-18);
    line-height: var(--size-32);
  }

  .p-member-comment__title {
    margin-bottom: var(--size-15);
    font-size: var(--size-20);
    line-height: var(--size-32);
  }

  .p-member-comment__text {
    font-size: var(--size-15);
    line-height: var(--size-24);
  }
}
