.modal-dialog-fluid {
  max-width: 1230px;
  margin: 15px auto;
}

.apDiv {
  position: absolute;
  z-index: 999999;
}

.apDiv a {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background-color: transparent;
}
.is-disabled {
  pointer-events: none;
  cursor: default; 
}
.apDiv.apDiv-on a {
  background-color: transparent;
}

.apDiv.hovered a {
  background-color: rgba(255, 255, 255, 0.3);
}

#apDiv1 {
  left: 593px;
  top: 109px;
  width: 281px;
  height: 27px;
}

#apDiv1-2 {
  left: 673px;
  top: 87px;
  width: 201px;
  height: 23px;
}

#apDiv2 {
  left: 964px;
  top: 312px;
  width: 160px;
  height: 27px;
}

#apDiv3 {
  left: 962px;
  top: 346px;
  width: 206px;
  height: 28px;
}

#apDiv4 {
    left: 502px;
    top: 314px;
    width: 208px;
    height: 28px;
}

#apDiv4-2 {
    left: 522px;
    top: 508px;
    width: 163px;
    height: 40px;
}

#apDiv5 {
  left: 875px;
  top: 830px;
  width: 289px;
  height: 27px;
}

#apDiv6 {
  left: 908px;
  top: 700px;
  width: 245px;
  height: 23px;
}

#apDiv7 {
    left: 920px;
    top: 585px;
    width: 202px;
    height: 24px;
}

#apDiv7-2 {
    left: 919px;
    top: 557px;
    width: 265px;
    height: 23px;
}

#apDiv8 {
  left: 528px;
  top: 230px;
  width: 238px;
  height: 40px;
}

#apDiv9 {
    left: 554px;
    top: 470px;
    width: 127px;
    height: 32px;
}

#apDiv9-2 {
    left: 495px;
    top: 427px;
    width: 204px;
    height: 32px;
}

#apDiv10 {
  left: 901px;
  top: 772px;
  width: 218px;
  height: 23px;
}

#apDiv10-2 {
  left: 889px;
  top: 802px;
  width: 131px;
  height: 23px;
}

#apDiv10-3 {
  left: 910px;
  top: 730px;
  width: 247px;
  height: 36px;
}

#apDiv11 {
    left: 921px;
    top: 614px;
    width: 155px;
    height: 24px;
}

#apDiv12 {
    left: 923px;
    top: 501px;
    width: 179px;
    height: 22px;
}

#apDiv12-2 {
    left: 922px;
    top: 472px;
    width: 179px;
    height: 22px;
}

#apDiv13 {
  left: 537px;
  top: 281px;
  width: 210px;
  height: 25px;
}

#apDiv14 {
    left: 920px;
    top: 529px;
    width: 208px;
    height: 21px;
}

#apDiv15 {
  left: 915px;
  top: 673px;
  width: 224px;
  height: 21px;
}
	
#apDiv15-2 {
    left: 921px;
    top: 641px;
    width: 194px;
    height: 21px;
}
#apDiv15-3 {
    left: 521px;
    top: 509px;
    width: 168px;
    height: 39px;
}

#apDiv16 {
    left: 502px;
    top: 351px;
    width: 193px;
    height: 37px;
}

#apDiv17 {
    left: 521px;
    top: 393px;
    width: 174px;
    height: 24px;
}

#apDiv18 {
    left: 656px;
    top: 819px;
    width: 202px;
    height: 37px;
}
	
#apDiv18-2 {
    left: 652px;
    top: 859px;
    width: 202px;
    height: 37px;
}

#apDiv19 {
    left: 675px;
    top: 752px;
    width: 133px;
    height: 35px;
}

#apDiv19-3 {
    left: 873px;
    top: 859px;
    width: 309px;
    height: 27px;
}

#apDiv20 {
    left: 664px;
    top: 793px;
    width: 180px;
    height: 20px;
}

#apDiv21 {
  left: 206px;
  top: 655px;
  width: 234px;
  height: 27px;
}

#apDiv21-2 {
  left: 236px;
  top: 415px;
  width: 205px;
  height: 22px;
}

#apDiv21-3 {
  left: 154px;
  top: 444px;
  width: 290px;
  height: 22px;
}

#apDiv21-4 {
  left: 236px;
  top: 385px;
  width: 205px;
  height: 22px;
}

#apDiv22 {
  left: 340px;
  top: 473px;
  width: 104px;
  height: 25px;
}

#apDiv23 {
  left: 283px;
  top: 628px;
  width: 161px;
  height: 25px;
}

#apDiv24 {
  left: 216px;
  top: 604px;
  width: 229px;
  height: 21px;
}

#apDiv24-2 {
  left: 217px;
  top: 576px;
  width: 229px;
  height: 21px;
}

#apDiv25 {
  left: 237px;
  top: 549px;
  width: 207px;
  height: 23px;
}

#apDiv26 {
  left: 275px;
  top: 506px;
  width: 169px;
  height: 38px;
}

#apDiv27 {
  left: 423px;
  top: 809px;
  width: 201px;
  height: 31px;
}

#apDiv27-2 {
  left: 400px;
  top: 844px;
  width: 245px;
  height: 24px;
}

#apDiv27-3 {
  left: 392px;
  top: 870px;
  width: 246px;
  height: 25px;
}

#apDiv28 {
  left: 448px;
  top: 783px;
  width: 206px;
  height: 20px;
}

#apDiv29 {
  left: 43px;
  top: 714px;
  width: 284px;
  height: 37px;
}

#apDiv30 {
  left: 151px;
  top: 786px;
  width: 124px;
  height: 22px;
}

#apDiv30-2 {
  left: 113px;
  top: 760px;
  width: 160px;
  height: 22px;
}

#apDiv31 {
  left: 78px;
  top: 812px;
  width: 197px;
  height: 21px;
}

#apDiv31-2 {
  left: 145px;
  top: 837px;
  width: 130px;
  height: 26px;
}

#apDiv32 {
  left: 75px;
  top: 131px;
  width: 169px;
  height: 38px;
}

#apDiv33 {
  left: 75px;
  top: 161px;
  width: 169px;
  height: 38px;
}

#apDiv34 {
  left: 75px;
  top: 191px;
  width: 169px;
  height: 38px;
}

.pl-area {
  width: 150px;
}

.switch {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.switch1 {
  position: absolute;
  top: 155px;
  left: 30px;
}

.switch2 {
  position: absolute;
  top: 200px;
  left: 30px;
}

.switch3 {
  position: absolute;
  top: 241px;
  left: 30px;
}

.date_stamp {
  position: absolute;
  top: 260px;
  left: 40px;
}

.switch input {
  display: none;
}

.slider {
  position: relative;
  width: 60px;
  height: 30px;
  border-radius: 30px;
  transition: background-color 0.2s;
}

.slider::before {
  content: "";
  position: absolute;
  height: 26px;
  width: 26px;
  left: 2px;
  top: 2px;
  background-color: white;
  border-radius: 50%;
  transition: transform 0.2s;
}

.switch.switch1 input:checked+.slider {
  background-color: #df3232;
}

.switch.switch2 input:checked+.slider {
  background-color: #2a61de;
}

.switch.switch3 input:checked+.slider {
  background-color: #209820;
}

.switch.switch1 .slider {
  background-color: rgb(255 196 196);
}

.switch.switch2 .slider {
  background-color: rgb(184 184 255);
}

.switch.switch3 .slider {
  background-color: rgb(188 228 188);
}

.switch input:checked+.slider::before {
  transform: translateX(30px);
}

.marker {
  position: absolute;
  z-index: 999999;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  transition: all 0.2s ease-in;
}

.marker.hovered {
  width: 14px;
  height: 14px;
  transition: all 0.2s ease-in;
}

.red.marker {
  background-color: transparent;
}

.blue.marker {
  background-color: transparent;
}

.green.marker {
  background-color: transparent;
}

.red.marker.apDiv-on {
  background-color: #df3232;
}

.blue.marker.apDiv-on {
  background-color: #2a61de;
}

.green.marker.apDiv-on {
  background-color: #209820;
}

.red.marker.hovered {
  background-color: #df3232;
  box-shadow: 0px 0px 4px 5px rgb(255 196 196);
  z-index: 9999999;
}

.blue.marker.hovered {
  background-color: #2a61de;
  box-shadow: 0px 0px 4px 5px rgb(184 184 255);
  z-index: 9999999;
}

.green.marker.hovered {
  background-color: #209820;
  box-shadow: 0px 0px 4px 5px rgb(188 228 188);
  z-index: 9999999;
}

.marker a {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}

.apDiv1 {
  left: 873px;
  top: 180px;
}

.apDiv1-2 {
  left: 881px;
  top: 180px;
}

.apDiv2 {
  left: 850px;
  top: 470px;
}

.apDiv3 {
  left: 834px;
  top: 517px;
}

.apDiv4 {
  left: 795px;
  top: 612px;
}

.apDiv4-2 {
  left: 780px;
  top: 589px;
}

.apDiv5 {
  left: 764px;
  top: 627px;
}

.apDiv6 {
  left: 779px;
  top: 635px;
}

.apDiv7 {
  left: 795px;
  top: 627px;
}

.apDiv7-2 {
  left: 819px;
  top: 627px;
}

.apDiv8 {
  left: 803px;
  top: 580px;
}

.apDiv9 {
  left: 709px;
  top: 595px;
}

.apDiv9-2 {
  left: 772px;
  top: 627px;
}

.apDiv10 {
  left: 779px;
  top: 650px;
}

.apDiv10-2 {
  left: 771px;
  top: 650px;
}

.apDiv10-3 {
  left: 779px;
  top: 642px;
}

.apDiv11 {
  left: 826px;
  top: 642px;
}

.apDiv12 {
  left: 819px;
  top: 595px;
}

.apDiv12-2 {
  left: 826px;
  top: 580px;
}

.apDiv13 {
  left: 779px;
  top: 580px;
}

.apDiv14 {
  left: 819px;
  top: 611px;
}

.apDiv15 {
  left: 799px;
  top: 640px;
}
.apDiv15-2 {
  left: 799px;
  top: 633px;
}
.apDiv15-3 {
    left: 732px;
    top: 646px;
}
.apDiv16 {
  left: 787px;
  top: 611px;
}

.apDiv17 {
  left: 787px;
  top: 627px;
}

.apDiv18 {
    left: 653px;
    top: 670px;
}
	
.apDiv18-2 {
    left: 653px;
    top: 660px;
}


.apDiv19 {
  left: 725px;
  top: 674px;
}

.apDiv19-3 {
  left: 753px;
  top: 517px;
}

.apDiv20 {
    left: 653px;
    top: 651px;
}

.apDiv21 {
  left: 591px;
  top: 713px;
}

.apDiv21-2 {
  left: 608px;
  top: 674px;
}

.apDiv21-3 {
  left: 608px;
  top: 682px;
}

.apDiv21-4 {
  left: 615px;
  top: 682px;
}

.apDiv22 {
  left: 599px;
  top: 690px;
}

.apDiv23 {
  left: 568px;
  top: 697px;
}

.apDiv24 {
  left: 576px;
  top: 697px;
}

.apDiv24-2 {
  left: 584px;
  top: 697px;
}

.apDiv25 {
  left: 592px;
  top: 697px;
}

.apDiv26 {
  left: 592px;
  top: 690px;
}

.apDiv27 {
  left: 521px;
  top: 690px;
}

.apDiv27-2 {
  left: 513px;
  top: 690px;
}

.apDiv27-3 {
  left: 459px;
  top: 713px;
}

.apDiv28 {
  left: 521px;
  top: 713px;
}

.apDiv29 {
  left: 124px;
  top: 646px;
}

.apDiv30 {
  left: 356px;
  top: 752px;
}

.apDiv30-2 {
  left: 365px;
  top: 745px;
}

.apDiv31 {
  left: 364px;
  top: 807px;
}

.apDiv31-2 {
  left: 350px;
  top: 870px;
}

.apDiv32 {
  left: 75px;
  top: 131px;
}

.apDiv33 {
  left: 75px;
  top: 161px;
}

.apDiv34 {
  left: 75px;
  top: 191px;
}

.pl-area {
  width: 150px;
}

.map-wrap { position: relative; }
.map-base { display:block; width:100%; height:auto; border-radius:20px; }

/* レイヤー画像はクリックを邪魔しない・アニメで出す */
.map-layer {
  position:absolute; left:0; top:0;
  width:100%; height:100%;
  opacity:0; transition: opacity .2s ease-in-out;
  pointer-events:none;
  z-index: 1; /* apDiv/marker より下層にする */
}

/* 表示時 */
.map-layer.on { opacity: 1; }

/* クリック領域・ピンは最前面（既存の z-index でOK） */
.apDiv, .marker {
    position: absolute;
    z-index: 9999;
}

/* apDiv/marker が apDiv-on を持っていない＝オフのときは非インタラクティブ */
.apDiv:not(.apDiv-on) a,
.marker:not(.apDiv-on) a {
  pointer-events: none;     /* クリック無効 */
}

.apDiv:not(.apDiv-on),
.marker:not(.apDiv-on) {
  cursor: default;          /* クリックできなさそうな見た目 */
}

/* オフ要素にはホバー強調を出さない（保険） */
.apDiv:not(.apDiv-on).hovered a { background-color: transparent; }
.marker:not(.apDiv-on).hovered { box-shadow: none; }
