/* INDEX */
.about {
  .title-inner {
    background-image: url(../images/about/title-bg.jpg);
  }
}

.about-greeting {
  --fz: max(1em, 1.5vw);

  .greeting-desc {
    padding: 4vw 10vw;
    color: #fff;
    aspect-ratio: 16/7;
    grid-template-rows: 1.1fr 1fr;
    place-items: end;
    background: url(../images/about/index/image-desc.jpg) center center/cover;
    display: grid;
    line-height: 1.7;
    position: relative;

    @media (orientation: portrait) {
      aspect-ratio: 1;
      background-position: 30%;
      grid-template-rows: auto;
    }

    @media (width <=767px) {
      --offset: 9em;
      margin-top: var(--offset);
    }

    hgroup {
      font-family: var(--font-noto_serif);

      @media (width <=767px) {
        position: absolute;
        text-align: center;
        inset: calc(var(--offset) * -1) 0 auto;
        color: initial;
      }

      h2 {
        font-size: var(--fz);
        margin-bottom: 1em;
      }

      em {
        font-size: max(1.3em, 2.7vw);
      }
    }

    .sign {
      display: flex;
      flex-direction: column;
      align-items: end;
      gap: 0.1em;

      @media (width <=767px) {
        text-shadow:
          0 0 2px color-mix(in srgb, var(--color-primary), #333 90%),
          0 0 10px color-mix(in srgb, var(--color-primary), #666 90%);
        /* text-shadow:
          0 0 2px #333,
          0 0 10px #333; */
      }
    }

    .name-ja {
      /* font-size: var(--fz); */
      font-size: min(3.0rem, 4vw);
      display: flex;
      align-items: baseline;
      line-height: 1;
      gap: 1em;

      span {
        font-size: 1.2em;
      }
    }

    .name-en {
      font-size: min(2.5rem, 4vw);
      font-weight: 500;
    }
  }

  .greeting-text {
    padding-top: max(3vw, 30px);
    display: grid;
    grid-auto-flow: row;
    gap: var(--gap);

    .day-sign {
      text-align: end;
    }
  }
}

.greeting-sub {
  padding-top: max(5cqi, 30px);
  display: grid;
  grid-template-columns: 200px 1fr;
  grid-template-rows: max-content 1fr;
  align-items: start;
  gap: 1em 3.8cqi;

  @media (width <=767px) {
    grid-template-columns: repeat(2, 1fr);
  }

  img {
    width: 100%;
    height: auto;
  }

  .name {
    font-size: 1.8rem;
    grid-row: 2;
    display: grid;
    grid-auto-flow: row;
    line-height: 1.4;

    @media (width <=767px) {
      grid-area: 1/2/2/3;
      font-size: 0.8em;
      place-self: center;
      text-align: center;
    }

    .position {
      font-size: 1.125em;
    }

    .ja {
      font-size: 1.5625em;
    }

    .en {
      padding-top: 0.5em;
    }
  }

  .content {
    grid-row: 1 / span 2;

    @media (width <=767px) {
      grid-row: 2 / span 1;
      grid-column: span 2;
    }
  }

  hgroup {
    line-height: 1.8;

    span {
      color: var(--color-secondary);
      font-family: var(--font-noto_serif);
      font-size: clamp(1em, 1.5vw, 2.2rem);
    }

    .title {
      font-size: clamp(1.2em, 2.5vw, 3.2rem);
      font-weight: 600;
      color: var(--color-primary);
      font-family: var(--font-noto_serif);
    }
  }

  .content-body {
    padding-top: 0.5em;
    display: grid;
    grid-auto-flow: row;
    gap: var(--gap);
  }

  &:nth-child(even of .greeting-sub) {
    grid-template-columns: 1fr 200px;

    @media (width <=767px) {
      grid-template-columns: repeat(2, 1fr);
    }

    .name {
      grid-column: 2;
    }

    .content {
      grid-column: 1;

      @media (width <=767px) {
        grid-row: 2 / span 1;
        grid-column: span 2;
      }
    }
  }
}


/* STAFF */
.staff {
  .title-inner {
    background-image: url(../images/about/staff/title-bg.jpg);
  }
}

.about-staff {
  .staff-list {
    >li {
      display: flex;
      gap: 70px;
      line-height: 2;

      &:not(:last-child) {
        margin-bottom: 100px;
      }

      @media (width <=767px) {
        flex-direction: column;
        gap: 10px;

        &:not(:last-child) {
          margin-bottom: 50px;
        }
      }
    }

    .name-box {
      width: 226px;

      .image {
        margin-bottom: 15px;
      }

      .status {
        font-size: 1.7rem;
        font-weight: 400;
        line-height: 1.6;
      }

      .name-ja {
        font-size: 2.5rem;
        line-height: 1.6;
        font-weight: 500;
      }

      .name-en {
        line-height: 1.6;
        font-family: var(--font-franklin);
      }

      @media (width <=767px) {
        width: auto;
        text-align: center;

        .status {
          font-size: 1.4rem;
        }

        .name-ja {
          font-size: 2rem;
        }
      }
    }

    .propertybox {
      flex: 1;
    }

    .propertylist {
      >li {
        display: flex;
        gap: 33px;

        &:not(:last-child) {
          margin-bottom: 18px;
        }

        .labelbox {
          width: 80px;
          color: var(--color-secondary);
        }

        .textbox {
          flex: 1;
        }
      }

      @media (width <=767px) {
        >li {
          flex-direction: column;
          gap: 0px;

          &:not(:last-child) {
            margin-bottom: 10px;
          }
        }
      }
    }
  }

  /* CSSが入ります。 */
  @media (width <=767px) {}
}