/* company-page.css */

/* ----- */

/* Greeting.css */

.greeting {
  display: grid;
  grid-template-columns: 580px 1fr;
  gap: 40px;
}

@media all and (max-width: 1119.98px) {
  .greeting {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

.greeting .greeting-image {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: clip;
  border-radius: var(--radius-sm);
}

.greeting .greeting-image > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

.greeting .greeting-body {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

@media all and (max-width: 1119.98px) {
  .greeting .greeting-body {
    gap: 16px;
  }
}

.greeting .greeting-title {
  font-size: 24px;
  font-weight: var(--font-weight-regular);
}

@media all and (max-width: 1119.98px) {
  .greeting .greeting-title {
    font-size: 20px;
  }
}

.greeting .greeting-message {
  /* style */
}

.greeting .greeting-name {
  font-family: var(--font-family-heading-jp);
  font-size: 32px;
  text-align: right;
}

@media all and (max-width: 1119.98px) {
  .greeting .greeting-name {
    font-size: 24px;
  }
}

/* CompanyValueSections.css */

.company-value-sections {
  /* style */
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;

  /* ----- */
}

.company-value-sections .section-container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  padding: var(--section-spacing-md) var(--section-spacing-md) var(--section-spacing-lg);
  background: #fff;
  border-radius: var(--radius-sm);
}

.company-value-sections .subsection {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.company-value-sections .subsection-subtitle {
  text-align: center;
}

.company-value-sections .message {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: var(--font-family-heading-jp);
  font-size: 24px;
  color: var(--color-gray-700);
  text-align: center;
}

@media all and (max-width: 1119.98px) {
  .company-value-sections .message {
    font-size: var(--heading-font-size-h3);
    text-align: left;
  }

  .company-value-sections .message br {
    display: none;
  }

  .company-value-sections .message br.mobile-view {
    display: inline-block;
  }
}

/* ----- */

/* style */

.company-value-sections .management-policy-section .policy {
  display: grid;
  grid-template-columns: 0.25fr 1fr;
  gap: 8px;
  padding: 0 24px;
}

@media all and (max-width: 1119.98px) {
  .company-value-sections .management-policy-section .policy {
    grid-template-columns: 1fr;
    gap: 4px;
    justify-items: center;
    padding: 0;
  }
}

.company-value-sections .management-policy-section .policy-label {
  font-size: 24px; /* TODO:base-heading[data-variant="h4" */
  font-weight: 500;
}

@media all and (max-width: 1119.98px) {
  .company-value-sections .management-policy-section .policy-label {
    font-size: 20px; /* TODO:base-heading[data-variant="h4" */
  }
}

.company-value-sections .management-policy-section .policy-content {
  align-self: center;
}

.company-value-sections .action-guidelines-section {
  padding: var(--section-spacing-md) var(--section-spacing-md) var(--section-spacing-lg);
  background: #fff;
  border-radius: var(--radius-sm);
}

.company-value-sections .action-guidelines-section .action-guidelines-section-container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
}

.company-value-sections .action-guidelines-section .guidelines-list {
  /* style */
}

/* style */

.company-value-sections .action-guidelines-section .guideline-item .item-text {
  /* style */
}

/* ----- */

/* GroupCompanyCards.css */

.group-company-cards {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.group-company-card {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-gap-xs);
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  padding: 24px;
  background: #fff;
  border-radius: var(--radius-sm);
}

@media all and (max-width: 1119.98px) {
  .group-company-card {
    padding: 16px;
  }
}

.group-company-card .group-company-card-header {
  display: flex;
}

.group-company-card .company-name {
  position: relative;
  display: flex;
  flex-direction: row;
  gap: var(--spacing-gap-xs);
  font-family: var(--body-font-family-base); /* TODO: 見出しタグの書体定義の見直し */
  font-size: var(--font-size-xl); /* TODO: 見出しタグの文字サイズ定義の見直し */
}

.group-company-card .company-name::before {
  display: flex;
  align-self: center;
  width: 4px;
  height: calc(100% - 4px);
  content: "";
  background: var(--accent-color-base);
  border-radius: 9999px;
}

.group-company-card .company-image {
  overflow: clip;
  border-radius: var(--radius-md);
}

.group-company-card .company-image > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.group-company-card .group-company-card-body {
  display: grid;
  grid-template-columns: 450px 1fr;
  gap: 40px;
  align-items: start;
}

@media all and (max-width: 1119.98px) {
  .group-company-card .group-company-card-body {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

.group-company-card .company-info {
  /* style */
}

.group-company-card .company-details {
  /* style */
}

.group-company-card .detail-list {
  /* style */
}

.group-company-card .detail-item {
  --cell-spacing: 8px 16px;

  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 0 16px;
}

@media all and (max-width: 1119.98px) {
  .group-company-card .detail-item {
    --cell-spacing: 4px 12px;

    padding: 8px 0;
  }
}

@media all and (max-width: 1119.98px) {
  .group-company-card .detail-item {
    grid-template-columns: 1fr;
  }
}

.group-company-card .detail-item + .detail-item {
  border-top: solid 1px var(--border-color-gray);
}

.group-company-card .detail-label {
  padding: var(--cell-spacing);
  font-weight: var(--font-weight-bold);
}

.group-company-card .detail-value {
  padding: var(--cell-spacing);
}

.group-company-card .business-hours {
  display: table;
}

.group-company-card .hours-row {
  display: table-row;
}

.group-company-card .hours-row > * {
  display: table-cell;
}

.group-company-card .hours-row > * + * {
  padding-left: 16px;
}

.group-company-card .day-type {
  /* style */
}

.group-company-card .hours {
  /* style */
}

.group-company-card .card-badges {
  /* style */
}
