.p-director-section {
  margin-top: var(--section-gap-md);
}
.p-director-section__list {
  display: grid;
  row-gap: var(--section-gap-sm);
  margin-top: var(--section-gap-sm);
}

.p-director__main {
  position: relative;
  display: grid;
  grid-template-areas: "portrait lead" "portrait content" "portrait sign";
  grid-template-columns: 1fr 1.1fr;
  column-gap: 3rem;
  container-type: inline-size;
}
@media (max-width: 1024px) {
  .p-director__main {
    grid-template-areas: "header" "portrait" "lead" "content" "sign" "career" "buttons";
    grid-template-columns: 1fr;
  }
}
.p-director__portrait {
  --animation-duration: 1.65s;
  --mask-size: 142% 142%;
  grid-area: portrait;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 50%;
}
@media (min-width: 1025px) {
  .p-director__portrait {
    margin-left: calc(50cqw - 48 * var(--vw));
  }
}
.p-director__portrait > img {
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
}
.p-director__lead {
  grid-area: lead;
  margin-top: 5rem;
  font-family: var(--font-heading);
  font-size: var(--font-size-xxl);
  line-height: 1.85;
  color: var(--color-text-primary);
}
.p-director__content {
  grid-area: content;
  margin-top: 3rem;
}
.p-director__sign {
  grid-area: sign;
  margin-top: 5rem;
  margin-left: auto;
}
.p-director__career-list {
  --column-count: 2;
  --column-gap: 10rem;
  --row-gap: 7rem;
  margin-top: var(--section-gap-sm);
}
@media (min-width: 1025px) {
  .p-director__career-list {
    padding-inline: 5rem;
  }
}
@media (max-width: 1024px) {
  .p-director__career-list {
    --column-count: 1;
    --row-gap: 3.5rem;
  }
}
.p-director__career-list__item[data-career-size=wide] {
  width: 100%;
}
@media (min-width: 1025px) {
  .p-director__career-list .c-career__list:is([data-career-size=wide] *) {
    column-count: 2;
    column-gap: calc(var(--column-gap) + var(--left-gap));
  }
}

.p-member-section {
  margin-top: var(--section-gap-md);
}
.p-member-section__heading {
  margin-bottom: var(--section-gap-sm);
}
.p-member-section__list {
  display: grid;
  row-gap: var(--section-gap-sm);
}
@media (max-width: 1024px) {
  .p-member-section__list {
    row-gap: var(--section-gap-md);
  }
}

.p-member__sign {
  color: var(--color-text-primary);
}
.p-member__lead {
  margin-top: 5rem;
  font-family: var(--font-serif);
  font-size: var(--font-size-xl);
  letter-spacing: 0.1em;
}
.p-member__content {
  margin-top: 2.5rem;
}
.p-member__career-list {
  display: grid;
  row-gap: 3.5rem;
  margin-top: 3.5rem;
}

.p-group {
  padding-block: var(--section-gap-md);
  margin-top: var(--section-gap-md);
}
.p-group__message {
  margin-bottom: 5rem;
  text-align: center;
}
.p-group__gallery {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  align-items: center;
}
@media (min-width: 1025px) {
  .p-group__gallery {
    width: 80%;
    margin-inline: auto;
  }
}

.p-recruit {
  margin-top: var(--section-gap-md);
}
.p-recruit__header {
  margin-bottom: var(--section-gap-sm);
}
.p-recruit__message {
  margin-top: 5rem;
  text-align: center;
}
.p-recruit__table {
  --border-color: rgb(var(--color-text-base-rgb) / 20%);
  --term-width: 8em;
  max-width: 72rem;
  margin-inline: auto;
}

.p-pattern02__column {
  font-size: var(--font-size-mdl);
  padding: 4rem 6rem;
  margin-top: 3rem;
  color: #333333;
  background-color: rgb(var(--color-bg-secondary-rgb) / 60%);
  border-radius: var(--radius-lg);
}


@media (max-width: 525px) {
  .p-pattern02__column {
    padding: 4rem 3rem;
  }
}

.staff-ttl{
    font-family: var(--font-serif);
    font-size: calc(var(--font-size-lg) * 1.1);
    color: var(--color-text-primary);
    letter-spacing: 0.1em;
    text-align: center;
}

.txt-bold{
  font-weight: 700;
}

/* certificate section start */
.certificate-container {
            margin: 20px auto;
            display: flex;
            flex-direction: column;
            gap: 15px; 
            align-items: center;
        }

.cert-row {
            display: flex;
            justify-content: center;
            gap: 15px; 
            width: 100%;
        }
.cert-item {
            object-fit: cover;
            border: 1px solid #ccc;
            border-radius: 4px;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        }
       
 @media screen and (max-width: 1024px) {
        .certificate-container {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 10px;
        }

        /* Dissolves the row divs on mobile so all images flow naturally */
        .cert-row {
            display: contents;
        }

        .certificate-container img {
            width: 100% ;
            height: auto;
        }
    }
/* certificate section end */