@charset "UTF-8";


.map-wrap { 
	width:96%; 
	max-width: 1000px;
	min-height: 400px;
	height:60vh; 
	display:flex; 
	margin:40px auto;}

.map-area { position: relative; width: 70%; height: 100%;}
#map { width: 100%; height: 100%; }

#sidebar { width: 30%; height: 100%; padding:5px; overflow-y:auto; }
.marker { display:block; border:none; border-radius:5px; cursor:pointer; background-size:100%; }

.feature-item {
	background: var(--col_white); 
	padding:10px;
	border-radius: 10px;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
	margin-top:10px;
	cursor:pointer;
	display: flex;
	gap:1%;
	justify-content: space-between
}
.feature-img{
	box-sizing: border-box;
	width:18%;
} 
.feature-img img{
	border-radius:4px; 
}
.feature-txt{width:74%;
	box-sizing: border-box;
} 
.feature-link{width:6%} 
.feature-link .side-link{
	display: block;
	background: var(--col_blue);
	width:100%;
	height:100%;
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
	position: relative
}
.feature-link .side-link::after {
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin: auto;
	position: absolute;
	content:'';
	  width: 60%;
	  height: 1em;
	  background: var(--col_white); 
	  clip-path: polygon(
		0 0,
		100% 50%,
		0 100%
	  );
}

.side-ttl{
	font-size:1.6rem
}
.item_name {
	font-size:1.7rem;
	font-weight:600;
	line-height:1.4;
	color: var(--col_blue); 
}
.item_address { font-size:1.3rem; }
.item_txt{overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font-size:1.4rem; 
}
#info { position:absolute;
	left:0;
	bottom:0;
	width:40%;
	height:90%;
	max-height: 365px;
	border:4px solid var(--col_green); 
	background:var(--col_white); 
	z-index:999;
	display:none;
	padding:30px 10px 10px;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	overflow-y: scroll
}
.item_img{
	width:90%;
	margin: 10px auto
}
.item_img img{
	border-radius: 5px;
}


.filter-wrap{
	width:96%; 
	max-width: 1000px;
	margin: 0 auto 
}
.checkbox-group{
	display: flex;
	font-size:1.4rem
	
}

.checkbox-group > p{
	width:5em;
	white-space: nowrap;
	padding: 0.5em 0;
	color:var(--col_blue);
	font-weight: 700
}
.checkbox-group .label-wrap{
	width:calc(100% - 5em)
}
.checkbox-group label {
	display:inline-block;
	margin-right: 0.5em;
	margin-top: 0.5em
}

/* デフォルトのラベル */
.checkbox-group label span {
	padding: 0.1em 1em;
	border-radius: 3em;
	line-height: 1;
	color: var(--col_black);    /* 未チェック時の色 */
	background: var(--col_l_gray)
}

/* チェックされている場合 */
.checkbox-group label input:checked + span {
  background: var(--col_blue) ;/* チェック時の色 */
	  color: var(--col_white); 
}

.sns-links{
	width:60%;
	margin: 10px auto;
	display: flex;
	justify-content: space-between
}
.sns-links a{
	display: block;
	width:18%
}
#info  .btn{
	width:100%;
	text-align: center;
	padding: 0.2em;
	margin: 20px auto 0
}

@media (max-width: 768px) {
.map-wrap { 
	width:96%; 
	max-width: inherit;
	min-height:50vh;
	height:auto;
	display:flex; 
	flex-wrap: wrap;
	margin:6vw auto;}

.map-area { position: relative; width: 1000%; height: 40vh; order:1;overflow: hidden}
#sidebar { width: 100%; height: auto; padding:0; overflow-y:visible; order:2}
	
.marker { border-radius:1vw;  }

.feature-item {
	background: var(--col_white); 
	padding:2vw;
	border-radius: 2vw;
	margin-top:2vw;
}
.feature-img{
	box-sizing: border-box;
	width:20%;
	padding-right: 2vw;
	padding-top: 0.5vw
} 
.feature-img img{
	border-radius:1vw; 
}
.side-ttl{
	font-size:3.4vw
}
.item_name {
	font-size:4vw;
}
.item_address { font-size:3.2vw; }
.item_txt{overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font-size:3.2vw; 
}
#info { position:absolute;
	left:0;
	bottom:0;
	width:45%;
	height:100%;
	border:0.8vw solid var(--col_green); 
	background:var(--col_white); 
	z-index:999;
	display:none;
	padding:4vw 2vw 2vw;
	border-top-left-radius: 2vw;
	border-top-right-radius: 2vw;
}
.item_img{
	margin: 2vw auto
}
.item_img img{
	border-radius: 5px;
}
	
.filter-wrap{
	width:96%; 
	max-width: 1000px;
	margin: 2vw auto 0
}
.checkbox-group{
	display: flex;
	font-size:2.8vw
	
}


.sns-links{
	margin: 2vw auto;}

#info  .btn{
	width:100%;
	text-align: center;
	padding:0 0.2em;
	margin: 2vw auto 0
}


}


.gmap-ctrl-group{
	background:#fff;
	border-radius:4px;
	box-shadow:0 0 0 2px rgba(0,0,0,.1);
	margin:10px;
	overflow:hidden;
}
.gmap-ctrl-group button{
	display:block;
	width:10em;
	border:none;
	background:none;
	padding:6px 4px;
	font-size:12px;
	white-space:nowrap;
	cursor:pointer;
}
.gmap-ctrl-zoom{
	margin-top:0;
}
.gmap-ctrl-zoom button{
	width:32px;
	height:32px;
	padding:0;
	font-size:16px;
	line-height:32px;
	box-sizing:border-box;
}
.gmap-ctrl-zoom button:first-child{
	border-bottom:1px solid rgba(0,0,0,.1);
}