/*大まかなレイアウト*/
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

.clearfix::before {
	content: "";
	display: block;
	clear: both;
}

.clearfix {
	display: block;
}

.csf-send-ui {
	position: relative;
}

/* selectボックスの表示CSS */
.csf-choice-ui select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.csf-wrap .multi-select-button {

	/*font-size:0.6em;*/
	display: block;
	width: 100%;
	height: 100%;
	text-align: center;
	padding-top: 3px;
	cursor: pointer;
}

.csf-choice-ui li {
	position: relative;
}

.csf-choice-ui li::after {
	content: "";
	display: inline-block;
	width: 4px;
	height: 4px;
	margin: 0 6px 0 0;
	border-bottom: 2px solid #000;
	border-right: 2px solid #000;
	transform: rotate(45deg);

	/*float: right;*/
	position: absolute;

	/*top: 5%;*/
	right: -1px;
	bottom: 50%;
}

/*検索条件部分のCSS*/
.post .csf-wrap ul {
	list-style: none;
	padding: 0 !important;
	margin: 0 !important;
	width: 100%;
}

.post ul li {
	padding-bottom: 4px !important;
}

.post ul li:last-child {
	padding-bottom: 6px !important;
}

.csf-wrap li {
	display: table-cell;
	vertical-align: middle;
	word-wrap: break-word;
	height: 100%;
}

.csf-wrap li div,
.csf-wrap li p {
	width: 100%;
	margin: 0;
}

.csf-wrap li select {
	width: 100%;
	height: 100%;
	border: none;
	background: transparent;
	text-align: center;
	cursor: pointer;
}

.csf-wrap div.csf-multi-select-title {
	text-align: center;
	padding-top: 10px;
	display: none;
}

.range-menu {
	padding: 10px 7px 10px 7px;
	text-align: center;
}

/*検索ボタン部分のCSS*/
.csf-send-ui input,
.csf-send-ui button {
	width: 100%;
	margin: 0 1.5% 1.8% 0;
}

.csf-send-ui p {
	margin: 0;
}

.pre-load-counter {
	border: 2px solid #000;
	color: #000;
	display: inline-block;
	font-size: 0.8em;
	padding: 0 7px;
	position: relative;
	white-space: nowrap;
	margin-bottom: 6px;
	min-width: 3em;
}

.pre-load-counter::before,
.pre-load-counter::after {
	content: "";
	position: absolute;
	border: 12px solid transparent;
	top: 100%;
	left: 30%;
}

.pre-load-counter::before {
	border-top: 12px solid #000;
}

.pre-load-counter::after {
	margin-top: -4px;
	border-top: 14px solid #fff;
}

.clearfix.csf-wrap {
	box-shadow: transparent 0 0 0 3px, rgb(18 18 18 / 12%) 0 5px 7px;
	box-sizing: border-box;
	height: 38px;
	background: #f5f5f5;
}

.csf-send-ui input#searchsubmit {
	background: #0095ff;
	border-radius: 3px;
	border: 1px solid transparent;
	box-shadow: rgb(255 255 255 / 40%) 0 1px 0 0 inset;
	box-sizing: border-box;
	color: #fff;
	cursor: pointer;
	font-size: 1.15em;
	font-weight: 900;
	letter-spacing: 0.4em;
	line-height: 2.2em;
	margin-left: 5px;
	padding-left: 17px;
}

.csf-send-ui input#searchsubmit:hover {
	background: #29a6ff;
}

.csf-send-ui::after {
	content: "";
	-webkit-mask: url(../images/search.svg);
	mask: url(../images/search.svg);
	-webkit-mask-size: cover;
	mask-size: cover;
	position: absolute;
	background-color: #fff;
	display: inline-block;
	height: 20px;
	margin-top: -10px;
	right: 0;
	top: 50%;
	vertical-align: middle;
	width: 22px;
	transform: scale(0.7);
	cursor: pointer;
}

/* PCサイズ */
@media only screen and (min-width: 481px) {

	.csf-choice-ui {
		background: #f5f5f5;
		border-radius: 3px;
	}

	.csf-wrap {
		display: flex;
		align-items: flex-end;
	}

	.csf-choice-ui {
		width: 85%;
		float: left;
	}

	.csf-send-ui {
		width: 15%;
		float: right;
		bottom: -2px;
	}

	.csf-wrap h3 {
		font-size: 24px;
	}

	.csf-wrap ul {
		display: table;
		table-layout: fixed;
	}

	.csf-wrap li:not(:last-child) {
		border-right: 1px solid #ccc;
	}

	.csf-wrap .multi-select-button {
		padding-top: 3px;
	}

	.csf-wrap .multi-select-button::after {
		top: 12px;
	}

	.csf-wrap li select {
		padding: 0 18px 0 10px;
	}

	.pre-load-counter {
		position: absolute;
		top: -3em;
		left: 0;
	}

	form#csf-searchform {
		margin-bottom: 10px;
	}
}

/* スマホサイズ */
@media only screen and (max-width: 480px) {

	.clearfix.csf-wrap {
		box-shadow: none;
		box-sizing: unset;
		height: 0;
		background: none;
	}

	.csf-wrap li:nth-child(2n+1) {
		clear: both;
	}

	.csf-wrap h3 {
		font-size: 16px;
	}

	.csf-wrap li {
		width: 46.5%;
		margin: 4px;
		background: #f5f5f5;
		border-radius: 5px;
		padding-top: 6px;
		border: 1px solid transparent;
		box-shadow: rgb(255 255 255 / 40%) 0 1px 0 0 inset;
		display: inline-block;
	}

	.csf-wrap .multi-select-button {
		text-align: left;
		padding-top: 6px;
		padding-left: 8%;
	}

	.csf-wrap li select {
		text-align: left;
		height: 2.5em;
		padding-left: 8%;
	}

	.multi-select-container.csf-style {
		height: 2.5em;
	}

	.pre-load-counter {
		display: block;
		border: 2px solid #b5b5b5;
		font-size: 0.9em;
		margin-bottom: 13px;
		min-width: 3em;
	}

	.pre-load-counter::before,
	.pre-load-counter::after {
		left: 46%;
	}

	.pre-load-counter::before {
		border-top: 12px solid #b5b5b5;
	}

	.csf-send-ui {
		margin-top: 10px;
	}

	.csf-send-ui input#searchsubmit {
		margin-left: 0;
		padding-left: 30px;
	}

	.csf-send-ui::after {
		margin-top: 6px;
		margin-right: 6px;
	}

	.csf-choice-ui h3 {
		text-align: center;
	}

	.csf-choice-ui li::after {
		margin-right: 12px;
	}

	.post ul li:last-child {
		padding-bottom: 5px !important;
	}

	form#csf-searchform {
		display: inline-block;
		width: 100%;
		text-align: center;
		margin-bottom: 1em;
	}
}
