body{
    font-family: "游ゴシック", "游ゴシック体", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro W3", "メイリオ", Meiryo, Helvetica, sans-serif !important;
    font-weight: 500;
}

.select2-dropdown {
  z-index: 99999 !important;
}

.farm-category {
    justify-content: center;
    display: flex;
   /* background: #ccc;
    align-items: center;
    background: #d3f0fd url(../../../images/bg-stripe.png) repeat 0 0;*/}

.mySearchModuleOpen{
    background: rgb(159, 225, 255, 0.4) url(../../../images/bg-stripe.png) repeat 0 0;
    background-blend-mode: color-dodge;
    border: 1px solid #6BD1FF;
    cursor: pointer;
    text-align: center;
 /*   margin: 15px 0; */
    max-width: -webkit-fill-available;
/*    padding: 8px;*/
    font-weight: 700;
}

.eb-inst .eb-content input[type=checkbox].btn-check{position: absolute;}

.bg-stripe{
    background: rgb(159, 225, 255, 0.4) url(../../../images/bg-stripe.png) repeat 0 0;
    background-blend-mode: color-dodge;
    border: 1px solid #6BD1FF;}

.article-details.farm-details .article-header h1{
    font-size: 1.5rem;
    width: fit-content;
    display: inline-block;
    margin-bottom: 0;
}

.text-shadow {
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.badge-lg {
  font-size: 1rem;
  padding: 0.6em 1em;
  letter-spacing: 0.05em;
}

.hover-shadow {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.hover-shadow:hover {
  transform: translateY(-4px);
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); /* shadow-lg 相当 */
}

.hover-zoom img {
  transition: transform 0.3s ease;
}
.hover-zoom:hover img {
  transform: scale(1.03);
}

@media (max-width: 576px) {
  #map {
    height: 280px;
  }
}

@media (min-width: 577px) {
  #map {
    height: 400px;
  }
}

.card{overflow: hidden;}

@media (max-width: 768px) {
  .gm-style .gm-style-mtc {
    display: none !important;
  }
}

#toggleMapType {
  background: white;
  border: 1px solid #ccc;
  border-radius: 2px;
  font-size: 14px;
  padding: 6px 12px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}

.custom-infobox {
  position: absolute;
  background: white;
  padding: 10px 12px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
 /* transform: translate(-50%, -100%);*/
transform: translate(-50%, 10px); /* 横中央・縦に10px下げる */
  white-space: nowrap;
  z-index: 100;
}

.custom-infobox .infobox-close {
  position: absolute;
  top: 4px;
  right: 6px;
  background: transparent;
  border: none;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  color: #333;
}

.detail-button-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 5;
  pointer-events: none;
}

.detail-button-overlay .detail-button {
  pointer-events: auto;
  background-color: rgba(25, 135, 84, 0.95); /* 半透明の緑 */
  color: #fff;
  padding: 0.4rem 1rem;
  border-radius: 999px; /* pill型 */
  font-size: 0.9rem;
  box-shadow: 0 0 5px rgba(0,0,0,0.3);
}

@media screen and (max-width: 640px) {
  .tbl_flex {
    display: flex;
  }
  .tbl_flex tr{
      display: flex;
      flex-direction: column;   
  }
}

h2 {
    line-height: normal !important;
    width: 100% !important;
    margin: 0.6rem 0 0.4rem 0 !important;
    padding: 0.2em 0 0.2em 1em !important;
    border: 1px solid #005c4c !important;
    box-shadow: inset 0.9em 0 #68b7a1;
    font-size: 1.2rem !important;
    font-weight: bold !important;
    scroll-margin-top: 6rem;
}

.myAccordionItem
 {
    color: #0063ba !important;
    font-weight: 600 !important;
}