/* ==========================================================================
   会社概要(about/profile) — /about/profile/index.php 専用
   ========================================================================== */

/* style.css の `main { overflow-x: hidden; }` が .deco-header の全幅ブリード帯を
   クリップしてしまうため、このページのみ解除 */
.page-about-profile main {
  overflow-x: visible;
}

/* 白パネル角のグラデーションは左上=黄(store.cssと同じ--color-accent)、右下=青(--color-primary)。 */
.profile-panel {
  --deco-panel-corner-1: var(--color-accent);
  --deco-panel-corner-1-opacity: 65%;
  --deco-panel-corner-2: var(--color-primary);
}

/* --- 会社概要 --- */
.profile-table {
  margin: 60px 0 96px;
  text-align: left;
}

.profile-table__row {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  padding: 8px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--color-text-sub) 30%, transparent);
}

.profile-table__row:first-child {
  padding-top: 0;
}

.profile-table__row:last-child {
  border-bottom: none;
}

.profile-table__label {
  flex: 0 0 180px;
  margin: 0;
  color: var(--color-text-sub);
  font-size: 0.9375rem;
  font-weight: var(--font-weight-normal);
  line-height: 1.8;
}

.profile-table__value {
  flex: 1;
  margin: 0;
  color: var(--color-text);
  font-size: 0.9375rem;
  line-height: 1.8;
}

/* --- 沿革: 日付+出来事の繰り返しリスト --- */
.history-table {
  margin: 0;
  text-align: left;
}

.history-table__row {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  padding: 8px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--color-text-sub) 30%, transparent);
}

.history-table__row--last {
  border-bottom: none;
}

.history-table__date {
  flex: 0 0 180px;
  margin: 0;
  color: var(--color-text-sub);
  font-size: 0.9375rem;
  line-height: 1.8;
}

.history-table__event {
  flex: 1;
  margin: 0;
  color: var(--color-text);
  font-size: 0.9375rem;
  line-height: 1.8;
}

/* --- アクセス(白パネルの外、通常の背景の上に配置) --- */
.profile-access {
  padding-bottom: 96px;
  text-align: center;
}

.profile-access__body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  text-align: left;
  align-items: stretch;
}

.profile-access__map {
  min-height: 320px;
  background-color: color-mix(in srgb, var(--color-text-sub) 15%, var(--color-bg));
  border-radius: 12px;
  overflow: hidden;
}

.profile-access__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 320px;
}

.profile-access__info h3 {
  margin: 0 0 16px;
  font-size: 1.25rem;
  font-weight: var(--font-weight-bold);
}

.general-content .profile-access__address,
.general-content .profile-access__note {
  margin: 0 0 20px;
  font-size: 0.9375rem;
  line-height: 1.8;
}

.profile-access__body .btn {
  margin-top: 70px;
}

/* ==========================================================================
   SP(max-width: 768px)
   ========================================================================== */
@media (max-width: 768px) {
  .profile-table {
    margin-bottom: 64px;
  }

  .profile-table__row,
  .history-table__row {
    flex-direction: column;
    gap: 8px;
  }

  .profile-table__label,
  .history-table__date {
    flex-basis: auto;
  }

  .history-table__date:empty {
    display: none;
  }

  .history-table__row {
    padding: 12px 0;
  }

  .history-table__row:not(.history-table__row--group-end) {
    border-bottom: none;
    padding-bottom: 0;
  }

  .profile-access {
    padding-top: 70px;
    padding-bottom: 64px;
  }

  .profile-access__body {
    display: block;
  }

  .profile-access__map {
    margin-bottom: 24px;
  }

  .profile-access__body .btn {
    margin-top: 32px;
  }

  .page-about-profile .deco-content {
    margin-bottom: 0;
  }
}
