    /* map-section style*/

    .map-section {
      margin: 100px auto;
      padding: 32rem 20rem;
    }

    .map-section.index {
      margin: 0;
    }

    /* .map-section .wrap {
      max-width: 1230px;
      margin: 80px auto;
      display: grid;
      grid-template-columns: 1fr 550px;
      gap: 50px;
      padding: 0 20px;
      overflow: auto;
    } */

    .map-section .wrap {
      max-width: 1230px;
      width: 100%;
      box-sizing: border-box;
      margin: 80px auto;
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(320px, 550px);
      gap: 50px;
      overflow: auto;
    }


    .map-box,
    .map-section .panel {
      min-width: 0;
      max-width: 100%;
      box-sizing: border-box;
    }

    .map-box {
      width: 100%;
      background: #FDF8E4;
      border-radius: 24px;
      min-height: auto;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
    }


    #mapContainer,
    #mapContainer svg {
      max-width: 100%;
    }

    #mapContainer {
      width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
    }

    #mapContainer svg {
      padding-top: 20px;
      width: 100%;
      height: auto !important;
      display: block;
    }

    .sido {
      fill: #fff !important;
      stroke: #aaaaaa !important;
      stroke-width: 1.5 !important;
      cursor: pointer;
      transition: .2s;
    }

    .map-label {
      font-size: 22px;
      font-weight: 900;
      fill: #222;
      text-anchor: middle;
      dominant-baseline: middle;
      pointer-events: none;
      user-select: none;
    }

    .map-label-circle {
      fill: #fff;
      stroke: #222;
      stroke-width: 2;
      pointer-events: none;
    }

    .map-label {
      fill: #222;
      font-size: 18px;
      font-weight: 900;
      text-anchor: middle;
      dominant-baseline: middle;
      pointer-events: none;
    }

    .map-section .panel {
      border-top: 4px solid #222;
    }

    .map-section .selected {
      display: flex;
      justify-content: space-between;
      align-items: end;
      border-bottom: 1px solid #222;
      padding: 22px 0 14px;
    }

    .selected h2 {
      margin: 0;
      font-size: 30px;
    }

    .search-box {
      display: flex;
      gap: 8px;
      margin: 20px 0;
    }

    .search-box input {
      flex: 1;
      height: 48px;
      padding: 0 14px;
      border: 1px solid #ddd;
    }

    .search-box button {
      width: 80px;
      background: #222;
      color: #fff;
      border: 0;
      font-weight: bold;
      cursor: pointer;
    }

    .map-section .store-list {
      list-style: none;
      margin: 0;
      padding: 0;
      max-height: 660px;
      overflow: auto;
      display: block;
    }

    .map-section .store-list li {
      padding: 18px 0;
      border-bottom: 1px solid #e5e5e5;
    }


    .store-name,
    .store-address,
    .store-phone {
      text-align: left;
    }

    .store-name {
      display: block;
      font-size: 18px;
      font-weight: 900;
      margin-bottom: 8px;
    }

    .store-address,
    .store-phone {
      margin: 0;
      color: #555;
      font-size: 14px;
    }

    .empty {
      text-align: center;
      color: #777;
      padding: 50px 0;
    }

    .map-circle {
      transition: transform .2s ease;
      transform-origin: center;
      transform-box: fill-box;
    }

    .map-circle:hover,
    .map-circle.active {
      transform: scale(1.5);
    }

    .map-circle.active {
      fill: #ffa807;
    }

    polyline#jeju {
      transform: translate(120px, -80px);
      transform-box: fill-box;
      transform-origin: center;
    }


    /* map-section 문구 */
    .map-section .main-title {
      font-size: 55px;
      font-weight: 900;
      color: #111111;
      margin: 25px auto;
      z-index: 1;
      text-align: center;
    }

    .map-section .sub-title {
      display: block;
    }


    .map-section .red-num {
      font-size: 64px;
      font-weight: 900;
      color: #CC0000;
      letter-spacing: -2px;
      line-height: 1.1;
    }

    .map-section .desc {
      font-size: 20px;
      font-weight: 400;
      color: #555555;
      letter-spacing: -0.5px;
      text-align: center;
    }


    @media (max-width:1200px) {
      .map-section .wrap {
        grid-template-columns: 1fr 1fr;
      }

      .map-section .panel,
      .map-box {
        width: 100%;
      }

      #mapContainer svg {
        height: 580px;
      }

      .map-label {
        font-size: 16px;
      }

    }

    @media (max-width:750px) {
      .map-section .wrap {
        grid-template-columns: 1fr;
      }
    }

    @media(max-width:500px) {

      .map-section .wrap {
        margin: 30px auto;
      }

      .map-section .main-title {
        padding: 0 30px;
        font-size: 41px !important;
      }

      .map-section .desc {
        font-size: 16px !important;
      }


      .map-section .sub-title .red-num {
        display: block;
      }


      #storeList li {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
        box-sizing: border-box;
      }

      .store-address {
        display: block;
        width: 100%;
        max-width: 100%;
        white-space: normal;
        overflow-wrap: break-word;
        word-break: break-all;
        box-sizing: border-box;
      }

    }