.sp-only {
  display: none;
}
	.body-moemoe{
		max-width: 980px;
		margin:0 auto;
	}
	.body-moemoe img{
	width:100%;
	}
	.body-moemoe21{
		max-width: 1180px;
		margin:0 auto;
	}
	.body-moemoe21 img{
	width:100%;
	}
	.body-chyairo{
		background: #dddecd;
		padding:80px 0;
	}
	.copairo{
		display: flex;
		align-items: center;
		margin:0 0 50px 0;
	}
	.copairo p{
	margin:0;
	}
	.copairo img{
		max-width: 180px;
		margin:0 60px 0 0;
	}
		.copairo .ppkjk{
		max-width: 160px !important;
		margin:0 60px 0 0;
	}
	.siroiro-boxc{
		background: #fff;
		padding:30px 50px;
		text-align: center;
	}
	.gureiro-boxc{
		background: #9fa0a0;
		padding:30px 50px;
		color: #fff;
	}
	.rebe-box{
		position: relative;
		margin:145px 0 0 0;
	}
	.rebe-box img{
		max-width: 270px;
		position: absolute;
		top:-95px;
		left:20px;
	}
	.gureiro-boxc h2{
		border-bottom: solid 1px #fff;
		font-weight: 400;
		padding:5px 0;
		margin:0 0 10px 0;
	}
	
	.p18{
	font-size:18px;
	letter-spacing: 0.5px;
	}
	
	.frekusu50{
	 display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
	margin:40px 0;
	}
	
	.majinga-z{
	margin:80px 0;	
	}
	
	.pinku-erianno{
		background: #da8b67;
		padding:80px 40px;
	}
	.fffsiro{
		color: #fff;
	}
	
	.kuhaku-erianno{
		padding:80px 0px;
	}
	
	.cards-wrap {
	  position: relative;
	}

	.cards {
	  display: flex;
	  gap: 20px;
	  overflow-x: auto;
	  scroll-behavior: smooth; /* スムーズスクロール */
	  padding: 10px 0;
	}

	.cards::-webkit-scrollbar {
	  display: none;
	}

	.card {
	  flex: 0 0 340px;
	}

	/* ボタン */
	.scroll-btn {
	  position: absolute;
	  top: 50%;
	  transform: translateY(-50%);
	  background: rgba(0,0,0,0);
	  color: #000;
	  border: none;
	  width: 40px;
	  height: 40px;
	  border-radius: 50%;
	  cursor: pointer;
	  z-index: 10;
	}
	.scroll-btn.prev { left: -45px;
		font-size:25px;
	}
	.scroll-btn.next { right: -45px;
	font-size:25px;
	}

    .card__thumb {
    aspect-ratio: 16 / 13;   /* ★ここで比率固定 */
    width: 100%;
    overflow: hidden;
    position: relative;
    background: #f3f3f3;
    display: block;
    }

    .card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    }
    .card__thumb img:hover {
    opacity: 0.7;
    }
	.card{
		background: #fff;
		padding:7.5px;
	}
	
	.card__title{
		font-size:16px;
		text-align: center;
		margin:20px 0 15px 0;
	}
	.card__title span{
		font-size:14px;
	}
	.kukaku{
	background: #dcdcc7;
	text-align: center;
	padding:5px;
	}
.card__badges{
  display:flex; flex-wrap:wrap; gap:8px; margin-top:8px;
}
.card__badges li{ list-style:none; }

.badge{
  display:inline-block;
  padding:6px 12px;
  border-radius:9999px;
  font-size:10px;
  font-weight:700;
  line-height:1;
  color:#fff;
  background:#8a8fb1;
  text-decoration:none;
}

/* ここから “スラッグ別” の色指定 */
.badge--shinchiku      { background:#E76F51; }
.badge--custom-order    { background:#3A86FF; }
.badge--freeplan      { background:#2A9D8F; }
.badge--iot          { background:#6D597A; }
.badge--osusume     { background:#f47761; }
.badge--price-down     { background:#5026D9; }

.badge--kosodate     { background:#40BF4F; }
.badge--ekicika    { background:#E5561A; }
.badge--kanbai     { background:#808080; }
.badge--tuboookii     { background:#5026D9; }
.badge--hiraya     { background:#E40DF2; }
	.info-list{
	font-size:13px;
	}
	.info-list li{
	  position: relative;
	  padding-left: 12px;
	}
 
	.info-list li:before {
	  content: "";
	  position: absolute;
	  top: .8em;
	  left: 0;
	  width: 6px;
	  height: 6px;
	  background-color: #666666;
	  border-radius: 50%;
	}
		.card__more{
		text-align: right;
		font-size:12px;
	}

/* フォーム全体 */
.search-form{
  display: grid;
  gap: 16px 20px;
  align-items: start;
  margin: 24px 0;
background: #fff;
padding:40px 15px;
border: solid 1px #ccc;
border-radius: 20px;
}

/* セレクト2つを横並びに */
.search-form .select-row{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
	
	.serekuton-tonton{
		display: grid;
		grid-template-columns: 1fr 2.5fr;
		gap: 12px;
	}

/* 共通セレクト */
.search-form select{
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 100%;
  height: 44px;
  padding: 0 40px 0 12px;
  border-radius: 6px;
  background: #fff;
  color: var(--txt);
  transition: border-color .15s, box-shadow .15s;
	border: 1px solid #ccc;
}
.search-form select:focus{
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(124,102,181,.15);
}
.search-form select:disabled{
  color: var(--muted);
  background-color: #f6f6f8;
}

/* 現在地ボタン */
#nearby-btn{
  height: 44px;
  padding: 0 16px 0 40px;
  border: none;
  border-radius: 5px;
  background: #727171;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  transition: background-color .15s, transform .02s;
}
#nearby-btn:hover{ background:#ccc; }
#nearby-btn:active{ transform: translateY(1px); }
#nearby-btn[disabled]{ opacity:.55; cursor: not-allowed; }

/* 価格チェック群：複数列グリッド */
.price-grid {
  display: flex;
justify-content: center;
  flex-wrap: wrap;
  gap: 45px;
}

.btn-cat {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 8px 12px;
width: 30%;
  min-height: 44px;
  border: 1px solid #ddd;
  border-radius: 15px;
  background: #fff;
  cursor: pointer;
  user-select: none;
  transition: background .15s, border-color .15s, color .15s;
}
/* チェックボックス自体は隠す（アクセシビリティは保持） */
.btn-cat > input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

/* ホバー / フォーカス */
.btn-cat:hover { border-color: #aaa; }
.btn-cat:focus-within { outline: 2px solid #5b9dff; outline-offset: 2px; }

/* 選択時（最新ブラウザ：Chrome/Safari/EdgeでOK） */
.btn-cat:has(input:checked) {
  background: #6987ab;
  color: #fff;
  border-color: #6987ab;
  font-weight: 700;
}
	
	.card__more{
		text-align: right;
		font-size:12px;
	}

/* :has()未対応ブラウザ向けの保険（テキストだけ太字に） */
.btn-cat > input:checked + span { font-weight: 700; }


/* 検索ボタン（下の大きい丸ボタン想定） */
.search-submit{
  display:block;
  width: clamp(220px, 40vw, 360px);
  margin: 45px auto 0;
  height: 56px;
  border: none;
  border-radius: 28px;
  background: #926d93;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .08em;
  cursor: pointer;
  transition: background-color .15s, transform .02s;
}
.search-submit:hover{ background: #ccafce; }
.search-submit:active{ transform: translateY(1px); }
	
	.indento{
		position: relative;
	}
	.indento img{
	position: absolute;
	top:32px;
	left:50%;
	width:45px;
	height:auto;
	transform: translate(-50%, -50%);
	}
/* レスポンシブ */
@media (max-width: 768px){
  .search-form{
    grid-template-columns: 1fr; /* 縦積み */
  }
  .search-form .select-row{
    grid-template-columns: 1fr; /* セレクトも縦に */
  }
  #nearby-btn{
    width: 100%;
  }
  .price-grid{
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
.card__badges{
  display:flex; flex-wrap:wrap; gap:8px; margin-top:8px;
}
	.majinga-z a:hover{
		opacity: 0.6;
	}
@media screen and (max-width: 768px) {	
.copairo {
    display: block;
    align-items: center;
    margin: 0 15px 50px 15px;
}
.siroiro-boxc {
    background: #fff;
    padding: 30px 15px;
	margin:0 15px;
}
.p18 {
    font-size: 15px;
    letter-spacing: 0.5px;
}
.gureiro-boxc {
    background: #9fa0a0;
    padding: 30px 15px;
    color: #fff;
}
.frekusu50 {
    display: grid;
	grid-template-columns: 1fr;
    gap: 30px;
    margin: 30px 0;
}
.majinga-z {
    margin: 60px 15px;
}
.gureiro-boxc {
    background: #9fa0a0;
    padding: 30px 15px;
    color: #fff;
    margin: 0 15px;
}
.rebe-box img {
    max-width: 220px;
    top: -72px;
}
.copairo img {
	display: flex;
    max-width: 120px;
    margin: 0 auto 40px auto;
}
.price-grid {
    display: flex;
    gap: 10px;
}
.search-form {
    display: grid;
    gap: 16px 20px;
    align-items: start;
    margin: 24px 15px;
    background: #fff;
    padding: 40px 10px;
    border: solid 1px #ccc;
    border-radius: 20px;
}
.serekuton-tonton {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}
.card {
    flex: 0 0 290px;
}
.scroll-btn.next {
  position: absolute;
  top: 50%;
	right: -30px;
	font-size: 24px;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0);
  width: 40px;
  height: 40px;
  z-index: 10;
}
.scroll-btn.prev {
  position: absolute;
  top: 50%;
	left: -30px;
	font-size: 24px;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0);
  width: 40px;
  height: 40px;
  z-index: 10;
}
.scroll-btn {
    color: #000;
}
.copairo .ppkjk {
    max-width: 110px !important;
    margin: 0 auto 30px auto;
}
  .sp-only {
    display: block;
  }


.search-toggle-box {
  background: #da8b67;
  color: #fff;
  padding: 15px 20px;
  margin-top: 55px;
  font-size: 18px;
  font-weight: bold;
  cursor: pointer;
  
  display: flex;              /* ← ここ重要！ */
  justify-content: space-between; /* ← 左右に分ける */
  align-items: center;
}
.majiko{
 margin-top: 0px !important;	
}

.search-toggle-box:hover {
  opacity: 0.8;
}

.toggle-label {
  text-align: center;
  flex: 1;
  padding: 0 0 0 14vw;
  letter-spacing: 4px;
}

.toggle-icon {
  font-size: 12px;
  color: #353434 !important;
  background: #fff;
  padding: 2px 15px;
  font-weight: 400;
  border-radius: 20px;
  margin-left: 10px;
  white-space: nowrap;
}

  .search-box {
    display: none; /* 初期は閉じた状態 */
    padding: 16px;
    background: #fff;
    border-top: 2px solid #da8b67;
	background: #da8b67;
	padding:15px;
  }
  .houjyou{
	background: #fff;
	padding:10px;
	border-radius: 20px;
	text-align: center;
  }
  .houjyou select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 100%;
    height: 44px;
    padding: 0 40px 0 12px;
    border-radius: 6px;
    background: #fff;
    color: var(--txt);
    transition: border-color .15s, box-shadow .15s;
    border: 1px solid #ccc;
	margin-bottom:10px;
}
    .houjyou button {
        display: block;
        width: clamp(220px, 41vw, 360px);
        margin: 25px auto 0;
        height: 47px;
        border: none;
        border-radius: 28px;
        background: #926d93;
        color: #fff;
        font-size: 18px;
        font-weight: 700;
        letter-spacing: .08em;
        cursor: pointer;
        transition: background-color .15s, transform .02s;
    }
	}