/* ================================================== */
/* 本部・支部連絡先　一覧 */
/* ================================================== */

/* リスト：spは横スクロール */
.info-card-list {
--card-w:350px;
--gutter-x:20px;
}
.info-card-list { align-items:flex-start; display:flex; gap:16px; height:var( --card-h, auto ); margin-inline:calc( var(--gutter-x) * -1 ); overflow-x:auto; overflow-y:clip; overscroll-behavior-inline:contain; padding-inline:var(--gutter-x); scroll-padding-inline:var(--gutter-x); scroll-snap-type:x mandatory; scrollbar-width:none; transition:height .3s; }
.info-card-list::-webkit-scrollbar { display:none; }

/* カード */
.info-card { border:2px solid var(--or); display:flex; flex:0 0 min( var(--card-w), 100% ); flex-direction:column; scroll-snap-align:start; }
.card-content { display:flex; flex-direction:column; flex:1; gap:16px; padding:16px; }

/* タイトル */
.card-title { align-items:center; background-color:var(--or); display:flex; justify-content:space-between; padding:8px 10px; }
.card-title h2 { color:var(--wh); font-size:20px; font-weight:900; }

/* 中身 */
.icon-list { gap:8px; }
.icon-list li img { height:32px; width:32px; }
.card-content { display:flex; flex-direction:column; gap:16px; padding:16px; }
.card-item { display:flex; flex-direction:column; gap:4px; }
.item-title { color:var(--gr); font-size:16px; font-weight:700; line-height:28px; }

/* mapボタン */
.map-link { align-items:center; background-color:var(--bl); border-radius:40px; color:var(--wh); display:flex; font-size:14px; font-weight:400; gap:4px; justify-content:center; position:relative; transition:.3s; line-height:18px; height:22px; width:80px; }
.map-link:hover { opacity:0.7; transition:.3s; }

/* ページネーション */
.card-pagination {
--dot-color:#93cac6;
--dot-current:17px;
--dot-edge:7px;
--dot-gap:4px;
--dot-normal:11px;
--dot-size:24px;
--dot-visible:5;
}
.card-pagination { align-items:center; display:flex; gap:var(--dot-gap); justify-content:center; }
.card-pagination:empty { display:none; } /* js未実行時は非表示 */
.card-pagination button { align-items:center; cursor:pointer; display:flex; justify-content:center; transition:opacity .3s; height:var(--dot-size); width:var(--dot-size); }

/* ページネーション：ドット */
.pagination-window { overflow:hidden; width:calc( var(--dot-size) * var(--dot-visible) + var(--dot-gap) * ( var(--dot-visible) - 1 ) ); }
.pagination-dots { display:flex; gap:var(--dot-gap); transition:translate .3s; }
.pagination-dots li { flex:0 0 var(--dot-size); }
.pagination-dots button::before { background-color:var(--dot-color); border-radius:50%; content:""; transition:height .3s, width .3s; height:var(--dot-normal); width:var(--dot-normal); }
.pagination-dots button.is-edge::before { height:var(--dot-edge); width:var(--dot-edge); }
.pagination-dots button[aria-current="true"]::before { height:var(--dot-current); width:var(--dot-current); }

/* ページネーション：最初・最後へ */
.pagination-nav::before { background-color:var(--dot-color); content:""; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 5 5 12l6 7M19 5l-6 7 6 7' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 100% 100%; height:14px; width:14px; }
.pagination-nav--last::before { scale:-1 1; }
.pagination-nav:disabled { cursor:default; opacity:.3; }

@container( min-width:960px ) {

/* リスト：pcは2列で並べる */
.info-card-list { align-items:flex-start; display:grid; gap:40px; grid-template-columns:repeat( 2, var(--card-w) ); height:auto; justify-content:center; margin-inline:0; overflow:visible; padding-inline:0; padding:0 20px; scroll-snap-type:none; transition:none; width:100%; }

/* カード */
.info-card { flex:none; }

/* 中身 */
.card-content { padding:24px; }

/* mapボタン */
.map-link { font-size:14px; line-height:22px; }

/* ページネーション */
.card-pagination { display:none; }

}