@charset "utf-8";

/*============================
ヘッダー（検索のみ）
============================*/
.under_header {
  background-color: #F2EFE3;
  padding-bottom: 1.00rem;
}

@media screen and (max-width: 640px) {
  .under_header {
    padding-bottom: 0.30rem;
  }
}

.under_header .in {
  max-width: 9.40rem;
}

.under_header .in::before {
  width: 1.58rem;
  height: 1.12rem;
  background-image: url(../img/partners/search_header_cloud.svg);
  left: -0.20rem;
}

@media screen and (max-width: 640px) {
  .under_header .in::before {
    width: 0.98rem;
    height: 0.72rem;
    background-image: url(../img/partners/search_header_cloud.svg);
    left: -0.40rem;
    top: -0.30rem;
  }
}

.under_header .in::after {
  content: none;
}

.under_header .page_title_wrap {
  padding-bottom: 0.55rem;
  padding-top: 1.00rem;
}

@media screen and (max-width: 640px) {
  .under_header .page_title_wrap {
    padding-bottom: 0.40rem;
    padding-top: 0.30rem;
  }
}

/* イラスト */
.under_header .page_title_wrap::after {
	content: '';
	width: 2.40rem;
	height: 1.93rem;
	background-image: url(../img/partners/search_header_deco.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	position: absolute;
	top: 0.60rem;
	right: 0.60rem;
	z-index:0;
}

@media screen and (max-width: 640px) {
  .under_header .page_title_wrap::after {
    width: 1.07rem;
    height: 0.82rem;
    top: 0.40rem;
    right: 0.15rem;
  }
}

/*============================
検索モジュール
============================*/
.search_mod_wrap {
  position: relative;
  z-index: 1;
}

.search_mod_wrap .search_box {
  background-color: #FFF;
  border-radius: 0.15rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 0 0.20rem;
  margin-bottom: 0.10rem;
}

@media screen and (max-width: 640px) {
  .search_mod_wrap .search_box {
    border-radius: 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0 0.175rem;
    margin-bottom: 0;
  }
  .search_mod_wrap .search_box:first-child {
    border-radius: 0.10rem 0.10rem 0 0;
    padding-top: 0.10rem;
  }
}

.search_mod_wrap .search_box .search_title {
  width: 100%;
  max-width: 1.70rem;
  padding: 0.25rem 0;
  font-size: 0.18rem;
  font-weight: 700;
}

@media screen and (max-width: 640px) {
  .search_mod_wrap .search_box .search_title {
    max-width: 100%;
    padding: 0.25rem 0 0.10rem;
    font-size: 0.13rem;
  }
}

/* アコーディオン用 */
.search_mod_wrap .search_box.acc .search_title {
  cursor: pointer;
  position: relative;
}

.search_mod_wrap .search_box.acc .search_title span::after {
  content: "";
  display: inline-block;
  width: 0.19rem;
  height: 0.19rem;
  margin-left: 0.10rem;
  background-image: url(../img/partners/acc_close.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: relative;
  top: 0.02rem;
}

@media screen and (max-width: 640px) {
  .search_mod_wrap .search_box.acc .search_title span::after {
    display: block;
    width: 0.18rem;
    height: 0.18rem;
    margin-left: 0;
    position: absolute;
    right: 0;
    top: 0.18rem;
  }
}

.search_mod_wrap .search_box.acc .search_title.close span::after {
  background-image: url(../img/partners/acc_open.svg);
}

.search_mod_wrap .search_box .search_textbox {
  width: 100%;
  max-width: 6.10rem;
  position: relative;
}

/* 自由入力 */
.search_mod_wrap .search_box .search_textbox .free_text {
  width: 100%;
  max-width: 4.00rem;
  padding: 0.17rem 0;
  position: relative;
}

@media screen and (max-width: 640px) {
  .search_mod_wrap .search_box .search_textbox .free_text {
    max-width: 100%;
    padding: 0.17rem 0 0;
  }
}

.search_mod_wrap .search_box .search_textbox .free_text input[type="text"] {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 0.10rem 0.20rem;
  border: 2px solid #000;
  border-radius: 0.30rem;
  background-color: #FFF;
}

.search_mod_wrap .search_box .search_textbox .free_text .submit_btn_wrap {
  width: 0.29rem;
  height: 0.29rem;
  position: absolute;
  top: 0.22rem;
  right: 0.06rem;
  z-index: 0;
}

.search_mod_wrap .search_box .search_textbox .free_text .submit_btn_wrap input[type="submit"] {
  display: block;
  width: 0.29rem;
  height: 0.29rem;
  border: 0;
  border-radius: 0.29rem;
  background-origin: 0;
  background-image: url(../img/common/icon_search.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  text-indent: -9999px;
  cursor: pointer;
}

/* チェックボックス */
.search_mod_wrap .search_box .search_textbox .check_list {
  padding: 0.25rem 0 0.10rem;
  display: flex;
  flex-wrap: wrap;
}

@media screen and (max-width: 640px) {
  .search_mod_wrap .search_box .search_textbox .check_list {
    padding: 0;
  }
}

.search_mod_wrap .search_box .search_textbox .check_list .list {
  width: 33.3%;
  font-size: 0.15rem;
  font-weight: 500;
  padding-bottom: 0.15rem;
}

@media screen and (max-width: 640px) {
  .search_mod_wrap .search_box .search_textbox .check_list .list {
    width: 50%;
    font-size: 0.14rem;
  }
}

.search_mod_wrap .search_box .search_textbox .check_list .list span {
  cursor: pointer;
}

.search_mod_wrap .search_box .search_textbox .check_list .list span::before {
  content: "";
  width: 0.26rem;
  height: 0.16rem;
  display: inline-block;
  background-image: url(../img/partners/serch_check_off.svg);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: contain;
  position: relative;
  top: 0.03rem;
}

.search_mod_wrap .search_box .search_textbox .check_list .list span.on::before {
  background-image: url(../img/partners/serch_check_on.svg);
}

.search_mod_wrap .search_box .search_textbox .check_list label {
  width: 33.3%;
  font-size: 0.15rem;
  font-weight: 500;
  padding-bottom: 0.15rem;
}

@media screen and (max-width: 640px) {
  .search_mod_wrap .search_box .search_textbox .check_list label {
    font-size: 0.12rem;
    padding-bottom: 0.07rem;
    letter-spacing: 0;
  }
  .search_mod_wrap .search_box .search_textbox .check_list.sp_col2 label {
    width: 50%;
  }
}

.search_mod_wrap .search_box .search_textbox .check_list label.wide {
  width: 55%;
}

@media screen and (max-width: 640px) {
  .search_mod_wrap .search_box .search_textbox .check_list label.wide {
    width: 100%;
  }
}

.search_mod_wrap .search_box .search_textbox .check_list label.mid {
  width: 45%;
}

@media screen and (max-width: 640px) {
  .search_mod_wrap .search_box .search_textbox .check_list label.mid {
    width: 100%;
  }
}

.search_mod_wrap .search_box .search_textbox .check_list label input {
  position: relative;
  top: -0.01rem;
}

.search_mod_wrap .search_box .search_textbox .check_list label span {
  display: inline-block;
  padding-left: 0.05rem;
}

@media screen and (max-width: 640px) {
  .search_mod_wrap .search_box .search_textbox .check_list label span {
    padding-left: 0;
  }
}

/* セレクトリスト */
.search_mod_wrap .search_box .search_textbox .select_list {
  padding: 0.17rem 0;
  width: 100%;
  max-width: 4.00rem;
  position: relative;
}

.search_mod_wrap .search_box .search_textbox .select_list span {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 0.10rem 0.20rem;
  border: 2px solid #000;
  border-radius: 0.30rem;
  position: relative;
  text-align: center;
  font-size: 0.14rem;
  color: #666;
  cursor: pointer;
  background-color: #FFF;
  z-index: 1;
}

.search_mod_wrap .search_box .search_textbox .select_list span::after {
  content: "";
  width: 0.12rem;
  height: 0.08rem;
  background-image: url(../img/partners/select_list_icon.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 0.20rem;
  transform: translateY(-50%);
}

.search_mod_wrap .search_box .search_textbox .select_list .selected span {
  color: #000;
}

.search_mod_wrap .search_box .search_textbox .select_list select {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  opacity: 0;
  z-index: 1;
  padding: 0.10rem 0;
  cursor: pointer;
}

/* 検索ボタン */
@media screen and (max-width: 640px) {
  .search_mod_wrap .search_btn_wrap {
    padding: 0.10rem 0 0.20rem;
    border-radius: 0 0 0.10rem 0.10rem;
    width: 100%;
    max-width: 100%;
    background-color: #fff;
  }
}

.search_mod_wrap .search_btn {
  padding-top: 0.40rem;
  width: 100%;
  max-width: 3.60rem;
  margin: auto;
}

@media screen and (max-width: 640px) {
  .search_mod_wrap .search_btn {
    padding: 0;
    max-width: 2.25rem;
    position: relative;
  }
}

.search_mod_wrap .search_btn .submit_btn {
  display: block;
  width: 100%;
  line-height: 0;
  border: 0;
  background-color: #EA6E00;
  border-radius: 0.40rem;
  padding: 0.30rem 0;
  text-align: center;
  color: #FFF;
  font-size: 0.20rem;
  font-weight: 700;
  position: relative;
  transition: all 0.3s;
  cursor: pointer;
  display: none; /* 2023.9.1 一旦非表示 */
}

@media screen and (max-width: 640px) {
  .search_mod_wrap .search_btn .submit_btn {
    padding: 0.22rem 0;
    font-size: 0.12rem;
    margin: auto;
  }
}

.search_mod_wrap .search_btn .submit_btn:hover {
  opacity: 0.7;
}

.search_mod_wrap .search_btn .icon_arrow {
  width: 0.06rem;
  height: 0.9rem;
  background-image: url(../img/common/link_arrow_right_white.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 0.10rem;
  top: 50%;
  transform: translateY(-50%);
}

/*============================
業者一覧
============================*/
/* イラスト非表示 */
.partner::before {
  content: none;
}

.partner .area_search_title {
  display: none;
}

.partner .partner_list_wrap .list .detail {
  padding-bottom: 1.00rem;
}

@media screen and (max-width: 640px) {
  .partner .partner_list_wrap .list .detail {
		padding-bottom: 0.30rem;
	}
  .partner .partner_list_wrap .list .detail::before,
  .partner .partner_list_wrap .list .detail::after {
    content: none;
  }
}


/* エリア表示の場合 */
.partner .sec_title_wrap .sec_title.area {
  padding-bottom: 0.25rem;
}

.partner .sec_title_wrap .sec_title.area .jp_text {
  font-size: 0.30rem;
  display: inline-block;
  border-bottom: 1px solid #EA6E00;
  padding-bottom: 0.10rem;
}

@media screen and (max-width: 640px) {
  .partner .sec_title_wrap .sec_title.area .jp_text {
    font-size: 0.20rem;
    letter-spacing: 0.05em;
  }
}

.partner .sec_title_wrap .select_cat_wrap {
  font-size: 0.18rem;
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-weight: 500;
  color: #EA6E00;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.partner .sec_title_wrap .select_cat_wrap span {
  display: block;
  padding-bottom: 0.05rem;
  border-bottom: 1px solid #EA6E00;
  margin: 0.10rem;
  display: none;
}

@media screen and (max-width: 640px) {
  .partner .sec_title_wrap .sec_title.area .jp_text strong {
    padding-right: 0;
    display: block;
    padding-bottom: 0.08rem;
  }
}

/* 検索結果の件数 */
.partner .results_num {
  text-align: center;
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-size: 0.20rem;
  letter-spacing: 0.08em;
  padding: 0.20rem 0;
}

@media screen and (max-width: 640px) {
  .partner .results_num {
    font-size: 0.12rem;
  }
}

.partner .results_num span {
  font-size: 0.30rem;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 640px) {
  .partner .results_num span {
    font-size: 0.20rem;
  }
}

/*============================
下部の検索パネル
============================*/
.bottom_search {
  border: 2px solid #000;
  border-radius: 0.15rem;
  max-width: 11.00rem;
  margin: auto;
  padding-bottom: 0.70rem;
  margin-bottom: 0.70rem;
}

@media screen and (max-width: 640px) {
  .bottom_search {
    border: 0;
    padding-bottom: 0.30rem;
    margin-bottom: 0;
  }
}

.bottom_search .page_title_wrap {
	padding-top: 0.70rem;
  padding-bottom: 0.55rem;
	text-align: center;
	font-family: 'M PLUS Rounded 1c', sans-serif;
}

@media screen and (max-width: 640px) {
	.bottom_search .page_title_wrap {
		display: none;
	}
}

.bottom_search .page_title_wrap .title {
	font-size: 0.38rem;
	letter-spacing: 0.10em;
}

@media screen and (max-width: 640px) {
	.bottom_search .page_title_wrap .title {
		font-size: 0.21rem;
	}
}

/* 検索アイコン付き */
.bottom_search .page_title_wrap .title.search_icon span::before {
	content: "";
	width: 0.44rem;
	height: 0.44rem;
	display: inline-block;
	background-image: url(../img/common/icon_search.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	position: relative;
	margin-right: 0.15rem;
	top: 0.10rem;
}

.bottom_search .page_title_wrap .en_text {
	font-size: 0.18rem;
	padding-top: 0.20rem;
}

@media screen and (max-width: 640px) {
	.bottom_search .page_title_wrap .en_text {
		font-size: 0.11rem;
		padding-top: 0.10rem;
	}
}

.bottom_search .search_mod_wrap {
  max-width: 8.60rem;
  margin: auto;
}

.bottom_search .search_box {
  background-color: #F2EFE3;
}

@media screen and (max-width: 640px) {
  .bottom_search .search_mod_wrap .search_btn_wrap {
    background-color: #F2EFE3;
  }
}

/*============================
業者詳細ページ
============================*/

/* -------------------------
業者名 
------------------------- */
.single_header {
  padding-top: 1.40rem;
}

@media screen and (max-width: 640px) {
  .single_header {
    padding-top: 0.45rem;
  }
}

.single_header .partners_name {
  padding-bottom: 0.35rem;
  border-bottom: 1px solid #000;
  position: relative;
}

@media screen and (max-width: 640px) {
  .single_header .partners_name {
    padding-bottom: 0.25rem;
  }
  .single_header .partners_name.nintei {
    padding-right: 0.70rem;
  }
}

/* 認定マークあり */
.single_header .partners_name.nintei::after {
  content: "";
  width: 1.06rem;
  height: 0.96rem;
  background-image: url(../img/common/icon_nintei.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 0;
  top: -0.20rem;
}

@media screen and (max-width: 640px) {
  .single_header .partners_name.nintei::after {
    content: "";
    width: 0.63rem;
    height: 0.58rem;
    top: 50%;
    transform: translateY(-50%);
  }
}

.single_header .partners_name .small_text {
  font-size: 0.20rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding-bottom: 0.15rem;
}

@media screen and (max-width: 640px) {
  .single_header .partners_name .small_text {
    font-size: 0.13rem;
  }
}

.single_header .partners_name .title {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-size: 0.32rem;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 640px) {
  .single_header .partners_name .title {
    font-size: 0.20rem;
    line-height: 1.4;
  }
}

/* -------------------------
クチコミリンク
------------------------- */
.review_link_wrap {
  width: 100%;
  max-width: 5.68rem;
  margin: 0.40rem auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  border: 2px solid #000;
  border-radius: 0.40rem;
  overflow: hidden;
}

@media screen and (max-width: 640px) {
  .review_link_wrap {
    width: calc(100% - 0.40rem);
    max-width: auto;
    margin: 0.30rem auto;
  }
}

.review_link_wrap .textbox {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding: 0.18rem 0;
  width: 3.80rem;
  font-size: 0.18rem;
  font-weight: 700;
}

@media screen and (max-width: 640px) {
  .review_link_wrap .textbox {
    padding: 0.15rem 0;
    width: 54%;
    font-size: 0.16rem;
    justify-content: space-between;
    text-align: center;
  }
}

.review_link_wrap .textbox .left_wrap {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

@media screen and (max-width: 640px) {
  .review_link_wrap .textbox .left_wrap {
    display: block;
    text-align: center;
    width: 100%;
  }
}

.review_link_wrap .textbox .star_wrap {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding-right: 0.25rem;
}

@media screen and (max-width: 640px) {
  .review_link_wrap .textbox .star_wrap {
    padding-right: 0;
    padding-bottom: 0.10rem;
  }
}

.review_link_wrap .textbox .star_wrap .star {
  color: #B2B2B2;
}

.review_link_wrap .textbox .star_wrap .star span {
  color: #E5C000;
}

.review_link_wrap .textbox .star_wrap .num {
  padding-left: 0.10rem;
}

@media screen and (max-width: 640px) {
  .review_link_wrap .textbox .star_wrap .num {
    padding-left: 0.05rem;
  }
}

.review_link_wrap .textbox .review_wrap a {
  color: #EA6E00;
  text-decoration: underline;
}

.review_link_wrap .more_link {
  width: 1.85rem;
  background-color: #E5C000;
}

@media screen and (max-width: 640px) {
  .review_link_wrap .more_link {
    width: 45.67%;
  }
}

.review_link_wrap .more_link a {
  display: block;
  height: 100%;
  text-align: center;
  font-size: 0.14rem;
  font-weight: 700;
  position: relative;
  color: #000;
  position: relative;
}

.review_link_wrap .more_link a span {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

@media screen and (max-width: 640px) {
  .review_link_wrap .more_link a span {
    left: -0.05rem;
  }
}

.review_link_wrap .more_link a::after {
  content: "";
  width: 0.11rem;
  height: 0.07rem;
  background-image: url(../img/partners/select_list_icon.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 0.20rem;
  transform: translateY(-50%);
  transition: all 0.3s;
}

.review_link_wrap .more_link a:hover::after {
  top: 54%;
}

/* -------------------------
業者情報
------------------------- */
.info_wrap .in {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: row-reverse;
}

.info_wrap .in .ph_wrap {
  width: 100%;
  max-width: 3.04rem;
  height: 3.04rem;
  overflow: hidden;
}

@media screen and (max-width: 640px) {
  .info_wrap .in .ph_wrap {
    max-width: 100%;
    height: auto;
    padding: 0 0.10rem 0.20rem;
    box-sizing: border-box;
  }
}

.info_wrap .in .ph_wrap img {
  display: block;
  margin: auto;
  /* width: 100%;
  height: 100%;
  object-fit: cover; */
}

.info_wrap .in .textbox {
  width: 100%;
  max-width: 7.40rem;
}

.info_wrap .in .textbox .title {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-size: 0.24rem;
  line-height: 1.45;
  letter-spacing: 0.08em;
  padding-bottom: 0.15rem;
}

@media screen and (max-width: 640px) {
  .info_wrap .in .textbox .title {
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-size: 0.19rem;
    line-height: 1.57;
    letter-spacing: 0.10em;
    padding: 0 0.10rem 0.15rem;
  }
}

.info_wrap .in .textbox .text {
  font-size: 0.16rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 640px) {
  .info_wrap .in .textbox .text {
    font-size: 0.14rem;
    padding: 0 0.10rem;
  }
}

.info_wrap .in .textbox .area_box {
  padding-top: 0.40rem;
}

@media screen and (max-width: 640px) {
  .info_wrap .in .textbox .area_box {
    padding-top: 0.30rem;
  }
}

.info_wrap .in .textbox .area_box table {
  width: 100%;
}

.info_wrap .in .textbox .area_box table .area_title {
  width: 1.76rem;
  background-color: #7EBA19;
  font-size: 0.18rem;
  font-weight: 700;
  text-align: center;
}

@media screen and (max-width: 640px) {
  .info_wrap .in .textbox .area_box table .area_title {
    width: 100%;
    display: block;
    box-sizing: border-box;
    font-size: 0.14rem;
    color: #FFF;
    padding: 0.10rem 0;
  }
}

.info_wrap .in .textbox .area_box table .area_link {
  background-color: #EBE9E2;
  padding: 0.18rem;
}

@media screen and (max-width: 640px) {
  .info_wrap .in .textbox .area_box table .area_link {
    width: 100%;
    display: block;
    box-sizing: border-box;
    padding: 0.10rem 0.15rem;
  }
}

.info_wrap .in .textbox .area_box table .area_link a {
  display: inline-block;
  font-size: 0.16rem;
  color: #000;
  line-height: 1.875;
  text-decoration: underline;
  margin-right: 0.18rem;
}

@media screen and (max-width: 640px) {
  .info_wrap .in .textbox .area_box table .area_link a {
    font-size: 0.14rem;
    margin-right: 0.15rem;
  }  
}

.info_wrap .in .textbox .area_box table .area_link a:hover {
  text-decoration: none;
}

/* -------------------------
お問い合わせCTA
------------------------- */
.mod_contact_wrap .in::before {
  content: "";
  width: 1.50rem;
  height: 0.96rem;
  background-image: url(../img/partners/cta_cloud01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: -1.40rem;
  top: 0.70rem;
  z-index: 1;
}

@media screen and (max-width: 640px) {
  .mod_contact_wrap .in::before {
    content: "";
    width: 0.75rem;
    height: 0.48rem;
    left: -0.10rem;
    top: auto;
    bottom: -0.40rem;
    z-index: 0;
  }
}

.mod_contact_wrap .in::after {
  content: "";
  width: 1.92rem;
  height: 1.22rem;
  background-image: url(../img/partners/cta_cloud02.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: -1.60rem;
  top: 0;
  z-index: 1;
}

@media screen and (max-width: 640px) {
  .mod_contact_wrap .in::after {
    content: "";
    width: 0.85rem;
    height: 0.60rem;
    right: -0.10rem;
    top: -0.45rem;
    z-index: 0;
  }
}

.mod_contact_wrap .in .mod_contact {
  max-width: 9.60rem;
  margin: auto;
  padding: 0.30rem 0;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 640px) {
  .mod_contact_wrap .in .mod_contact {
    padding: 0.10rem 0;
  }
}

.mod_contact_wrap .in .mod_contact .title {
  font-size: 0.24rem;
}

@media screen and (max-width: 640px) {
  .mod_contact_wrap .in .mod_contact .title {
    font-size: 0.20rem;
    padding-bottom: 0.15rem;
  }
  .mod_contact .tel_box .tel_num a {
    font-size: 0.32rem;
    color: #EA6E00;
  }
  .mod_contact .tel_box .tel_num a::before {
    content: "";
    width: 0.28rem;
    height: 0.22rem;
    display: inline-block;
    background-image: url(../img/common/icon_tel_orange.svg);
    background-position: left center;
    background-repeat: no-repeat;
    background-size: contain;
    position: relative;
  }
  .mod_contact_wrap .in .mod_contact .time {
    font-size: 0.13rem;
  }
  .mod_contact_wrap .mod_contact .tel_box {
    padding: 0.25rem 0;
  }
  .mod_contact_wrap .mod_contact .tel_box::after {
		width: calc(100% - 0.20rem);
		right: 0.10rem;
	}
  .mod_contact_wrap .mod_contact .form_box {
		width: 100%;
		padding: 0.30rem 0 0.20rem;
	}
}

.mod_contact_wrap .in .mod_contact .title span::before {
  content: none;
}

.mod_contact_wrap .in .mod_contact .caption {
  font-size: 0.16rem;
  line-height: 1.375;
  padding-top: 0.20rem;
}

@media screen and (max-width: 640px) {
  .mod_contact_wrap .in .mod_contact .caption {
    font-size: 0.12rem;
    letter-spacing: 0;
    padding-top: 0.10rem;
  }
}

.mod_contact_wrap .in .mod_contact .tel_box::after {
  height: calc(100% + 0.20rem);
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 640px) {
  .mod_contact_wrap .in .mod_contact .tel_box::after {
    height: 2px;
    top: auto;
    transform: translateY(0);
  }
}

.mod_contact_wrap .in .mod_contact .form_box a {
  padding: 0.15rem 0;
}

/* -------------------------
対応サービス一覧
------------------------- */
.service .in {
  max-width: 10.40rem;
}

.service .in .service_title {
  text-align: center;
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-size: 0.24rem;
  padding-bottom: 0.30rem;
}

@media screen and (max-width: 640px) {
  .service .in .service_title {
    font-size: 0.20rem;
    padding-bottom: 0.20rem;
  }
}

.service .in .cat_wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-bottom: 0.20rem;
}

@media screen and (max-width: 640px) {
  .service .in .cat_wrap {
    justify-content: flex-start;
  }
}

.service .in .cat_wrap .cat {
  width: calc(100% / 5);
  box-sizing: border-box;
  background-color: #B2B2B2;
  font-size: 0.18rem;
  font-weight: 700;
  color: #FFF;
  padding: 0.15rem;
  text-align: center;
  border-right:0.04rem solid #FFF ;
}

@media screen and (max-width: 640px) {
  .service .in .cat_wrap .cat {
    width: calc(100% / 3);
    font-size: 0.14rem;
    letter-spacing: 0;
    padding: 0.10rem 0;
    border-right:0.02rem solid #FFF;
    border-bottom:0.02rem solid #FFF;
  }
}

.service .in .cat_wrap .cat:last-child {
  border-right: 0;
}

@media screen and (max-width: 640px) {
  .service .in .cat_wrap .cat:last-child {
    border-right:0.02rem solid #FFF;
  }
}

/* 有効にするサービス */
.service .in .cat_wrap.cat01 .cat:nth-child(1) {
	background-color: #7EBB19;
}
.service .in .cat_wrap.cat02 .cat:nth-child(2) {
	background-color: #7EBB19;
}
.service .in .cat_wrap.cat03 .cat:nth-child(3) {
	background-color: #7EBB19;
}
.service .in .cat_wrap.cat04 .cat:nth-child(4) {
	background-color: #7EBB19;
}
.service .in .cat_wrap.cat05 .cat:nth-child(5) {
	background-color: #7EBB19;
}

/* .service .in .cat_wrap .cat.active {
  background-color: #7EBA19;
} */

.service .in .other_box table {
  width: 100%;
  border-collapse: collapse;
}

.service .in .other_box table .other_title {
  width: 1.89rem;
  background-color: #7EBA19;
  font-size: 0.18rem;
  font-weight: 700;
  text-align: center;
  color: #FFF;
}

@media screen and (max-width: 640px) {
  .service .in .other_box table .other_title {
    width: 100%;
    display: block;
    box-sizing: border-box;
    font-size: 0.14rem;
    color: #FFF;
    padding: 0.10rem 0;
  }
}

.service .in .other_box table .other_textbox {
  background-color: #EBE9E2;
  padding: 0.18rem;
  font-size: 0.16rem;
  line-height: 1.68;
  border-left: 0.04rem solid #FFF;
}

@media screen and (max-width: 640px) {
  .service .in .other_box table .other_textbox {
    width: 100%;
    display: block;
    box-sizing: border-box;
    font-size: 0.14rem;
    padding: 0.10rem 0.15rem;
    border-top: 0.02rem solid #FFF;
    border-left: 0;
  }
}

/* -------------------------
業者の特徴
------------------------- */
.feature {
  padding-top: 0.60rem;
}

@media screen and (max-width: 640px) {
  .feature {
    padding-top: 0.30rem;
  }
}

.feature .in {
  max-width: 10.40rem;
}

.feature .in .feature_title {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-size: 0.30rem;
  line-height: 1.46;
  letter-spacing: 0.08em;
  padding-bottom: 0.20rem;
}

@media screen and (max-width: 640px) {
  .feature .in .feature_title {
    font-size: 0.22rem;
    letter-spacing: 0.10em;
    padding:0 0.10rem 0.10rem;
  }
}

.feature .in .text {
  font-size: 0.16rem;
  line-height: 2;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 640px) {
  .feature .in .text {
    font-size: 0.14rem;
    line-height: 2;
    letter-spacing: 0.08em;
    padding:0 0.10rem;
  }
}


/* 共通タイトル */
.feature .in .title {
  width: 100%;
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-size: 0.25rem;
  letter-spacing: 0.10em;
  padding-bottom: 0.25rem;
}

@media screen and (max-width: 640px) {
  .feature .in .title {
    font-size: 0.19rem;
    padding-bottom: 0.15rem;
  }
}

/* 料金 */
.feature .in .price_wrap {
  padding-top: 0.75rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

@media screen and (max-width: 640px) {
  .feature .in .price_wrap {
    padding-top: 0.45rem;
  }
}

.feature .in .price_wrap .left_box {
  width: 100%;
  max-width: 4.50rem;
}

@media screen and (max-width: 640px) {
  .feature .in .price_wrap .left_box {
    max-width: 100%;
  }
}

.feature .in .price_wrap .left_box table {
  width: 100%;
  border-collapse: collapse;
}

.feature .in .price_wrap .left_box table .price_title {
  width: 44%;
  padding: 0.15rem 0.20rem;
  font-size: 0.18rem;
  font-weight: 700;
  text-align: left;
  background-color: #EA6E00;
  color: #FFF;
  border-bottom: 0.04rem solid #FFF;
}

@media screen and (max-width: 640px) {
  .feature .in .price_wrap .left_box table .price_title {
    padding: 0.12rem 0.15rem;
    font-size: 0.15rem;
    border-bottom: 0.02rem solid #FFF;
  }
}

.feature .in .price_wrap .left_box table .price {
  background-color: #F1EEE2;
  padding: 0.15rem 0.20rem;
  text-align: right;
  font-size: 0.18rem;
  font-weight: 700;
  border-bottom: 0.04rem solid #FFF;
  border-left: 0.04rem solid #FFF;
}

@media screen and (max-width: 640px) {
  .feature .in .price_wrap .left_box table .price {
    padding: 0.12rem 0.15rem;
    font-size: 0.15rem;
    border-bottom: 0.02rem solid #FFF;
    border-left: 0.02rem solid #FFF;
  }
}

.feature .in .price_wrap .right_box {
  width: 100%;
  max-width: 4.30rem;
}

@media screen and (max-width: 640px) {
  .feature .in .price_wrap .right_box {
    max-width: 100%;
  }
}

.feature .in .price_wrap .right_box .caption {
  font-size: 0.16rem;
  line-height: 1.375;
  padding-bottom: 0.30rem;
}

@media screen and (max-width: 640px) {
  .feature .in .price_wrap .right_box .caption {
    font-size: 0.12rem;
    padding-top: 0.10rem;
    padding-bottom: 0.30rem;
    text-indent: -0.12rem;
    margin-left: 0.12rem;
  }
}

.feature .in .price_wrap .right_box .sub_title {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-size: 0.18rem;
  letter-spacing: 0.10em;
  padding-bottom: 0.15rem;
}

@media screen and (max-width: 640px) {
  .feature .in .price_wrap .right_box .sub_title {
    font-size: 0.16rem;
  }
}

.feature .in .price_wrap .right_box .payment_method .method_wrap {
  display: flex;
  justify-content: space-between;
}

.feature .in .price_wrap .right_box .payment_method .method_wrap .method {
  width: calc(100% / 4 - 0.02rem);
  background-color: #BCBCBC;
  text-align: center;
  font-size: 0.14rem;
  font-weight: 700;
  color: #FFF;
  padding: 0.22rem 0;
  position: relative;
}

@media screen and (max-width: 640px) {
  .feature .in .price_wrap .right_box .payment_method .method_wrap .method {
    width: calc(100% / 4 - 0.01rem);
    font-size: 0.14rem;
  }
}

.feature .in .price_wrap .right_box .payment_method .method_wrap .method span {
  position: absolute;
  width: 100%;
  text-align: center;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  line-height: 1.25;
}

/* お支払い方法 */
.feature .in .price_wrap .right_box .payment_method .method_wrap.pay01 .method:nth-child(1) {
	background-color: #EA6E00;
}
.feature .in .price_wrap .right_box .payment_method .method_wrap.pay02 .method:nth-child(2) {
	background-color: #EA6E00;
}
.feature .in .price_wrap .right_box .payment_method .method_wrap.pay03 .method:nth-child(3) {
	background-color: #EA6E00;
}
.feature .in .price_wrap .right_box .payment_method .method_wrap.pay06 .method:nth-child(4) {
	background-color: #EA6E00;
}

/* .feature .in .price_wrap .right_box .payment_method .method_wrap .method.active {
  background-color: #EA6E00;
} */

.feature .in .price_wrap .right_box .other_method {
  padding-top: 0.15rem;
  display: flex;
  flex-wrap: wrap;
}

.feature .in .price_wrap .right_box .other_method .method {
  display: none;
  padding-right: 0.06rem;
}

@media screen and (max-width: 640px) {
  .feature .in .price_wrap .right_box .other_method .method {
    padding-right: 0.03rem;
  }
}

/* 下段の支払い方法 */
.feature .in .price_wrap .right_box .other_method.pay04 .method:nth-child(1) {
	display: block;
}
.feature .in .price_wrap .right_box .other_method.pay05 .method:nth-child(2) {
	display: block;
}

.feature .in .price_wrap .right_box .other_method .method span {
  display: block;
  font-size: 0.14rem;
  font-weight: 700;
  padding: 0.10rem 0;
  min-width: 1.10rem;
  border-radius: 0.40rem;
  background-color: #7EBA19;
  color: #FFF;
  text-align: center;
}

@media screen and (max-width: 640px) {
  .feature .in .price_wrap .right_box .other_method .method span {
    display: block;
    font-size: 0.12rem;
    font-weight: 700;
    padding: 0.08rem 0;
    min-width: 0.80rem;
  }
}

/* 作業の流れ */
.feature .in .flow_wrap {
  padding-top: 0.75rem;
}

@media screen and (max-width: 640px) {
  .feature .in .flow_wrap {
    padding-top: 0.50rem;
  }
}

.feature .in .flow_wrap .flow_box {
  background-color: #F1EEE2;
  margin-bottom: 0.15rem;
  position: relative;
  border-radius: 0.15rem;
}

@media screen and (max-width: 640px) {
  .feature .in .flow_wrap .flow_box {
    background-color: #F1EEE2;
    margin-bottom: 0.10rem;
    position: relative;
    border-radius: 0.075rem;
  }
}

.feature .in .flow_wrap .flow_box::after {
  content: "";
  width: 0.30rem;
  height: 0.30rem;
  background-image: url(../img/partners/flow_icon.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 50%;
  bottom: -0.23rem;
  transform: translateX(-50%);
  z-index: 1;
}

@media screen and (max-width: 640px) {
  .feature .in .flow_wrap .flow_box::after {
    width: 0.23rem;
    height: 0.23rem;
    bottom: -0.17rem;
  }
}

.feature .in .flow_wrap .flow_box:last-child::after {
  content: none;
}

.feature .in .flow_wrap .flow_box .flow_title {
  border-bottom: 1px solid #EA6E00;
  padding: 0.20rem;
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-size: 0.18rem;
  font-weight: 700;
}

@media screen and (max-width: 640px) {
  .feature .in .flow_wrap .flow_box .flow_title {
    padding: 0.15rem;
    font-size: 0.16rem;
  }
}

.feature .in .flow_wrap .flow_box .flow_title span {
  display: inline-block;
  font-size: 0.17rem;
  font-weight: 500;
  color: #EA6E00;
  padding-right: 0.20rem;
}

@media screen and (max-width: 640px) {
  .feature .in .flow_wrap .flow_box .flow_title span {
    font-size: 0.16rem;
    padding-right: 0.10rem;
  }
}

.feature .in .flow_wrap .flow_box .text {
  padding: 0.15rem 0.20rem 0.25rem;
}

@media screen and (max-width: 640px) {
  .feature .in .flow_wrap .flow_box .text {
    padding: 0.15rem 0.15rem 0.20rem;
    font-size: 0.13rem;
    line-height: 1.85;
  }
}

/* 会社情報 */
.feature .in .company_wrap {
  padding-top: 0.75rem;
}

@media screen and (max-width: 640px) {
  .feature .in .company_wrap {
    padding-top: 0.50rem;
  }
}

.feature .in .company_wrap .company_info_table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.18rem;
  font-weight: 700;
  line-height: 1.5;
}

@media screen and (max-width: 640px) {
  .feature .in .company_wrap .company_info_table table {
    font-size: 0.13rem;
    letter-spacing: 0;
  }
}

.feature .in .company_wrap .company_info_table table .company_title {
  background-color: #7EBA19;
  padding: 0.15rem;
  border-bottom: 0.04rem solid #FFF;
  color: #FFF;
  width: 2.28rem;
  box-sizing: border-box;
}

@media screen and (max-width: 640px) {
  .feature .in .company_wrap .company_info_table table .company_title {
    background-color: #7EBA19;
    padding: 0.10rem 0;
    border-bottom: 0.02rem solid #FFF;
    color: #FFF;
    width: 1.10rem;
    box-sizing: border-box;
  }
}

.feature .in .company_wrap .company_info_table table .company_text {
  background-color: #F1EEE2;
  padding: 0.15rem;
  border-bottom: 0.04rem solid #FFF;
  border-left: 0.04rem solid #FFF;
}

@media screen and (max-width: 640px) {
  .feature .in .company_wrap .company_info_table table .company_text {
    background-color: #F1EEE2;
    padding: 0.10rem;
    border-bottom: 0.02rem solid #FFF;
    border-left: 0.02rem solid #FFF;
  }
}

.feature .in .company_wrap .company_info_table table .company_text h4 {
  font-weight: 700;
}

.feature .in .company_wrap .company_info_table table .company_text h4::before {
  content: "●";
  color: #7EBA19;
}

/* -------------------------
クチコミ一覧
------------------------- */
.review_wrap .review_title {
  text-align: center;
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-size: 0.25rem;
  letter-spacing: 0.10em;
  padding-bottom: 0.50rem;
}

@media screen and (max-width: 640px) {
  .review_wrap .review_title {
    font-size: 0.19rem;
    padding-bottom: 0.20rem;
  }
}

.review_wrap .review_box {
  background-color: #F1EEE2;
  padding: 0.50rem 0.70rem;
  border-radius: 0.15rem;
  margin-bottom: 0.40rem;
}

@media screen and (max-width: 640px) {
  .review_wrap .review_box {
    padding: 0.20rem;
    border-radius: 0.075rem;
    margin-bottom: 0.15rem;
  }
}

.review_wrap .review_box:last-child {
  margin-bottom: 0;
}

.review_wrap .review_box .review_header {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  padding-bottom: 0.20rem;
  border-bottom: 1px solid #B2B2B2;
}

.review_wrap .review_box .review_header .cat_wrap {
  display: flex;
}

@media screen and (max-width: 640px) {
  .review_wrap .review_box .review_header .cat_wrap {
    padding-bottom: 0.10rem;
  }
}

.review_wrap .review_box .review_header .cat_wrap .cat {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-size: 0.16rem;
  padding: 0.10rem 0.20rem;
  color: #FFF;
  background-color: #7EBA19;
  margin-right: 0.04rem;
}

@media screen and (max-width: 640px) {
  .review_wrap .review_box .review_header .cat_wrap .cat {
    font-size: 0.12rem;
    padding: 0.06rem;
    margin-right: 0.02rem;
  }
}

.review_wrap .review_box .review_header .right_box {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.review_wrap .review_box .review_header .right_box .star_wrap {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  font-size: 0.20rem;
  font-weight: 700;
}

@media screen and (max-width: 640px) {
  .review_wrap .review_box .review_header .right_box .star_wrap {
    font-size: 0.13rem;
    letter-spacing: 0;
  }
}

.review_wrap .review_box .review_header .right_box .star_wrap .star {
  color: #B2B2B2;
}

.review_wrap .review_box .review_header .right_box .star_wrap .star span {
  color: #E5C000;
}

.review_wrap .review_box .review_header .right_box .star_wrap .num {
  padding-left: 0.10rem;
}

@media screen and (max-width: 640px) {
  .review_wrap .review_box .review_header .right_box .star_wrap .num {
    padding-left: 0.06rem;
  }
}

.review_wrap .review_box .review_header .right_box .entry_date {
  font-size: 0.18rem;
  font-weight: 700;
  padding-left: 0.25rem;
}

@media screen and (max-width: 640px) {
  .review_wrap .review_box .review_header .right_box .entry_date {
    font-size: 0.13rem;
    padding-left: 0.20rem;
  }
}

.review_wrap .review_box .review_textbox {
  padding-top: 0.30rem;
}

@media screen and (max-width: 640px) {
  .review_wrap .review_box .review_textbox {
    padding-top: 0.10rem;
  }
}

.review_wrap .review_box .review_textbox .review_catch {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-size: 0.20rem;
  letter-spacing: 0.08em;
  line-height: 1.8;
  padding-bottom: 0.15rem;
}

@media screen and (max-width: 640px) {
  .review_wrap .review_box .review_textbox .review_catch {
    font-size: 0.16rem;
    letter-spacing: 0;
    line-height: 1.78;
    padding-bottom: 0.10rem;
  }
}

.review_wrap .review_box .review_textbox .text {
  font-size: 0.16rem;
  line-height: 2;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 640px) {
  .review_wrap .review_box .review_textbox .text {
    font-size: 0.14rem;
    line-height: 1.875;
    text-align: justify;
    letter-spacing: 0.08em;
  }
}