/* Tables v1.0.3 — P006-04 / P006-05. Library-owned; no page CSS required. */
.ui-table { width:100%; border-collapse:collapse; border-inline:0; color:var(--color-text-primary,#0b1f1a); font-family:"Inter",Arial,var(--font-sans-ja,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif); font-size:var(--font-size-body,.9375rem); line-height:1.9; }
.ui-table, .ui-table * { box-sizing:border-box; }
.ui-table th, .ui-table td { padding:var(--space-md,1rem); border-block-end:1px solid var(--color-border-muted,#dce4e0); text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.ui-table__caption--hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.ui-table--details tr:first-child > * { border-block-start:1px solid var(--color-border-muted,#dce4e0); }
.ui-table--details th { width:22%; color:var(--color-brand-green-darker,#006b45); background:var(--color-surface-soft,#f2fbf7); font-weight:700; }
.ui-table--details td { background:var(--color-surface-base,#fff); }
.ui-table--listing { table-layout:fixed; line-height:1.8; }
.ui-table--listing th, .ui-table--listing td { vertical-align:middle; }
.ui-table--listing thead th { color:var(--color-text-inverse,#fff); background:var(--color-brand-green-darker,#006b45); font-weight:700; }
.ui-table--listing tbody th { color:var(--color-brand-green-darker,#006b45); }
.ui-table--listing tbody tr { background:var(--color-surface-base,#fff); }
.ui-table--listing tbody tr:nth-child(even) { background:var(--color-surface-soft,#f2fbf7); }
.ui-table__column--name { width:20%; }
.ui-table__column--region { width:11%; }
.ui-table__column--phone { width:19%; }
.ui-table__phone { display:inline-flex; align-items:center; justify-content:space-between; gap:.4375rem; width:100%; max-width:var(--button-max-width,30rem); min-height:2.75rem; padding:var(--space-xs,.5rem) .9375rem; font-variant-numeric:tabular-nums; font-weight:700; color:var(--color-brand-green-darker); background:var(--color-surface-base,#fff); border:1px solid var(--color-border-strong,#5b9e81); border-radius:var(--radius-pill,999rem); box-shadow:var(--shadow-button,0 3px 1px rgba(51,51,51,.24)); text-decoration:none; white-space:nowrap; transition:color var(--motion-fast,160ms ease),background-color var(--motion-fast,160ms ease),border-color var(--motion-fast,160ms ease),box-shadow var(--motion-fast,160ms ease),translate var(--motion-fast,160ms ease); }
.ui-table--details .ui-table__phone { width:12rem; max-width:100%; }
.ui-table__phone::before { content:''; flex:0 0 1rem; height:1rem; background:currentcolor; -webkit-mask:url("/assets/media/table-phone-9abeb6ae06.svg") center/contain no-repeat; mask:url("/assets/media/table-phone-9abeb6ae06.svg") center/contain no-repeat; }
.ui-table__phone::after { content:''; flex:0 0 .375rem; height:.375rem; border-top:2px solid currentColor; border-right:2px solid currentColor; transform:rotate(45deg); margin-inline:.25rem; }
.ui-table a:focus-visible { outline:3px solid var(--color-brand-green-darker,#006b45); outline-offset:4px; }
@media (hover:hover) { .ui-table__phone:hover { color:var(--color-text-inverse,#fff); background:var(--color-brand-green-dark,#008455); border-color:var(--color-brand-green-dark,#008455); box-shadow:var(--shadow-button-pressed,0 1px 1px rgba(51,51,51,.24)); translate:0 2px; } }
@media (min-width:960px) and (max-width:1199px) { .ui-table__column--phone { width:24%; } }
@media (max-width:959px) {
  .ui-table--listing, .ui-table--listing tbody { display:block; }
  .ui-table--listing thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .ui-table--listing tbody tr { display:block; padding:var(--space-lg,1.5rem); border:1px solid var(--color-border-default,#cfe7dc); border-radius:var(--radius-medium,1rem); margin-block-end:var(--space-md,1rem); }
  .ui-table--listing tbody th { display:block; font-size:1.125rem; padding:0 0 var(--space-md,1rem); margin-block-end:var(--space-sm,.75rem); }
  .ui-table--listing tbody td { display:grid; grid-template-columns:5rem minmax(0,1fr); align-items:baseline; gap:var(--space-sm,.75rem); padding:.5rem 0; border:0; }
  .ui-table--listing td::before { content:attr(data-label); color:var(--color-text-secondary,#4b625b); font-size:var(--font-size-small,.875rem); }
  .ui-table--listing .ui-table__phone { white-space:normal; overflow-wrap:anywhere; }
}
@media (max-width:767px) {
  .ui-table--details, .ui-table--details tbody, .ui-table--details tr { display:block; }
  .ui-table--details th, .ui-table--details td { display:block; width:100%; }
  .ui-table--details th { border-block-end:0; padding-bottom:var(--space-2xs,.25rem); }
  .ui-table--details td { background:var(--color-surface-soft,#f2fbf7); padding-top:var(--space-2xs,.25rem); }
  .ui-table--details tr:first-child td { border-block-start:0; }
}
@media (prefers-reduced-motion:reduce) { .ui-table__phone { transition:none; } .ui-table__phone:hover { translate:none; } }

/* Opt-in mobile treatments; retain the existing tablet/desktop table. */
@media (max-width:767px) {
  .ui-table--listing.ui-table--mobile-white-rows,
  .ui-table--listing.ui-table--mobile-white-rows tbody { background:transparent; }
  .ui-table--listing.ui-table--mobile-white-rows tbody tr { background:var(--color-surface-base,#fff); padding-block:18px; }
  .ui-table--listing.ui-table--mobile-white-rows tbody td { padding-block:.125rem; line-height:1.6; grid-template-columns:max-content minmax(0,1fr); column-gap:8px; }
  .ui-table--listing.ui-table--mobile-white-rows tbody td::before { white-space:nowrap; }
  .ui-table--listing.ui-table--mobile-list,
  .ui-table--listing.ui-table--mobile-list tbody { background:transparent; }
  .ui-table--listing.ui-table--mobile-list tbody tr {
    margin:0;
    padding:16px;
    border:0;
    border-bottom:1px solid var(--color-border-default,#cfe7dc);
    border-radius:0;
    box-shadow:none;
    background:transparent;
  }
  .ui-table--listing.ui-table--mobile-list tbody tr:last-child { border-bottom:0; }
  .ui-table--listing.ui-table--mobile-list tbody th {
    margin:0 0 6px;
    padding:0;
    border:0;
    font-size:1rem;
    line-height:1.5;
  }
  .ui-table--listing.ui-table--mobile-list tbody td {
    grid-template-columns:8rem minmax(0,1fr);
    gap:8px;
    padding:2px 0;
    line-height:1.5;
  }
}

/* Opt-in long labels: keep words intact and give narrow phones full text width. */
@media (max-width:959px) {
  .ui-table--listing.ui-table--nowrap-labels tbody td { grid-template-columns:9rem minmax(0,1fr); }
  .ui-table--listing.ui-table--nowrap-labels td::before { white-space:nowrap; }
}
@media (max-width:479px) {
  .ui-table--listing.ui-table--nowrap-labels tbody td { grid-template-columns:minmax(0,1fr); gap:4px; }
}
