.home-members { --member-section-inset:56px; padding-inline:0; font-family:"Noto Sans JP",sans-serif; }
.home-members > .home-inner { width:calc(100% - var(--member-section-inset) - var(--member-section-inset)); }
.home-member-slider { --member-size:160px; --member-card-width:160px; --member-gap:24px; --member-row-gap:32px; }
.home-members .home-heading { --home-heading-size:56px; align-items:center; flex-direction:row; flex-wrap:wrap; gap:16px; border:0; padding:0; margin-bottom:32px; }
.home-members .home-member-hint { display:none; align-items:center; gap:8px; margin:0; padding:6px 14px; border:1px solid #e5e5e5; border-radius:999px; background:#f5f5f5; color:#666; font-size:12px; font-weight:700; line-height:18px; white-space:nowrap; }
.home-member-hint [aria-hidden] { color:#ff7f0f; font-size:18px; }
.home-members:has(.is-animated) .home-member-hint { display:flex; }
.home-member-rows { display:flex; flex-wrap:wrap; justify-content:center; gap:var(--member-row-gap) var(--member-gap); padding-block:8px; }
.home-member-icon { display:grid; grid-template-rows:1fr var(--member-size) minmax(40px,auto); justify-items:center; row-gap:7px; flex:0 0 var(--member-card-width); width:var(--member-card-width); color:#111; text-align:center; text-decoration:none; }
.home-member-tags { display:flex; flex-wrap:wrap; align-content:center; align-items:center; justify-content:center; gap:4px; width:100%; min-height:26px; margin-bottom:-1px; }
.home-member-tag { display:inline-block; max-width:100%; padding:3px 8px; border-radius:999px; background:#ff7f0f; color:#fff; font-family:"Space Grotesk",sans-serif; font-size:11px; font-weight:700; line-height:1.2; letter-spacing:.04em; overflow-wrap:anywhere; }
.home-member-portrait { display:block; width:var(--member-size); height:var(--member-size); overflow:hidden; border:3px solid #fff; border-radius:50%; background:#f0f0f0; box-shadow:0 4px 16px rgb(0 0 0 / 6%); transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,border-color .25s; }
.home-member-portrait img { display:block; width:100%; height:100%; object-fit:cover; -webkit-user-drag:none; }
.home-member-portrait .image-placeholder { display:grid; place-items:center; width:100%; height:100%; }
.home-member-name { width:100%; padding-inline:4px; font-size:16px; font-weight:700; line-height:1.25; overflow-wrap:anywhere; }
.home-member-icon:focus-visible { outline:3px solid #ff6f00; outline-offset:4px; border-radius:8px; }
.is-animated .home-member-rows { display:grid; grid-template-columns:minmax(0,1fr); overflow:hidden; }
.home-member-row { min-width:0; touch-action:pan-y pinch-zoom; cursor:grab; user-select:none; -webkit-user-select:none; }
.home-member-row a { cursor:grab; }
.home-member-row.is-dragging,.home-member-row.is-dragging a { cursor:grabbing; }
.home-member-track { display:flex; width:max-content; will-change:transform; }
.home-member-group { display:flex; flex-shrink:0; gap:var(--member-gap); padding-right:var(--member-gap); }
.home-members-actions { display:flex; justify-content:center; margin-top:56px; }
.home-members-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; max-width:100%; min-height:56px; padding:16px 32px; border:1px solid #111; border-radius:999px; background:#111; color:#fff; font-size:16px; font-weight:700; line-height:24px; box-shadow:0 4px 6px rgb(0 0 0 / 10%); transition:background .2s,border-color .2s; }
.home-members-button:hover { background:#d95e00; border-color:#d95e00; }
.home-members-button:focus-visible { outline:3px solid #ff6f00; outline-offset:4px; }
.home-members-button .material-symbols-outlined { font-size:18px; }
@media (hover:hover) {
    .home-member-icon:hover .home-member-portrait { transform:translateY(-4px) scale(1.03); box-shadow:0 10px 24px rgb(255 127 15 / 18%); border-color:#ff7f0f; }
}
/* Expose each original link once when keyboard navigation reaches the slider. */
.is-animated:has(.home-member-icon:focus-visible) .home-member-rows { display:flex; overflow:visible; mask-image:none; }
.is-animated:has(.home-member-icon:focus-visible) :is(.home-member-row,.home-member-track,.home-member-group) { display:contents; }
.is-animated:has(.home-member-icon:focus-visible) [aria-hidden="true"] { display:none; }
.home-members:has(.home-member-icon:focus-visible) .home-member-hint { display:none; }
@media (max-width:1023px) { .home-members { --member-section-inset:40px; } }
@media (max-width:767px) {
    .home-members { --member-section-inset:20px; }
    .home-member-slider { --member-size:88px; --member-card-width:112px; --member-gap:16px; --member-row-gap:20px; }
    .home-members .home-heading { --home-heading-size:32px; margin-bottom:20px; }
    .home-members .home-member-hint { padding:4px 10px; font-size:11px; gap:4px; }
    .home-member-hint-full { display:none; }
    .home-member-icon { grid-template-rows:1fr var(--member-size) minmax(38.5px,auto); row-gap:4px; }
    .home-member-tags { min-height:22px; margin-bottom:0; }
    .home-member-tag { padding:2px 6px; font-size:10px; line-height:1.15; letter-spacing:.02em; }
    .home-member-portrait { border-width:2.5px; box-shadow:0 3px 10px rgb(0 0 0 / 6%); }
    .home-member-name { padding-inline:2px; font-size:14px; line-height:1.375; }
    .home-members-actions { margin-top:32px; }
    .home-members-button { width:320px; min-height:48px; padding:14px 24px; font-size:15px; }
}
@media (prefers-reduced-motion:reduce) {
    .home-member-portrait { transition:none; }
    .home-member-icon:hover .home-member-portrait { transform:none; }
}
