/*
|---------------------------------------------------------------
| qinc2026-company-message.css - 代表メッセージ
|---------------------------------------------------------------
*/

/* ==========================================================================
   Company Message
   ========================================================================== */
.company-message {
  padding: var(--page-content-padding-y) 0;
}

/* Section Heading */
.company-message__section-heading {
  text-align: center;
  margin-bottom: 72px;
}

.company-message__heading-label {
  display: block;
  font-family: var(--font-family-en, "Montserrat", sans-serif);
  font-size: 14px;
  font-weight: 600;
  color: var(--color-gold, #c5a059);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.company-message__heading-title {
  font-family: var(--font-family-ja, "Noto Sans JP", sans-serif);
  font-size: 36px;
  font-weight: 900;
  color: var(--color-blue01, #020441);
  line-height: 1.3;
  margin: 0;
}

/* --------------------------------------------------------------------------
   Layout (2 columns)
   -------------------------------------------------------------------------- */
.company-message__layout {
  display: flex;
  align-items: flex-start;
  gap: 64px;
}

/* --------------------------------------------------------------------------
   Portrait
   -------------------------------------------------------------------------- */
.company-message__portrait {
  flex: 0 0 389px;
}

.company-message__portrait img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}

/* --------------------------------------------------------------------------
   Body
   -------------------------------------------------------------------------- */
.company-message__body {
  flex: 1;
  min-width: 0;
}

/* Heading (CEO quote) */
.company-message__heading {
  font-weight: 700;
  font-size: 26px;
  line-height: 1.6;
  letter-spacing: 0.03em;
  color: var(--color-blue01);
  margin: 0 0 32px;
  font-feature-settings: "palt" 1;
}

/* Text */
.company-message__text p {
  font-weight: 400;
  font-size: 15px;
  line-height: 1.9;
  letter-spacing: 0.03em;
  color: var(--color-blue01);
  margin: 0 0 24px;
}

.company-message__text p:last-child {
  margin-bottom: 0;
}

/* Author */
.company-message__author {
  margin-top: 48px;
}

.company-message__author-role {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  color: var(--color-blue01);
  margin: 0 0 8px;
}

.company-message__author-name {
  font-weight: 900;
  font-size: 28px;
  line-height: 1.3;
  letter-spacing: 0.05em;
  color: var(--color-blue01);
  margin: 0;
}

/* ==========================================================================
   Responsive - Company Message
   ========================================================================== */
@media screen and (max-width: 1024px) {
  .company-message {
    padding: var(--page-content-padding-y-md) 0;
  }

  .company-message__section-heading {
    margin-bottom: 48px;
  }

  .company-message__heading-title {
    font-size: 30px;
  }

  .company-message__layout {
    gap: 40px;
  }

  .company-message__portrait {
    flex: 0 0 300px;
  }

  .company-message__heading {
    font-size: 22px;
    margin-bottom: 24px;
  }

  .company-message__author {
    margin-top: 32px;
  }

  .company-message__author-name {
    font-size: 24px;
  }
}

@media screen and (max-width: 768px) {
  .company-message {
    padding: var(--page-content-padding-y-sp) 0;
  }

  .company-message__section-heading {
    margin-bottom: 36px;
  }

  .company-message__heading-title {
    font-size: 26px;
  }

  .company-message__layout {
    flex-direction: column;
    gap: 32px;
  }

  .company-message__portrait {
    flex: none;
    width: 100%;
    max-width: 389px;
    align-self: center;
  }

  .company-message__heading {
    font-size: 20px;
  }

  .company-message__heading br {
    display: none;
  }

  .company-message__text p {
    font-size: 14px;
  }

  .company-message__author {
    margin-top: 24px;
  }

  .company-message__author-name {
    font-size: 22px;
  }
}
