/* ============================================
   s-access-01 - Access (アクセス)
   ============================================ */
.s-access-01__section.wp-block-group,
.s-access-01__section {
  padding: var(--section-py) 0;
}

.s-access-01__section-inner.wp-block-group,
.s-access-01__section-inner {
  container-type: inline-size;
  max-width: var(--width-inner);
  margin: 0 auto;
  padding: 0 var(--container-padding);
}

.s-access-01.wp-block-group,
.s-access-01 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-6-xl);
}

:is(.s-access-01 *) {
  margin: 0;
}

.s-access-01__info {
  font-size: var(--font-size-md);
  line-height: var(--line-height-loose);
}

.s-access-01__info dt {
  font-weight: var(--font-weight-semibold);
  margin-top: var(--space-xl);
  font-size: var(--font-size-sm);
  color: var(--color-primary-dark);
}

.s-access-01__info dt:first-child {
  margin-top: 0;
}

.s-access-01__info dd {
  color: var(--color-text-light);
}

/* --- 診療時間テーブル --- */
.s-access-01__schedule {
  margin-top: var(--space-3-xl);
}

.s-access-01__schedule table {
  width: 100%;
  border-collapse: collapse;
  border: none;
}

/* --- 時間列を広めに、曜日列は均等 --- */
.s-access-01__schedule thead th:first-child,
.s-access-01__schedule tbody td:first-child {
  width: 22%;
}

.s-access-01__schedule thead {
  border-bottom: none;
}

.s-access-01__schedule thead th {
  background: none;
  color: var(--color-text);
  font-weight: var(--font-weight-normal);
  padding: var(--space-sm) var(--space-2-xs);
  text-align: center;
  border: none;
  border-bottom: 1px solid #ccc;
  font-size: var(--font-size-sm);
  letter-spacing: var(--letter-spacing-wide);
}

.s-access-01__schedule thead th:first-child {
  background: none;
  text-align: left;
}

.s-access-01__schedule tbody td {
  padding: var(--space-2-xl) var(--space-2-xs);
  text-align: center;
  border: none;
  border-bottom: 1px solid #ddd;
  vertical-align: middle;
  font-size: var(--font-size-md);
  color: var(--color-primary);
}

.s-access-01__schedule tbody td:first-child {
  text-align: left;
  font-size: var(--font-size-sm);
  color: var(--color-text);
}

/* --- Map column --- */
.s-access-01__map {
  display: flex;
  flex-direction: column;
  gap: var(--space-3-xl);
}

.s-access-01__map iframe {
  width: 100%;
  height: var(--layout-md);
  display: block;
  border: none;
  border-radius: var(--radius-md);
}

/* === SP === */
@container (max-width: 599px) {
  .s-access-01.wp-block-group,
  .s-access-01 {
    grid-template-columns: 1fr;
    gap: var(--space-3-xl);
  }

  .s-access-01__map iframe {
    height: var(--layout-xs);
  }
}
