@charset "UTF-8";
/* リックキッズ 送迎カバーエリアマップ */
/* ---- サイト配色（TOPデザインより） ---- */
#lk-cover{
  --lk-green:#4bb23d;     /* メイングリーン（ボタン） */
  --lk-frame:#f4f2f0;     /* 枠の背景（グレー） */
  --lk-tint:#e1f4de;      /* 枠内の淡いグリーン */
  --lk-ink:#262626;       /* 本文色 */
  --lk-sub:#6b6b6b;       /* 補足文字 */
  --lk-bg:#f3f2f0;        /* セクション背景のグレー */
}
/* -------------------------------------- */
#lk-cover{font-family:inherit;color:var(--lk-ink);line-height:1.6;box-sizing:border-box;
  display:grid;grid-template-columns:272px 1fr;gap:14px;height:640px;padding:14px;
  background:var(--lk-frame);border-radius:36px}
#lk-cover *,#lk-cover *::before,#lk-cover *::after{box-sizing:border-box}

/* 左パネル */
#lk-cover .lk-side{display:flex;flex-direction:column;min-height:0;padding:12px 0 0}
#lk-cover .lk-ttl{position:relative;align-self:flex-start;margin:0 0 20px 18px;padding:10px 20px 11px;background:var(--lk-green);color:#fff;
  border-radius:18px;font-weight:700;line-height:1.3;letter-spacing:.06em}
#lk-cover .lk-ttl small{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;opacity:.95}
#lk-cover .lk-ttl span{display:block;font-size:19px}
#lk-cover .lk-ttl::after{content:"";position:absolute;left:28px;bottom:-9px;border:10px solid transparent;border-top-color:var(--lk-green);border-bottom:0}
#lk-cover .lk-list{flex:1;min-height:0;overflow:auto;list-style:none;margin:0;padding:0 14px 18px;display:flex;flex-direction:column;gap:6px;
  scrollbar-width:thin;scrollbar-color:#d6d2cb transparent}
#lk-cover .lk-row{display:flex;align-items:center;gap:10px;padding:8px 14px 8px 12px;background:#fff;border-radius:999px;cursor:pointer;
  font-size:14px;font-weight:700;user-select:none;border:2px solid transparent;transition:border-color .15s,opacity .15s,background .15s}
#lk-cover .lk-row:hover{border-color:var(--lk-green)}
#lk-cover .lk-row:focus-visible{outline:3px solid var(--lk-green);outline-offset:2px}
#lk-cover .lk-row.off{background:rgba(255,255,255,.5);opacity:.5}
#lk-cover .lk-sw{width:16px;height:16px;border-radius:50%;flex:none;border:3px solid #fff;box-shadow:0 0 0 1.5px currentColor}
#lk-cover .lk-row.off .lk-sw{background:transparent!important}
#lk-cover .lk-nm{flex:1;min-width:0}

/* 地図 */
#lk-cover .lk-mapwrap{position:relative;min-height:0;border-radius:24px;overflow:hidden;background:#fff;isolation:isolate}
#lk-cover .lk-map{position:absolute;inset:0;font-family:inherit;background:#fff}
#lk-cover .leaflet-container img,#lk-cover .leaflet-tile{max-width:none!important;max-height:none!important;border-radius:0!important;box-shadow:none!important}
#lk-cover .leaflet-container{font-family:inherit;font-size:13px}
#lk-cover .leaflet-top.leaflet-right{top:6px;right:6px}
#lk-cover .leaflet-bar{border:0!important;border-radius:16px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.12)}
#lk-cover .leaflet-bar a{width:36px;height:36px;line-height:34px;font-size:20px;color:var(--lk-green);border-bottom:1px solid var(--lk-tint)}
#lk-cover .leaflet-bar a:hover{background:var(--lk-tint)}
#lk-cover .leaflet-control-attribution{border-radius:10px 0 0 0;font-size:10px}
#lk-cover .leaflet-popup-content-wrapper{border-radius:18px;box-shadow:0 4px 18px rgba(0,0,0,.14)}
#lk-cover .leaflet-popup-content{font-size:13px;line-height:1.7;margin:14px 18px}
#lk-cover .leaflet-popup-content b{display:block;margin-bottom:2px;font-size:15px;color:var(--lk-green)}
#lk-cover .leaflet-popup-content .schools{color:var(--lk-sub);font-size:12px}
#lk-cover .leaflet-container a.leaflet-popup-close-button{top:6px;right:6px;color:var(--lk-sub)}
#lk-cover .leaflet-tooltip{border:0;border-radius:999px;padding:3px 12px;font-family:inherit;font-weight:700;color:var(--lk-ink);box-shadow:0 2px 8px rgba(0,0,0,.14)}
#lk-cover .cls-label{color:var(--lk-ink);font-size:13px;font-weight:700;line-height:1.25;white-space:nowrap;
  text-shadow:-2px -2px 0 #fff,2px -2px 0 #fff,-2px 2px 0 #fff,2px 2px 0 #fff,0 -2px 0 #fff,0 2px 0 #fff,-2px 0 0 #fff,2px 0 0 #fff}

@media (max-width:767px){
  /* スマホ：地図＋校舎リストが1画面（ヘッダー分を除く）に収まる高さ */
  #lk-cover{grid-template-columns:1fr;grid-template-rows:minmax(0,55fr) minmax(0,45fr);
    height:clamp(540px,calc(100vh - 90px),760px);height:clamp(540px,calc(100svh - 90px),760px);
    padding:10px;gap:10px;border-radius:28px}
  #lk-cover .lk-mapwrap{order:1;height:auto;border-radius:20px}
  #lk-cover .lk-side{order:2;padding-top:4px;min-height:0}
  #lk-cover .lk-ttl{margin:0 0 14px 6px;padding:7px 16px 8px;border-radius:14px}
  #lk-cover .lk-ttl::after{left:20px;bottom:-8px;border-width:9px}
  #lk-cover .lk-ttl small{display:inline;font-size:11px;margin-right:6px}
  #lk-cover .lk-ttl span{display:inline;font-size:15px}
  /* 校舎リストはこの枠内でスクロール */
  #lk-cover .lk-list{flex:1;min-height:0;flex-direction:row;flex-wrap:wrap;align-content:flex-start;gap:6px;
    padding:0 2px 16px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
    -webkit-mask-image:linear-gradient(#000 calc(100% - 22px),transparent);mask-image:linear-gradient(#000 calc(100% - 22px),transparent)}
  #lk-cover .lk-row{flex:0 0 auto;padding:6px 12px 6px 8px;font-size:14px;gap:6px}
  #lk-cover .lk-nm{flex:0 0 auto;white-space:nowrap}
  #lk-cover .lk-sw{width:14px;height:14px;border-width:2px}
}
