@charset "UTF-8";


/* ------------------------------------------------------------------------ */

/* 一覧

/* ------------------------------------------------------------------------ */


/*
絞り込み検索css */

.search-box {
	border: 1px solid #000;
    padding: 20px 30px 24px;
	max-width: 1000px;
	margin: 40px auto 0;
	font-family: "Noto Sans JP", sans-serif;
	text-align: center;
}

.search-box h3{
	font-size: 20px;
	font-weight: 600;
	position: relative;
	display: inline-block;
}

.search-box h3::after{
    content: "";
    display: block;
    position: absolute;
    max-width: 54px;
    width: 100%;
    height: 54px;
    background: url(../../common/img/icon/icon_search.png) no-repeat center center / contain;
    transform: translate(-50%, -50%);
    left: -23px;
    top: 20px;
    z-index: -1;
}

.search-box__title {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 20px;
  position: relative;
}

.search-box__form {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.search-box__form option{
	cursor: pointer;
}

.search-box__field {

	font-size: 16px;
	text-align: left;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.search-box__label {
  font-size: 14px;
  font-weight: 600;
  cursor: auto;
}

.search-box__label:hover{
	text-decoration: none;

}

.search-box__input,.search-box__select {
  width: 100%;
  padding: 12px 20px;
  border: 1px solid #aaa;
  color: #000;
  font-size: 14px;
}

.search-box__select{
	appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  background: url("../../common/img/icon/icon_black_select.png") no-repeat right 12px center / 12px auto;
  padding-right: 36px;
}
.search-box__select:hover{
	cursor: pointer;
}
.search-box__field-group {
  display: flex;
  align-items: flex-end;
  gap: 25px;
}
.search-box__field-group .search-box__field{
	max-width: 330px;
	width: 100%;
}

.search-box__button {
	position: relative;
	max-width: 210px;
	width: 100%;
	height: 50px;
	background-color: #0080c0;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

.search-box__button::after{
	position: absolute;
	content: "";
	display: block;
	background: url('../../common/img/icon/icon_white.png') no-repeat center center/cover;
	width: 20px;
	height: 20px;
	right: 20px;
}

.search-box__button:hover {
  opacity: 0.8;
}

.search-box__icon {
  font-size: 14px;
}

.search_flex{
	display: flex;
	justify-content: space-between;
}
.search_flex.bottom{
	margin-top: 8px;
}
.search_flex .search-box__field{
	max-width: 32%;
	width: 100%;
}
.search_flex.bottom .search-box__field{
	max-width: none;
	width: auto;
}
.search_flex.bottom .search-box__field-group{
	max-width: 210px;
	width: 100%;
}
.search_flex.bottom .search-box__field .checkbox-item span{
	font-size: 15px;
	font-weight: 400;
}
.search-checkbox-group{
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
}
.checkbox-item {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  user-select: none;
  font-size: 16px;
}
.checkbox-item input[type="checkbox"] {
  display: none;
}
.checkbox-item span {
  position: relative;
  padding-left: 26px;
}
.checkbox-item span::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
	border: 1px solid #aaa;
  background-color: #fff;
  box-sizing: border-box;
}
.checkbox-item input[type="checkbox"]:checked + span::after {
	content: '';
	position: absolute;
	left: 7px;
	top: 40%;
	transform: translateY(-50%) rotate(45deg);
	width: 10px;
	height: 18px;
	border: solid #0080c0;
	border-width: 0 3px 3px 0;
}
.checkbox-item:hover{
	text-decoration: none;
}

@media (max-width: 960px) {
	.search-box__button{
		max-width: 100%;
	}
}

@media screen and (max-width: 800px){
	section.list{
		margin-top: 40px;
	}
	section.list h2{
		font-size: 22px;
	}
	.search-box h3::after{
		max-width: 50px;
		height: 50px;
		left: -3px;
		top: 18px;
	}
	.search-box{
		max-width: 600px;
		padding: 15px 20px 20px;
		margin: 30px auto 0;
	}
	.search-box h3{
		font-size: 18px;
	}
	.search-box__input, .search-box__select{
		padding: 15px;
	}
	.search-box__field{
		margin-top: 0;
	}
	.search-box__field-group{
		gap: 15px;
		margin-top: 10px;
	}
	.search-box__button{
		font-size: 16px;
		height: 48px;
	}

	.search_flex{
		display: flex;
		justify-content: space-between;
	}
	.search_flex.top{
		margin-top: 10px;
	}
	.search_flex .search-box__field{
		max-width: 32%;
		width: 100%;
		gap: 3px;
	}
	.search_flex.bottom{
		display: block;
		margin-top: 16px;
	}
	.search_flex.bottom .search-box__field-group{
		margin: 30px auto 0;
	}
	.checkbox-item span {
		font-size: 14px;
		padding-left: 26px;
	}
}
@media screen and (max-width: 500px){
	.search_flex.top{
		display: block;
	}
	.search_flex.top .search-box__field{
		max-width: 100%;
	}
	.search_flex.top .search-box__field + .search-box__field{
		margin-top: 16px;
	}
}


/* 絞り込み検索css ここまで */





.result{
	margin-top: 60px;
	margin-bottom: 100px;
}
#BuyPage .result{
	margin-top: 20px;
}

.result-option{
	max-width: 1200px;
	margin: 0 auto 37px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.result-option p{
	font-size: 18px;
	font-weight: 500;
	text-align: left;
	line-height: 1;
	margin-right: 10px;
}

.result-option p span{
	font-size: 26px;
	font-weight: 700;
}

.sort{
	max-width: 180px;
	width: 100%;
	text-align: left;
}

.sort__label{
	font-size: 16px;
	cursor: auto;
}

.sort__label:hover{
	text-decoration: none;
}

.sort__select{
	max-width: 180px;
	width: 100%;
	height: 50px;
	border: 1px solid #ccc;
	color: #000;
	font-size: 15px;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;

	background: url("../../common/img/icon/icon_black_select.png") no-repeat right 12px center / 12px auto;
	padding-right: 36px;
	padding-left: 20px;
}


@media screen and (max-width: 1255px) {
	.result{
		margin-inline: 20px;
	}
}


@media screen and (max-width: 786px){

	.result{
		margin-top: 40px;
		margin-bottom: 50px;
	}

	.result-option{
		flex-direction: column-reverse;
		align-items: center;
		gap: 30px;
		margin-bottom: 20px;
	}

	 .result-option .sort{
	   margin-left: auto;
	 }

	.result-option p{
		margin-right: 0;
		font-size: 16px;
	}

	.result-option p span{
		font-size: 20px;
	}

	.sort__select{
		height: 40px;
	}
}


.tab_wrap{
	margin-top: 60px;
    margin-inline: 20px;
}
.tab_wrap .inner .tab_list{
	display: flex;
	justify-content: center;
	gap: 20px;
}
.tab_wrap .inner .tab_list a{
	display: flex;
	justify-content: center;
	align-items: center;
    padding: 16px 10px;
    background: #0080c0;
    border: 1px solid #0080c0;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    order: -1;
    text-align: center;
    flex: 1;
    position: relative;
    max-width: 230px;
    transition: 0.3s;
}

.tab_wrap .inner .tab_list a:hover,
.tab_wrap .inner .tab_list a.active{
    background: #fff;
    color: #0080c0;
    border-color: #cccccc;
}
.tab_wrap .inner .tab_list a.active::before {
    position: absolute;
    left: calc(50% - 10px);
    bottom: -11px;
    content: "";
    width: 20px;
    height: 20px;
    border-top: solid 1px #cccccc;
    border-right: solid 1px #cccccc;
    transform: rotate(135deg);
    background-color: #fff;
}
@media screen and (max-width: 800px){
	.tab_wrap{
		margin-top: 40px;
	}
	.tab_wrap .inner .tab_list{
		gap: 10px;
	}
	.tab_wrap .inner .tab_list a{
		padding: 10px;
		font-size: 16px;
	}
}
@media screen and (max-width: 500px){
	.tab_wrap .inner .tab_list a{
		font-size: 14px;
	}
}