.p-main {
  position: relative;
  z-index: 0;
}
.p-main__bg {
  --gradation-height: clamp(200px, 8%, 500px);
  position: absolute;
  top: 5%;
  z-index: -1;
  display: block;
  width: 100%;
  height: 90%;
  pointer-events: none;
  opacity: 0.5;
  -webkit-mask-composite: source-out;
          mask-composite: subtract;
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 var(--gradation-height)), linear-gradient(to top, #000, transparent var(--gradation-height));
          mask-image: linear-gradient(to bottom, transparent, #000 var(--gradation-height)), linear-gradient(to top, #000, transparent var(--gradation-height));
}

.p-philosophy {
  position: relative;
  z-index: 0;
  margin-top: var(--section-gap);
}
.p-philosophy__inner {
  container: inner/inline-size;
}
.p-philosophy__grid {
  position: relative;
  display: grid;
  grid-template-rows: auto auto;
}
@container inner (width > 860px) {
  .p-philosophy__grid {
    grid-template-areas: "main main image02" "... image01 image02";
    grid-template-columns: 0.5fr 1fr 0.5fr;
  }
}
@container inner (width <= 860px) {
  .p-philosophy__grid {
    grid-template-areas: "main main" "image01 image02";
    grid-template-columns: 1fr 0.35fr;
  }
}
.p-philosophy__main {
  position: relative;
  z-index: 0;
  grid-area: main;
}
@container inner (width > 860px) {
  .p-philosophy__main {
    padding-right: 5cqw;
  }
}
.p-philosophy__heading {
  --max-size: 3.5rem;
  margin-bottom: 1em;
}
.p-philosophy__image {
  position: relative;
}
.p-philosophy__image--01 {
  z-index: -1;
  grid-area: image01;
}
@container inner (width > 860px) {
  .p-philosophy__image--01 {
    margin-top: 10%;
    margin-right: -10%;
  }
}
@container inner (width <= 860px) {
  .p-philosophy__image--01 {
    margin-top: 15%;
    margin-right: -10%;
    margin-left: calc(var(--container-padding) / -2);
  }
}
.p-philosophy__image--02 {
  position: relative;
  z-index: -2;
  grid-area: image02;
  border-radius: var(--radius-md);
}
@container inner (width > 860px) {
  .p-philosophy__image--02 {
    margin-top: 50%;
    margin-right: calc(var(--container-padding) / -2);
  }
}
@container inner (width <= 860px) {
  .p-philosophy__image--02 {
    margin-top: 5%;
    margin-right: calc(var(--container-padding) / -1);
  }
}

.p-director-section {
  margin-top: var(--section-gap-lg);
}
.p-director-section__heading {
  margin-bottom: 1.5em;
  letter-spacing: 0.2em;
}
@media (min-width: 769px) {
  .p-director-section__heading {
    padding-left: 1.5em;
  }
}
.p-director-section__list {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: var(--section-gap-lg);
}

.p-director {
  position: relative;
  z-index: 0;
  container-type: inline-size;
}
.p-director__main {
  display: grid;
  grid-template-areas: "portrait heading content";
  grid-template-columns: 35% auto 1fr;
  column-gap: max(4cqw, 2em);
}
@container (width <= 900px) {
  .p-director__main {
    grid-template-areas: "... portrait heading" "content content content";
    grid-template-columns: 0.25fr 1fr 0.5fr;
  }
}
@container (width <= 650px) {
  .p-director__main {
    grid-template-areas: "portrait heading" "content content";
    grid-template-columns: 1fr auto;
  }
}
@container (width <= 520px) {
  .p-director__main {
    grid-template-areas: "portrait" "heading" "content";
    grid-template-columns: 1fr;
  }
}
.p-director__portrait {
  position: relative;
  z-index: 0;
  grid-area: portrait;
  height: fit-content;
}
.p-director__sign {
  --name-size: calc(var(--font-size-xxl) * 0.9);
  position: relative;
  z-index: 2;
  width: fit-content;
  padding: 1.15em 1.5em 1.1em;
  margin-top: -0.5em;
  margin-right: -1em;
  margin-left: auto;
  background-color: rgba(var(--color-secondary-rgb), 80%);
}
.p-director__heading {
  --max-size: 3.2rem;
  --mid-size: calc(4.7 * var(--vw));
  --min-size: 2.2rem;
  grid-area: heading;
  margin-top: 1em;
}
@container (width <= 900px) {
  .p-director__heading {
    margin-right: auto;
  }
}
@container (width > 520px) {
  .p-director__heading {
    line-height: 1.65;
    text-indent: -1em;
    letter-spacing: 0.15em;
    writing-mode: vertical-rl;
    text-orientation: upright;
  }
}
.p-director__content {
  grid-area: content;
  margin-top: 3em;
}
.p-director__career {
  container-type: inline-size;
  margin-top: var(--section-gap-sm);
}
.p-director__career__list {
  --column-count: 2;
  --column-gap: max(3em, 6cqw);
  --row-gap: var(--section-gap-sm);
}
@container (width <= 700px) {
  .p-director__career__list {
    --column-count: 1;
  }
}
.p-director__career__item.is-wide {
  width: 100%;
}

.p-carrer {
  --padding-x: min(3em, 6cqw);
  --padding-y: min(1.75em, 4cqw);
  max-width: 1080px;
  height: 100%;
  margin-inline: auto;
  container-type: inline-size;
}
.p-carrer__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.p-carrer__inner:is(.p-carrer.is-outline *) {
  --border: 1px solid rgba(var(--color-primary-rgb), 80%);
  padding: var(--padding-y) var(--padding-x);
  border-top: var(--border);
  border-bottom: var(--border);
}
.p-carrer__heading:is(.p-carrer.is-filled *) {
  width: fit-content;
  min-width: 6em;
  padding: 0.35em 1em;
  font-size: var(--font-size-lg);
  line-height: 1.35;
  color: var(--color-text-contrast);
  text-align: center;
  letter-spacing: 0.15em;
  background-color: color-mix(in srgb, var(--color-primary) 90%, #fff);
  border-top-left-radius: var(--radius-md);
  border-top-right-radius: var(--radius-md);
}
@supports not (background-color: color-mix(in srgb, #000, #fff)) {
  .p-carrer__heading:is(.p-carrer.is-filled *) {
    background-color: rgba(var(--color-primary-rgb), 90%);
  }
}
.p-carrer__heading:is(.p-carrer.is-outline *) {
  margin-bottom: 1em;
  font-size: var(--font-size-lg);
  color: var(--color-primary);
  letter-spacing: 0.15em;
}
.p-carrer__body {
  flex: 1;
}
.p-carrer__body:is(.p-carrer.is-filled *) {
  padding: var(--padding-y) var(--padding-x);
  background-color: var(--color-bg);
  border-top-right-radius: var(--radius-md);
  border-bottom-left-radius: var(--radius-md);
  border-bottom-right-radius: var(--radius-md);
}
@container (width > 600px) {
  .p-carrer__list:is(.is-wide *) {
    column-count: 2;
    column-gap: max(3em, 6cqw);
  }
}

.p-doctor-section {
  margin-top: var(--section-gap-lg);
}
.p-doctor-section__heading {
  margin-bottom: 1.5em;
  letter-spacing: 0.2em;
}
.p-doctor-section__list {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: var(--section-gap-lg);
}

.p-doctor__main {
  --column-gap: 6cqw;
  --row-gap: 0;
}
.p-doctor__sign {
  position: relative;
  z-index: 2;
  margin-bottom: 2em;
}
@container image-section (width > 750px) {
  .p-doctor__sign {
    margin-left: calc((var(--column-gap) + 2em) * -1);
  }
}
@container image-section (width <= 750px) {
  .p-doctor__sign {
    display: flex;
    justify-content: flex-end;
    width: var(--image-width);
    margin-inline: auto;
  }
}
.p-doctor__sign__inner {
  --name-size: calc(var(--font-size-xxl) * 0.9);
  width: fit-content;
  padding: 1.15em 1.5em 1.1em;
  background-color: rgba(var(--color-secondary-rgb), 80%);
}
@container image-section (width <= 750px) {
  .p-doctor__sign__inner {
    margin-top: -0.5em;
    margin-right: -1em;
  }
}
@container (width > 750px) {
  .p-doctor__body {
    padding-top: 2em;
  }
}
.p-doctor__heading {
  --max-size: 2.9rem;
  --mid-size: calc(4.7 * var(--vw));
  --min-size: 2.1rem;
  margin-bottom: 1em;
}
.p-doctor__career {
  container-type: inline-size;
  margin-top: var(--section-gap-sm);
}
.p-doctor__career__list {
  --column-count: 2;
  --column-gap: max(3em, 6cqw);
  --row-gap: var(--section-gap-sm);
}
@container (width <= 700px) {
  .p-doctor__career__list {
    --column-count: 1;
  }
}
.p-doctor__career__item.is-wide {
  width: 100%;
}

.p-member-section {
  margin-top: var(--section-gap-lg);
}
.p-member-section__heading {
  margin-bottom: 1.5em;
  letter-spacing: 0.2em;
}
.p-member-section__main {
  container: main/inline-size;
}
.p-member-section__list {
  --column-count: 3;
  --column-gap: max(5cqw, 2.5em);
  --row-gap: clamp(36px, calc(20 * var(--vw)), 90px);
}
@container main (width <= 880px) {
  .p-member-section__list {
    --column-count: 2;
  }
}
@container main (width <= 650px) {
  .p-member-section__list {
    --column-count: 1;
  }
}
.p-member-section__group {
  margin-top: var(--section-gap-lg);
}

.p-member__image {
  display: block;
  max-width: 360px;
  margin-inline: auto;
}
.p-member__sign {
  --position-size: var(--font-size-md);
  --name-size: calc(var(--font-size-xxl) * 0.95);
  flex-direction: column;
  gap: 1.35em;
  align-items: center;
  margin-top: 1.35em;
}
.p-member__content {
  margin-top: 1.35em;
}
.p-member__career {
  margin-top: 1.75em;
}
.p-member__career__list {
  display: grid;
  row-gap: 1.5em;
}
.p-member__career .p-carrer__heading {
  text-align: center;
}

.p-group__message {
  font-size: var(--font-size-lg);
  text-align: center;
}
.p-group__gallery {
  display: flex;
  flex-direction: column;
  row-gap: var(--section-gap-sm);
  align-items: center;
  max-width: 980px;
  margin-inline: auto;
  margin-top: var(--section-gap-xs);
}

.p-recruit {
  container-type: inline-size;
  margin-top: var(--section-gap-lg);
}
.p-recruit__heading {
  margin-bottom: 1em;
  letter-spacing: 0.2em;
}
.p-recruit__message {
  font-size: var(--font-size-lg);
}
.p-recruit__main {
  --padding-x: min(4em, 7cqw);
  --padding-y: min(4em, 6cqw);
  padding: var(--padding-y) var(--padding-x);
  margin-inline: calc(var(--container-padding) / -2);
  margin-top: var(--section-gap-xs);
  background-color: var(--color-secondary);
  border-radius: var(--radius-md);
}
.p-recruit__table {
  --term-width: 22cqw;
  max-width: 1024px;
  margin-inline: auto;
}
.p-recruit__table .c-term-list__item {
  row-gap: 0.5em;
}
.p-recruit__table .c-term-list__item:last-child {
  border-bottom: none;
}
.p-recruit__table .c-term-list__term {
  text-align: left;
}