@charset "utf-8";
/*-------------------------------------------*/
/*	チェックボックス、ラジオボタンのアイコン変更
/*-------------------------------------------*/
input[type="checkbox"],
input[type="radio"] {
	display: none;
}
label {
	color: #777;
	cursor: pointer;
	display: block;
	padding: 0 0 0 1.5em;
	position: relative;
}

input + label::before,
input + label::after {
	position: absolute;
	content: '';
	top: .25em;
	-webkit-transition: all .2s;
	transition: all .2s;
}
#search_industry input + label::after,
#search_industry input + label::before {
	display: none;
}

input + label::before {
	left: 0;
	background: #f3f3f3;
	border: .1rem solid #ccc;
}
input + label:hover::before {
	background: #fff;
}
input + label::after {
	margin-top: .25em;
	opacity: 0;
}
input:checked + label {
	color: #333;
}
input:checked + label::before {
	border-color: #2b7bc9;
}
input:checked + label::after {
	opacity: 1;
}

input[type="checkbox"] + label::before {
	width: .8em;
	height: .8em;
}
input[type="checkbox"] + label::after {
	border-left: .3rem solid #fff;
	border-bottom: .2rem solid #fff;
	height: .4rem;
	left: .15em;
	transform: scale(0) rotate(-45deg);
	width: .8rem;
}

input[type="checkbox"]:checked + label::before {
	background: #2b7bc9;
}
input[type="checkbox"]:checked + label::after {
	transform: scale(1) rotate(-45deg);
}

input[type="radio"] + label::before,
input[type="radio"] + label::after {
	border-radius: 100%;
	height: 1em;
	width: 1em;
}
input[type="radio"] + label::after {
	background: #2b7bc9;
	left: .1rem;
	margin-top: .1rem;
	transform: scale(2);
}
input[type="radio"]:checked + label::before {
	background: #fff;
}
input[type="radio"]:checked + label::after {
	transform: scale(0.6);
}


/*-------------------------------------------*/
/*	検索結果ページ
/*-------------------------------------------*/
#page_search_form {
	margin: 0 auto 1rem auto;
	width: 100%;
}

#page_search_form.search_form input[type="text"] {
	padding-left: .5rem;
	padding-right: .5rem;
	width: 90%;
}
#page_search_form.search_form input[type="submit"] {
	width: 10%;
}
/* 検索数の表示 */
#result_count_disp {
	font-size: 2.0rem;
}
.txt_search_results {
	font-size: 1.4rem;
	margin-bottom: 2rem;
}

/*	検索ボタン
/*-------------------------------------------*/
.top_search_submit {
	background-color: #fff;
	padding: 2rem 0;
	text-align: center;
}
#search_other:not(.box_search) .top_search_submit {
	background-color: #fff;
	margin-top: .1rem;
}
#search_other.box_search .top_search_submit {
	border-top: .1rem solid #2b7bc9;
}
.top_search_submit input {
	-webkit-appearance: none;
	border: 2px solid;
	border-radius: 1rem;
	box-shadow: 0 2px 3px #205992;
	display: block;
	font-weight: 700;
	padding: .5em 1em;
}

.top_search_submit input[type="reset"] {
	border-color: #fff;
	background: #2c7bca;
	color: #fff;
	margin: 0 auto 3rem;
}
.top_search_submit input[type="reset"]:hover {
	background: #fff;
	color: #388ad6;
}

.top_search_submit input[type="submit"] {
	border-color:#f0f5ff;
	background: #f0f5ff;
	margin: 0 auto;
}
#search_other .top_search_submit input[type="submit"] {
	border-color: #2c7bca;
}
.top_search_submit input[type="submit"]:hover {
	border-color: #fff;
	background: #2c7bca;
	color: #fff;
}

/*	その他の検索方法
/*-------------------------------------------*/
#search_other .so_layout.inn_search_box {
	margin-bottom: 0;
	max-width: 100%;
}

.box_search.search_box {
	background-color: #f0f5ff;
	border: .2rem solid #2b7bc9;
	margin-bottom: 4rem;
}

.so_layout {
	max-width: 94rem;
}

.so_layout dl {
	box-sizing: border-box;
	display: block;
	margin: 0;
	padding: 2rem 2rem;
	position: relative;
	width: 100%;
}
.so_layout dl:not(.so_how) {
	border-top: 1px solid #3a89d8;
}

.so_layout dt {
	color: #3a89d8;
	font-weight: 700;
	margin: 0 0 1rem 0;
}
.so_layout dd {
	box-sizing: border-box;
	margin: 0;
	overflow: hidden;
}

a.search_select {
	background-color: #2c7bca;
	border: 1px solid #2c7bca;
	border-radius: 1em;
	box-shadow: 0 1px 1px #caddee;
	box-sizing: border-box;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-size: 1.6rem;
	height: 2em;
	line-height: 2em;
	padding: 0 1em;
	text-align: center;
	text-decoration: none;
}
a.search_select:hover {
	background-color: #f0f5ff;
	color: #333;
	text-decoration: none;
}

.so_size_list li:not(:first-child) {
	margin: 1.5rem 0 0 0;
}

.so_size_list li {
	display: block;
}
.selected_items li {
	display: block;
}
#search_other .selected_items li {
	margin: 1rem 0 0 0;
}
#area_refine .selected_items li {
	margin: 0 0 1rem 0;
}
#area_refine .size_classification li:not(:last-child) {
	margin-bottom: 1rem;
}

.remodal_inn {
	text-align: left;
}

.remodal_inn p {
	text-align: center;
}

.remodal strong {
	display: block;
	font-size: 2.4rem;
}

.list_class_object,
.list_class_object dt,
.list_class_object dd,
.list_classification,
.list_classification ul,
.list_classification li {
	display: block;
}
.list_class_object {
	margin: 1.5rem 0 4rem 0;
}
.list_class_object dt {
	background-color: #2b7bc9;
	color: #fff;
	font-weight: 700;
	text-align: center;
}
.list_class_object dd,
.list_classification ul,
.list_classification > li {
	margin: 0;
}
.list_classification {
	margin: 0 0 4rem 0;
}
.list_classification > li:not(:last-child) {
	margin-bottom: 2rem;
}
.list_classification > li {
	padding-left: 1rem;
}
.list_classification > li:nth-child(odd) {
	background: #fafafa;
	padding-bottom: 1.5rem;
	padding-top: 1.5rem;
}
.list_classification dl {
	margin: 0;
}
.list_classification dt {
}
.list_classification dd {
	margin: 1.5rem 0 0 2em;
}
.select_list.select_tests li:last-child {
	margin-bottom: 0;
}

.select_list {
	display: block;
	margin: 2rem 0;
}
.select_list li  {
	box-sizing: border-box;
	display: block;
	margin: 0 0 1.5rem 0;
}

.list_location > li:not(:first-child) {
	margin-top: 2rem;
}
.re_location .select_list  {
	margin: 0;
}


/* Remodal */
/* Default theme styles for the background */
.remodal-bg.remodal-is-opening,
.remodal-bg.remodal-is-opened {
  filter: blur(3px);
}

/* Default theme styles of the overlay */

.remodal-overlay {
  background: rgba(43, 46, 56, 0.9);
}

.remodal-overlay.remodal-is-opening,
.remodal-overlay.remodal-is-closing {
  animation-duration: 0.3s;
  animation-fill-mode: forwards;
}

.remodal-overlay.remodal-is-opening {
  animation-name: remodal-overlay-opening-keyframes;
}

.remodal-overlay.remodal-is-closing {
  animation-name: remodal-overlay-closing-keyframes;
}

/* Default theme styles of the wrapper */

.remodal-wrapper {
  padding: 10px 10px 0;
}

/* Default theme styles of the modal dialog */

.remodal {
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 10px;
  padding: 35px;

  transform: translate3d(0, 0, 0);

  color: #2b2e38;
  background: #fff;
}

.remodal.remodal-is-opening,
.remodal.remodal-is-closing {
  animation-duration: 0.3s;
  animation-fill-mode: forwards;
}

.remodal.remodal-is-opening {
  animation-name: remodal-opening-keyframes;
}

.remodal.remodal-is-closing {
  animation-name: remodal-closing-keyframes;
}

/* Vertical align of the modal dialog */

.remodal,
.remodal-wrapper:after {
  vertical-align: middle;
}

/* Close button */

.remodal-close {
  position: absolute;
  top: 0;
  right: 0;

  display: block;
  overflow: visible;

	width: 8rem;
	height: 8rem;
  margin: 0;
  padding: 0;

  cursor: pointer;
  transition: color 0.2s;
  text-decoration: none;

  color: #95979c;
  border: 0;
  outline: 0;
  background: transparent;
}

.remodal-close:hover,
.remodal-close:focus {
  color: #2b2e38;
}

.remodal-close:before {
	font-size: 4.8rem;
	line-height: 1.6;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 8rem;
	content: "\00d7";
	text-align: center;
}

/* Dialog buttons */
.remodal-confirm,
.remodal-cancel {
  font: inherit;

  display: inline-block;
  overflow: visible;

  min-width: 110px;
  margin: 0;

  cursor: pointer;
  transition: background 0.2s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;

  border: 0;
  outline: 0;
}

.remodal-confirm {
	background: #f0f5ff;
	border: 1px solid #2c7bca;
	border-radius: 1rem;
	padding: 0 1em;
}

.remodal-confirm:hover,
.remodal-confirm:focus {
	background: #2c7bca;
	color: #fff;
}

.remodal-cancel {
	color: #fff;
	background: #e57373;
	padding: 0;
}

.remodal-cancel:hover,
.remodal-cancel:focus {
  background: #ef5350;
}

/* Remove inner padding and border in Firefox 4+ for the button tag. */

.remodal-confirm::-moz-focus-inner,
.remodal-cancel::-moz-focus-inner,
.remodal-close::-moz-focus-inner {
  padding: 0;

  border: 0;
}

/* Keyframes */
@keyframes remodal-opening-keyframes {
  from {
    transform: scale(1.05);

    opacity: 0;
  }
  to {
    transform: none;

    opacity: 1;

    filter: blur(0);
  }
}

@keyframes remodal-closing-keyframes {
  from {
    transform: scale(1);

    opacity: 1;
  }
  to {
    transform: scale(0.95);

    opacity: 0;

    filter: blur(0);
  }
}

@keyframes remodal-overlay-opening-keyframes {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes remodal-overlay-closing-keyframes {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}


/*-------------------------------------------*/
/*	絞り込み検索
/*-------------------------------------------*/
.box_search_column {
}

#area_refine {
	padding-bottom: 4rem;
}

#area_refine dl,
#area_refine dt,
#area_refine dd,
.refine_icon {
	margin: 0;
}

#area_refine dl {
	border-bottom: 1px solid #3a89d8;
}

.accordion dl dt {
	text-indent: 0;
}
dd.accordion_inn,
.refine_box {
	padding: 1rem;
}

.refine_icon.active {
	color: #3a89d8;
	background-color: #ecf6ff;
}
.refine_icon.all_refine {
	border-top: none;
}
.refine_icon.all_refine::after {
	border-left: .8em solid #3a89d8;
	transform: rotate(90deg);
}
.refine_icon.all_refine.active {
	color: #fff;
	background-color: #3a89d8;
}
.refine_icon.all_refine.active::after {
	border-left-color: #fff;
	transform: rotate(0deg);
}

/*	詳細検索の各項目
/*-------------------------------------------*/
.refine_list {
	overflow: hidden;
}
.refine_list li {
	margin: 0 0 2rem 0;
}

.size_class {
	display: block;
	font-weight: 700;
	padding: .5rem 0;
}
.size_classification li:not(:first-child) .size_class {
	border-top: .1rem dashed #ccc;
}

/*	アイコン変更
/*-------------------------------------------*/
.btn_refine,
.btn_refine input[type="submit"],
.btn_refine input[type="reset"] {
	margin: 0 auto;
}
.btn_refine {
	padding: 3rem 0;
}
.btn_refine input[type="submit"] {
	-webkit-appearance: none;
	background: #3989d7;
	border: 0;
	border-radius: .5rem;
	box-sizing: border-box;
	color: #fff;
	display: block;
	font-size: 2.4rem;
	padding: .5rem 1.5rem;
}
.btn_refine input[type="reset"] {
	-webkit-appearance: none;
	background: #f0f5ff;
	border: 0;
	border-radius: .5rem;
	box-shadow: 1px 0 0 #3989d7 inset, 0 1px 0 #3989d7 inset,
				-1px 0 0 #3989d7 inset, 0 -1px 0 #3989d7 inset;
	box-sizing: border-box;
	color: #3989d7;
	display: block;
	font-size: 2.4rem;
	padding: .5rem 1.5rem;
}

.btn_refine input[type="submit"]:hover {
	background: #f0f5ff;
	box-shadow: 1px 0 0 #3989d7 inset, 0 1px 0 #3989d7 inset,
				-1px 0 0 #3989d7 inset, 0 -1px 0 #3989d7 inset;
	color: #333;
	font-weight: 700;
}

.btn_refine input[type="reset"]:hover {
	background: #3989d7;
	color: #fff;
	font-weight: 700;
}

/*	特設ページ誘導
/*-------------------------------------------*/
a.special_page,
.spcl_img,
.spcl_txt {
	display: block;
}
a.special_page {
	border: .2rem solid #2b7bc9;
	box-sizing: border-box;
	margin-bottom: 4rem;
	overflow: hidden;
	padding: 1rem;
}
.spcl_img {
	background: #fff;
	border: .1rem solid #ddd;
	height: 10rem;
	margin: 0 auto 1rem auto;
	overflow: hidden;
	position: relative;
	width: 12rem;
}
.spcl_img img {
	height: auto;
	left: 50%;
	max-height: 10rem;
	max-width: 12rem;
	position: absolute;
	top: 50%;
	transform: translate3d(-50%, -50%, 0);
	width: auto;
}
a.special_page:hover {
	background: #ecf6ff;
	text-decoration: none;
}
a.special_page:hover .spcl_img img {
	opacity: .7;
}
.spcl_txt,
.spcl_txt dt,
.spcl_txt dd {
	margin: 0;
}
.spcl_txt dt,
.spcl_txt dd p {
	color: #333;
}
.spcl_txt dt {
	font-weight: 700;
}
.spcl_txt dd p {
	margin: .5rem 0;
}

.spcl_txt dd span {
	background-color: #f1f5ff;
	border: 1px solid #2c7bca;
	border-radius: 1rem;
	display: inline-block;
	line-height: 1.8em;
	height: 1.8em;
	padding: 0 1em;
	text-decoration: none;
}


/*-------------------------------------------*/
/*	Responsive Structure
/*-------------------------------------------*/

/* スマホ縦サイズ
/*-------------------------------------------*/
@media screen and (min-width: 480px) {
	.spcl_img {
		float: left;
		margin: 0 2.5rem 0 0;
	}
	.spcl_txt dd {
		font-size: 1.2rem;
	}
	.btn_refine {
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
		margin: 0 1.5rem;
		max-width: 30rem;
	}
	.btn_refine input[type="submit"],
	.btn_refine input[type="reset"] {
		margin: 0;
	}
}

@media screen and (max-width: 479px) {
	.btn_refine li {
		text-align: center;
	}
	.btn_refine li:first-child {
		margin-bottom: 3rem;
	}
	.btn_refine input[type="submit"],
	.btn_refine input[type="reset"] {
		max-width: 30rem;
		width: 80%;
	}
}

@media screen and (max-width: 769px) {
	.so_layout dl:not(.so_size):not(.so_weight) dd {
		display: flex;
		flex-direction: column-reverse;
	}
	.so_layout .selected_items ul {
		margin: 0 0 2rem 0;
	}
}

/* pc iPad3より大きい場合
/*-------------------------------------------*/
@media screen and (min-width: 770px) {
	.top_search_submit {
		background-color: transparent;
	}
	.top_search_submit input {
		display: inline-block;
	}

	.top_search_submit input[type="reset"] {
		margin: 0 3em 0 0;
	}
	.top_search_submit input[type="submit"] {
		margin: 0;
	}

	.so_layout {
		display: flex;
		flex-wrap: wrap;
	}
	.so_layout dl {
		display: flex;
	}
	.so_layout dt,
	.so_layout dd {
		vertical-align: text-top;
	}
	.so_layout dt {
		flex-grow: 0;
		flex-shrink: 0;
		margin: 0;
		width: 11.5em;
	}
	.so_layout dd {
		flex-grow: 1;
		flex-shrink: 1;
	}
	.search_select_btn {
		margin: 0;
	}
	#search_other .search_select_btn {
		float: left;
	}
	a.search_select {
		border-radius: 1.3rem;
		height: 2.6rem;
		line-height: 2.6rem;
		margin-right: 3rem;
		position: relative;
		right: auto;
		top: auto;
		width: 10rem;
	}
	#search_other a.search_select {
		margin-right: 3rem;
	}
	a.search_select.select_refine {
		margin: 0 auto;
		padding: 0 1em;
		width: auto;
	}
	#search_other .selected_items {
		margin: 0 0 0 9.5em;
	}
	#search_other .selected_items li {
		display: inline-block;
		margin: 0 2rem .5rem 0;
	}
	.select_list:not(.select_tests) {
		display: flex;
		flex-wrap: wrap;
	}
	.select_list:not(.select_tests) li  {
		margin: 0 0 1.5rem 0;
		min-width: 33%;
		padding-right: 2rem;
		white-space: nowrap;
	}
	#product_interest .select_list li {
		min-width: 35%;
	}
	#product_interest .select_list li:nth-child(3n-1) {
		min-width: 26%;
	}
	#product_interest .select_list li:nth-child(3n) {
		min-width: 39%;
	}
	.select_list.list_so_how li {
		min-width: 50%;
	}
	.list_location > li:not(:first-child) {
		margin-top: 2rem;
	}
	.re_location .select_list {
		margin: 0;
	}
	.re_location .select_list li {
		min-width: 20%;
	}

	.remodal {
		max-width: 90rem;
	}
	.remodal strong {
		display: inline-block;
		margin-right: 1rem;
	}

	#page_search_form.search_form input[type="text"] {
		width: 70%;
	}

	.btn_refine input[type="submit"] {
		font-size: 1.6rem;
	}

	.btn_refine input[type="reset"] {
		font-size: 1.6rem;
	}

}

@media screen and (min-width: 770px) and (max-width: 959px) {
	.refine_list {
		display: flex;
		flex-wrap: wrap;
	}
	.refine_list li {
		width: 50%;
	}
}

/*	フルサイズ（BizVektor）
/*-------------------------------------------*/
@media screen and (min-width: 960px) {
	.box_search_column {
		display: flex;
		justify-content: space-between;
	}
	.list_search_box {
		order: 1;
		width: 70%;
	}
	#area_refine {
		order: 0;
		width: 25%;
	}

	.so_size_list li {
		display: inline-block;
	}
	.so_size_list li:not(:first-child) {
		margin: 0 0 0 1.5em;
	}

	.list_classification dl {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.list_classification dt,
	.list_classification dd {
		box-sizing: border-box;
	}
	.list_classification dt {
		width: 40%;
	}
	.list_classification dd {
		margin: 0;
		width: 60%;
	}

	.refine_list li {
		margin: 0 0 1rem 0;
	}

}
