@charset "utf-8";
/* CSS Document */

  .ad-list__results-list-item-category.category1 {
    background:#4CAF50;
  }
  .ad-list__results-list-item-category.category4 {
    background:#9C27B0;
  }
  .ad-list__results-list-item {
    padding:20px;
  }
.ad-list__results-list-item-locale {
	margin-top: 5px;
  }
.ad-list__results-list-item-caption {
    -webkit-line-clamp:3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    font-size:2.2rem;
	flex-shrink: 0;
	margin-bottom: 0;
	overflow: hidden;
  }
.ad-list__caption{
	font-weight: 500;
	letter-spacing: inherit;
	padding-left: 0;
}
.ad-list__caption::before{
	display: none;
}
.ad-list__results-list-item-box{
	display: flex;
	flex-direction: column;
}

.ad-list__results-list-item {
	display: flex;
}

.ad-list__results-list-item a {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 0;
}

.ad-list__results-list-item-body {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 0;
}

.ad-list__results-list-item-body-bottom {
	margin-top: auto;
}

.ad-list__results-list-item-body-bottom .ad-list__results-list-item-locale {
	position: static;
	bottom: auto;
	left: auto;
}


.scroll-sentinel {
  height: 1px;
  margin-top: 300px;
}
  .ad-list__column--left {
    width:100%;
  }

/* フィルターブロック全体 */
.c-filter__content.-keyword {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 16px;
  margin-bottom: 20px;
}

/* タイトル */
.c-filter__title {
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 12px;
  color: #333;
  border-left: 4px solid #007acc;
  padding-left: 8px;
}

/* 本体 */
.c-filter__body {
  margin-top: 8px;
}

/* キーワード入力 */
.c-filter__keyword input[type="text"] {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 14px;
  margin-bottom: 12px;
  transition: border-color .2s ease;
}

.c-filter__keyword input[type="text"]:focus {
  border-color: #007acc;
  outline: none;
}

/* AND / OR モード */
.c-filter__keyword-mode {
  display: flex;
  gap: 16px;
  font-size: 14px;
}

.c-filter__keyword-mode label {
  display: flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
}

/* 件数 + リセット */
.count-reset {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 12px;
}

.c-filter__count {
  font-size: 14px;
  color: #555;
}

.c-filter__reset button {
  background: #eee;
  border: 1px solid #ccc;
  padding: 6px 12px;
  border-radius: 4px;
  cursor: pointer;
  transition: background .2s ease;
}

.c-filter__reset button:hover {
  background: #ddd;
}

.selected-tax-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 12px 0 16px;
  padding: 0;
  list-style: none;
}

.selected-tax-item {
  background: #eef5ff;
  border: 1px solid #aac8ff;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  color: #003f8c;
  display: flex;
  align-items: center;
  gap: 6px;
}

.tag-remove-btn {
  background: transparent;
  border: none;
  font-size: 14px;
  cursor: pointer;
  color: #003f8c;
  padding: 0;
  line-height: 1;
}

.tag-remove-btn:hover {
  color: #ff3333;
}


/* 選択中タグ + Reset ボタンのラッパー */
.selected-tax-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
}

/* タグの見た目 */
.selected-tax-item {
  padding: 4px 8px;
  background: #eee;
  border-radius: 4px;
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
}

/* タグの × ボタン */
.selected-tax-item .tag-remove-btn {
  border: none;
  background: none;
  cursor: pointer;
  font-size: 14px;
  line-height: 1;
}

/* Reset filters ボタン */
.selected-tax-reset-btn {
  margin-left: auto;
  padding: 4px 10px;
  border: 1px solid #333;
  background: #fff;
  cursor: pointer;
  border-radius: 4px;
  font-size: 13px;
}

.ad-list__results-list-item-category.category3 {
    background:#399bff;
}

/* 地域名のスタイル */
.ad-list__results-list-item-region {
  font-weight: bold;
}

/* 国名リストのスタイル */
.ad-list__results-list-item-countries {
  margin-left: 8px;
  font-size: 0.85em;
  display: inline-block;
}

/* 国名が複数ある場合の区切り文字（カンマ）の後にスペースを入れる設定 */
.ad-list__results-list-item-countries::before {
  content: "|"; /* 記号で区切りたい場合はここを変更（例: "/" や " "） */
  margin-right: 8px;
  color: #ccc;
}

/* 無限スクロールのトリガー用（必要に応じて） */
.js-scroll-trigger {
  height: 50px;
  width: 100%;
  clear: both;
}

@media only screen and (min-width:1200px) {
.ad-list__results-list-item-locale {
	margin-top: 5px;
 }
.ad-list__results-list-item-caption {
	-webkit-line-clamp:4;
	line-clamp: 4;
	flex-shrink: 0;
    line-height:2.4rem;
  }	
}
@media (min-width:900px) and (max-width:1499px) {
  .ad-list__results-list-item {
    padding:calc(var(--vw)*1.66667) calc(var(--vw)*1.33333);
  }
}
@media (min-width:1500px),print {
  .ad-list__results-list-item {
    padding:25px 20px 20px;
  }
}