.employees {
  position: relative;
  z-index: 1;
  margin-top: 48px;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
  text-align: center; }
  .employees__arrow {
    position: absolute;
    top: 50%;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(17, 17, 17, 0.2);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
    color: #111;
    font-size: 1.6rem;
    line-height: 1;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center; }
    .employees__arrow span {
      display: none; }
    .employees__arrow::before {
      content: "";
      display: block;
      width: 10px;
      height: 10px;
      border-top: 2px solid currentColor;
      border-right: 2px solid currentColor; }
    .employees__arrow--prev {
      left: max(28px, calc((100% - 960px) / 2));
      transform: translate(-50%, -50%); }
      .employees__arrow--prev::before {
        transform: translateX(2px) rotate(-135deg); }
    .employees__arrow--next {
      right: max(28px, calc((100% - 960px) / 2));
      transform: translate(50%, -50%); }
      .employees__arrow--next::before {
        transform: translateX(-2px) rotate(45deg); }
    .employees__arrow:hover {
      background: #111;
      color: #fff; }
    @media (max-width: 768px) {
      .employees__arrow {
        width: 40px;
        height: 40px;
        font-size: 1.4rem; }
      .employees__arrow--prev {
        left: 12px;
        transform: translate(0, -50%); }
      .employees__arrow--next {
        right: 12px;
        transform: translate(0, -50%); } }
  .employees__slider {
    display: flex;
    padding: 20px max(20px, calc((100% - 980px) / 2));
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    cursor: grab;
    user-select: none;
    scrollbar-width: none; }
    .employees__slider::-webkit-scrollbar {
      display: none; }
    .employees__slider.is-jumping {
      scroll-snap-type: none;
      scroll-behavior: auto !important; }
    @media (max-width: 768px) {
      .employees__slider {
        padding: 0; } }
  .employees__slide {
    flex: 0 0 980px;
    height: 500px;
    overflow: hidden;
    position: relative; }
    .employees__slide::after {
      content: "";
      position: absolute;
      inset: 0;
      background: rgba(26, 26, 26, 0.5);
      z-index: 2;
      pointer-events: none;
      transition: opacity 0.4s; }
    .employees__slide.is-active::after {
      opacity: 0; }
    @media (max-width: 768px) {
      .employees__slide {
        flex: 0 0 100vw;
        height: 260px; } }
    .employees__slide img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      display: block; }
  .employees__slide-text {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 40px;
    background: linear-gradient(transparent, rgba(26, 26, 26, 0.85));
    color: #fff;
    z-index: 3;
    opacity: 0;
    transition: opacity 0.4s;
    text-align: left; }
    .employees__slide.is-active .employees__slide-text {
      opacity: 1; }
    @media (max-width: 768px) {
      .employees__slide-text {
        padding: 24px; } }
  .employees__slide-name {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0 0 4px; }
  .employees__slide-role {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.8);
    margin: 0 0 16px; }
  .employees__slide-link {
    color: #fff;
    font-size: 0.85rem;
    font-weight: 400; }
    .employees__slide-link:hover {
      text-decoration: underline; }
  .employees .btn {
    margin-top: 32px; }

.projects {
  position: relative;
  z-index: 1;
  margin-top: 48px;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
  text-align: center; }
  .projects__arrow {
    position: absolute;
    top: 50%;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(17, 17, 17, 0.2);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
    color: #111;
    font-size: 1.6rem;
    line-height: 1;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center; }
    .projects__arrow span {
      display: none; }
    .projects__arrow::before {
      content: "";
      display: block;
      width: 10px;
      height: 10px;
      border-top: 2px solid currentColor;
      border-right: 2px solid currentColor; }
    .projects__arrow--prev {
      left: max(28px, calc((100% - 960px) / 2));
      transform: translate(-50%, -50%); }
      .projects__arrow--prev::before {
        transform: translateX(2px) rotate(-135deg); }
    .projects__arrow--next {
      right: max(28px, calc((100% - 960px) / 2));
      transform: translate(50%, -50%); }
      .projects__arrow--next::before {
        transform: translateX(-2px) rotate(45deg); }
    .projects__arrow:hover {
      background: #111;
      color: #fff; }
    @media (max-width: 768px) {
      .projects__arrow {
        width: 40px;
        height: 40px;
        font-size: 1.4rem; }
      .projects__arrow--prev {
        left: 12px;
        transform: translate(0, -50%); }
      .projects__arrow--next {
        right: 12px;
        transform: translate(0, -50%); } }
  .projects__slider {
    display: flex;
    padding: 20px max(20px, calc((100% - 980px) / 2));
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    cursor: grab;
    user-select: none;
    scrollbar-width: none; }
    .projects__slider::-webkit-scrollbar {
      display: none; }
    .projects__slider.is-jumping {
      scroll-snap-type: none;
      scroll-behavior: auto !important; }
    @media (max-width: 768px) {
      .projects__slider {
        padding: 0; } }
  .projects__slide {
    flex: 0 0 980px;
    height: 500px;
    overflow: hidden;
    position: relative; }
    .projects__slide::after {
      content: "";
      position: absolute;
      inset: 0;
      background: rgba(26, 26, 26, 0.5);
      z-index: 2;
      pointer-events: none;
      transition: opacity 0.4s; }
    .projects__slide.is-active::after {
      opacity: 0; }
    @media (max-width: 768px) {
      .projects__slide {
        flex: 0 0 100vw;
        height: 260px; } }
    .projects__slide img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      display: block; }
  .projects__slide-text {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    padding: 20px;
    display: flex;
    flex-direction: column;
    background: linear-gradient(rgba(26, 26, 26, 0.55), transparent);
    color: #fff;
    z-index: 3;
    opacity: 0;
    transition: opacity 0.4s;
    text-align: left; }
    .projects__slide.is-active .projects__slide-text {
      opacity: 1; }
    @media (max-width: 768px) {
      .projects__slide-text {
        padding: 20px; } }
  .projects__slide-name, .projects__slide-role {
    font-size: 1.3rem;
    font-weight: 700;
    margin: 0 0 4px;
    color: #fff; }
  .projects__slide-link {
    margin-top: auto;
    align-self: flex-start; }
  .projects__slide-link {
    color: #fff;
    font-size: 0.85rem;
    font-weight: 400; }
    .projects__slide-link:hover {
      text-decoration: underline; }
  .projects .btn {
    margin-top: 32px; }

.section--interview .section__inner,
.section--project .section__inner {
  max-width: 1100px; }

.about-us__profile dt {
  font-weight: 700;
  color: #005BAB;
  margin: 16px 0 4px; }

.about-us__profile dd {
  margin: 0 0 12px;
  color: #555; }

.philosophy {
  max-width: 900px; }
  .philosophy__label {
    margin: 0 0 32px;
    color: #005BAB;
    font-size: 1.125rem;
    font-weight: 700; }
  .philosophy__title {
    margin: 0 0 16px;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.5;
    color: #111; }
    @media (max-width: 768px) {
      .philosophy__title {
        font-size: 1.375rem; } }
  .philosophy__item {
    margin-bottom: 48px; }
    .philosophy__item:last-child {
      margin-bottom: 0; }
  .philosophy__heading {
    margin: 0 0 16px;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.6;
    color: #111; }
    @media (max-width: 768px) {
      .philosophy__heading {
        font-size: 1.125rem; } }
  .philosophy__text {
    margin: 0 0 32px;
    font-size: 0.9375rem;
    line-height: 2;
    color: #111; }
  .philosophy__title + .philosophy__text {
    margin-top: 24px; }
