@charset "utf-8";
body{
	min-width:1024px;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  /* スプライト画像のタッチ処理 ipad */
  #userlogin_box a > img[src*="spr_"],
  .mod_category a > img[src*="spr_"],
  .main_nav a > img[src*="spr_"]{
    pointer-events: none;
  }	
}

#header_wrap,
#header_s_box,
.main_footer {
  min-width:1024px;
}

 /* Slider */
.slick-loading .slick-list {
  background: #fff url("/js/slick/ajax-loader.gif") center center no-repeat;
}

/* Arrows */
.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: block;
  width: 20px;
  height: 20px;
  padding: 0;
  cursor: pointer;
  border: none;
  outline: none;
  background: transparent;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  color: transparent;
  outline: none;
  background: transparent;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  background: url("/search/image/dtl_new/btn-carousel-arow.png") no-repeat center;
  background-size: cover;
}

.slick-prev {
  left: -36px;
}

.slick-next {
  right: -36px;
}

.slick-next:before {
  transform: rotate( 180deg );
  -webkit-transform: rotate( 180deg );
}

/* Dots */
.slick-dots {
  position: absolute;
  bottom: -25px;
  left: 0;
  display: block;
  width: 100%;
  height: 20px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}

#latest_post_area .slick-dots{
  bottom: -35px;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  line-height: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  padding: 5px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li button:before {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  text-align: center;
  opacity: 0.35;
  background: #8c7446;
}

.slick-dots li.slick-active button:before {
  opacity: 0.75;
  background: #206FAE;
}

/* ---------------------------------------
 メインフッター　main_footer
---------------------------------------- */

.main_footer {
  position: relative;
  background: #1767a6;
  color: #fff;
  padding: 16px 0 0;
  font-size: 12px;
  margin: 140px auto 0;
  text-align:center;
}

.main_footer::before {
  background-image: url(/image_cmn/bg_footer_town_illust.png);
  background-size: 450px 92px;
  content: "";
  height: 92px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: -92px;
  width: 450px;
}

.main_footer a {
  color: #fff;
}

.main_footer a:hover {
  opacity: 0.8;
}

.main_footer .menu {
  width: 1000px;
  margin: 0 auto 12px;
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  -webkit-justify-content: space-between;
}

.main_footer .menu li {
  display: inline-block;
  line-height: 1.4;
}

.main_footer .product {
  margin: 14px 0;
  font-size: 11px;
}

.main_footer .product dt,
.main_footer .product dd {
  display: inline-block;
}

.main_footer .copyright {
  background: #003a71;
  font-size: 11px;
  height: 26px;
  line-height: 26px;
  display: block;
}

/* ============================================================================
 モーダル表示　
 ============================================================================ */

/* ---------------------------------------
 基本 modal_common.js 用　
---------------------------------------- */

/* @tab_top.css　タブレット用スタイルあり */

.lock {
    overflow:hidden;
}


.modal-overlay {
  display:none;
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:120%;
  background-color: #000;
  z-index:100;
}

.modal-wrap {
  display:none;
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  overflow:auto;
  background: none;
  z-index:101;
}

.js-modal_content {
  border: 2px solid #aaa ;
  background: #fff ;
  position: absolute ;
  display: none ;
  z-index:103;
}

.js_modal_content .clsbtn{
  position: absolute;
  display: block;
  top:-25px;
  right:-25px;
  width:60px;
  height: 60px;
  cursor:pointer;
  background: url(/image/top/btn_modal_close.png) no-repeat left top;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  z-index:104;
}
.js_modal_content .clsbtn:hover{
  background-position: left bottom;
}

.modal-close-area{
  width:100%;
  height:100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index:102;
}

/* ---------------------------------------
 ログインBOX mod_usr_login　
---------------------------------------- */

/* 暫定対応 旧ローディングgif 非表示 */

.mod_usr_login .LoginWaitScreenBody{
  background: none;
}

.mod_usr_login {
  display: none;
  position: absolute;
  box-sizing: border-box;
  border: none;
  width: 414px;
  padding: 22px 20px 20px;
  border-radius: 5px;
  background-color: #f6eee0;
  background-image: url(/image/top2/bg_usr_login_top.png),
    url(/image/top2/bg_usr_login_btm.png),
    url(/image/top2/bg_usr_login_mid.png);
  background-repeat: no-repeat,
    no-repeat,
    repeat-y;
  background-position: center top,
    center bottom,
    center;
  font-size:14px;
  z-index:103;
}

.mod_usr_login .inner {
  margin: 0 auto;
  position: relative;
  width: 100%;
}

.mod_usr_login .cont p.login_notion {
  font-size: 15px;
  line-height: 1.533333;
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
  padding: 2px 8px 12px;
}

.mod_usr_login .ttl {
  text-align: left;
  margin: 0 0 10px;
}

.mod_usr_login .cont {
  text-align: left;
}

/* 入力フォーム */

.mod_usr_login input[type="text"],
.mod_usr_login input[type="password"] {
  box-sizing: border-box;
  margin: 0;
  padding: 4px;
  line-height: 24px;
  border: 1px solid #a39781;
  vertical-align: middle;
  color: #444;
  border-radius: 2px;
  box-shadow: none;
  font-size: 14px;
  height: auto;
}
.mod_usr_login .id input {
  width: 100%;
}
.mod_usr_login .pw_btn input[type="password"] {
  width: 237px;
}
.mod_usr_login input.login {
  line-height: 1;
  float: right;
  border-radius: 0;
}
.mod_usr_login input.login:hover {
  opacity: 0.8;
}

.mod_usr_login .id {
  margin: 0 0 10px;
}
.mod_usr_login .pw_btn {
  display: flex;
  margin: 0 0 10px;
  justify-content: space-between;
  align-items: center;
}

/* エラー表示 */

.mod_usr_login .err {
  border: 2px solid #cf3a3b;
  background: #fefbf6;
  line-height: 1.4;
  font-weight: 600;
  text-align: center;
  padding: 5px 10px 3px;
  margin: 15px auto 5px;
  color: #cf3a3b;
}

/* 自動ログインチェック */

.mod_usr_login .chkbox {
  color: #333;
  font-size: 14px;
  line-height: 1.15;
  display: table-cell;
  padding: 7px 0;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
}

.mod_usr_login .chkbox input[type="checkbox"] {
  width: 15px;
  height: 15px;
  margin: 0 5px 3px 0;
  vertical-align: middle;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
}

/* PW忘れた方 */

.mod_usr_login .remind {
  color: #333;
  font-size: 14px;
  text-align: left;
  margin: 0 0 10px;
  letter-spacing: 0;
  line-height: 1.15;
}
.mod_usr_login .remind a {
  font-weight: 600;
}
.mod_usr_login .remind a:link,
.mod_usr_login .remind a:visited {
  color: #003987;
}
.mod_usr_login .remind a:hover {
  color: #ea2020;
}

/* はじめての方 */

.mod_usr_login .howto {
  line-height: 1.15;
  text-align: center;
  margin: 19px auto 7px;
}
.mod_usr_login .howto a {
  position: relative;
  display: inline-block;
  font-size: 15px;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  font-weight: 600;
  padding: 0 16px 0 0;
}
.mod_usr_login .howto a:link,
.mod_usr_login .howto a:visited {
  color: #003987;
}
.mod_usr_login .howto a:hover {
  color: #ea2020;
}
.mod_usr_login .howto a::after {
  content: "";
  position: absolute;
  top: 4px;
  right: 0;
  width: 7px;
  height: 10px;
  background: url(/image/top2/spr_ico_arow3.png) no-repeat center top;
  background-size: cover;
}
.mod_usr_login .howto a:hover::after {
  background-position: center bottom;
}

/* 新規会員登録 */

.mod_usr_login .regist {
  margin: 0 auto;
  text-align: center;
}
.mod_usr_login .regist a {
  display: inline-block;
}
.mod_usr_login .regist a:hover {
  opacity: 0.8;
}

/* 閉じるボタン */

.mod_usr_login .close{
  margin-top: 23px;
  text-align: center;
  padding-right: 10px;
}

.mod_usr_login .close_btn {
  border: none;
  position: relative;
  display: inline-block;
  width: 144px;
  height: 39px;
  overflow: hidden;
  vertical-align: top;
  background: none;
  background-color: #fff;
  top: 0;
  right: 0;
  text-indent: 0;
  padding: 0;
}

.mod_usr_login .close_btn img {
  width: 100%;
  height: auto;
  vertical-align: top;
}

.mod_usr_login .close_btn:hover img {
  opacity: 0.8;
}

/*   ローディング　GIF */

.mod_usr_login .loading {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  background: #f6eee0;
  z-index:102;
}

.mod_usr_login .loading img {
  position: absolute;
  display: inline-block;
  width: 38px;
  height: 38px;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

/* ---------------------------------------
 商品ポイントGET mod_usr_login　
---------------------------------------- */
.mod_usr_point {
	background: url(/image/top2/bg_point_get_btm.png) no-repeat 0 110% #fff;
	border: 2px solid #53991a;
	box-sizing: border-box;
	display: none;
	padding: 20px;
	position: absolute;
	width: 600px;
  z-index: 103;
}

.mod_usr_point dt {
  padding-bottom: 19px;
  padding-right: 15px;
  padding-top: 7px;
  text-align: center;
}

.mod_usr_point dd .lead {
	font-size: 15px;
  line-height: 1.6;
  margin: 0 auto;
  text-align: left;
  width: 480px;
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
}

.mod_usr_point dd .lead + .lead {
  margin-top: 6px;
}

.mod_usr_point dd ul {
	margin: 16px auto 73px;
	overflow: hidden;
	width: 520px;
}

.mod_usr_point dd ul li {
	float: left;
	height: 60px;
	margin-left: 10px;
	margin-right: 10px;
	position: relative;
	width: 240px;
}

.mod_usr_point dd ul li a {
  display: flex;
  height: 60px;
  width: 240px;
  background: url(/image/top2/spr_post_user_btn_x2.png);
  background-size: 240px;
  background-position: bottom;
  padding-right: 10px;
  font-feature-settings: "palt";
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.1em;
  align-items: center;
  justify-content: center;
  color: #fff;
  position: relative;
  line-height: 1.25;
}

.mod_usr_point dd ul li a span {
  text-align: center;
}

.mod_usr_point dd ul li a::after {
  display: block;
  position: absolute;
  content: "";
  top: 50%;
  right: 12px;
  width: 9px;
  height: 11px;
  transform: translateY(-50%);
  background-color: #fff;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}

.mod_usr_point dd ul li:nth-of-type(2) a {
  background-position: top;
}

.mod_usr_point dd ul li a:hover {
  opacity: 0.8;
}

.mod_usr_point dd ul li img {
	left: 0;
	position: absolute;
	top:0;
}

.mod_usr_point dd ul li:first-child img{
	top: -64px;
}

.mod_usr_point dl dd p{
  text-align: center;
  margin: 0;
}

.mod_usr_point .close {
    margin-top: 15px;
    text-align: center;
}

.mod_usr_point .close_btn {
    position: relative;
    display: inline-block;
    width: 150px;
    height: 42px;
    overflow: hidden;
    vertical-align: top;
    top: 0;
    right: 0;
    padding: 0;
    box-sizing: border-box;
    border: none;
    background: none;
}

.mod_usr_point .close_btn img {
    position: absolute;
    top: 0;
    left: 0;
    padding: 0;
    z-index: 0;
}

.mod_usr_point .close_btn:hover img {
    opacity: 0.8;
}

/* ---------------------------------------
 GPSエラーモーダル　mod_gps_err
---------------------------------------- */

.mod_gps_err {
  width: 700px;
  height: 430px;
  border: 3px solid #0087dd;
  border-radius: 8px;
  font-size: 14px;
  text-align: center;
  background: url(/image/top2/bg_modal_gps_err.jpg) no-repeat center;
}
.mod_gps_err .alertbox {
  position: absolute;
  box-sizing: border-box;
  top: 131px;
  left: 38px;
  width: 390px;
  padding: 18px 12px;
  border: 3px double #ff6347;
  background: #fff;
}
.mod_gps_err .alertbox p {
  font-size: 15px;
  line-height: 1.4;
}
.mod_gps_err .about_gps {
  margin: 12px auto 0;
  border-top: 1px solid #ff6347;
  text-align: center;
}
.mod_gps_err .about_gps:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}
.mod_gps_err .about_gps dt {
  margin: 12px 0;
  font-size: 13px;
}
.mod_gps_err .about_gps dd {
  display: inline-block;
  width: 150px;
  height: 30px;
  line-height: 30px;
  margin: 0 3px 0;
  padding: 0 0 0 12px;
  background: #eaffea;
  text-align: left;
  border-radius: 4px;
  box-sizing: border-box;
}

.mod_gps_err .about_gps dd.android {
  width: 180px;
}
.mod_gps_err .about_gps dd a {
  display: block;
  padding: 0 0 0 18px;
  background: url(/image_cmn/ico_outsite.gif) no-repeat left center;
}

/* 閉じるボタン */

.mod_gps_err .close_btn {
  position: absolute;
  width: 150px;
  height: 40px;
  top: auto;
  bottom: 13px;
  left: 0;
  right: 0;
  margin: 0 auto;
  background: none;
  overflow:hidden;
}

.mod_gps_err .close_btn img {
  position: absolute;
  top: 0;
  left: 0;
}

.mod_gps_err .close_btn:hover img {
  top: auto;
  bottom: 0;
}


  /* ---------------------------------------
   モーダル　カテゴリから探す　
  ---------------------------------------- */

.mod_category {
	text-align: center;
}

.mod_category ._main h2{
	border-radius: 3px 3px 0 0;
  margin:0;
	overflow: hidden;
}

	.mod_category ._main div.read{
		margin: 25px auto;
		overflow: hidden;
		width: 550px;
	}

	.mod_category ._main div.read p{
		float: left;
		font-size: 15px;
		letter-spacing: 0.5px;
		line-height: 1.3;
		text-align: left;
		margin: 0 0 0 5px;
		width: 100%;
	}

	.mod_category ._main div.read a{
		float: right;
		margin-top: 15px;
	}

  .mod_category.js-modal_content {
    display: none;
    width: 920px;
    border: 3px solid #007ccb;
    border-radius: 5px;
    background: #f8f7ea;
    overflow: hidden;
    margin-bottom: 20px;
  }

  .mod_category .is_hide {
    display: none;
  }

  .mod_category .lnk{
    font-weight: 600;
  }

  .mod_category ._main .lnk{
    font-weight: normal;
  }

  /* ==== メインカテゴリリスト（アイコンリスト） ===== */

  .mod_category .ico_lst {
    width: 840px;
    margin: 6px auto 0;
    display: flex;
    display: -webkit-flex;
    flex-flow: row wrap;
    -webkit-flex-flow: row wrap;
  }

  .mod_category .ico_lst .lnk {
    position: relative;
    margin: 0 5px 10px;
    overflow: hidden;
    width: 130px;
    height: 90px;
    border: 1px solid #d8bf93;
    border-radius: 4px;
    background: #fff;
  }

  .mod_category .ico_lst .lnk a {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }

  .mod_category .ico_lst .lnk a:hover img {
    opacity: 0.8;
  }

  /* パブリネット、インフライン統合対応 #12975*/
  .mod_category .ico_lst .lnk.cate_view_all {
    background: url(/image/top2/cate/bg_view_all.png) no-repeat center center;
    background-size: 130px 90px; 
    border: none;
  }
  .mod_category .ico_lst .lnk.cate_view_all .name{
    bottom: 22px;
    color: #fff;
    font-size: 15px;
    line-height: 1.5;
  }
  .mod_category .ico_lst .lnk.cate_view_all:hover .name{
    opacity: 0.8; 
  }

  .mod_category .ico_lst .lnk .icon {
    width: 60px;
    height: 50px;
    overflow: hidden;
    position: relative;
    margin: 5px auto;
  }

  .mod_category .ico_lst .lnk .icon img {
    position: absolute;
    top: 0;
    left: 0;
  }

  .mod_category .ico_lst .lnk.bkn .icon img { top: 0px;} /* 賃貸物件 */
  .mod_category .ico_lst .lnk.senior .icon img { top: -52px;} /* 老人ホーム */
  .mod_category .ico_lst .lnk.public .icon img { top: -104px;} /* 公共施設 */
  .mod_category .ico_lst .lnk.rest .icon img { top: -156px;} /* 飲食店 */
  .mod_category .ico_lst .lnk.clinic .icon img { top: -208px;} /* 病 院 */
  .mod_category .ico_lst .lnk.sekkotsu .icon img { top: -260px;} /* 接骨院・整骨院 */
  .mod_category .ico_lst .lnk.school .icon img { top: -312px;} /* 学校・塾 */
  .mod_category .ico_lst .lnk.seifuku .icon img { top: -364px;} /* 柔道整復専門学校 */
  .mod_category .ico_lst .lnk.wedding .icon img { top: -420px;} /* 結婚式場 */
  .mod_category .ico_lst .lnk.shop .icon img { top: -464px;} /* ショッピング施設 */
  .mod_category .ico_lst .lnk.pet .icon img { top: -520px;} /* ペット */
  .mod_category .ico_lst .lnk.seitai .icon img { top: -1248px; } /* 整体院 */
  .mod_category .ico_lst .lnk.tour .icon img { top: -572px;} /* 観光施設/旅行/レジャー */
  .mod_category .ico_lst .lnk.entame .icon img { top: -624px;} /* エンターテイメント［映画館・劇場・ホール］ */
  .mod_category .ico_lst .lnk.sports .icon img { top: -676px;} /* スポーツ施設 */
  .mod_category .ico_lst .lnk.race .icon img { top: -728px;} /* 公営競技場 */
  .mod_category .ico_lst .lnk.hotel .icon img { top: -780px;} /* ホテル/旅館/宿 */
  .mod_category .ico_lst .lnk.company .icon img { top: -832px;} /* 上場企業・上場会社 */
  .mod_category .ico_lst .lnk.mascomi .icon img { top: -884px;} /* マスコミ */
  .mod_category .ico_lst .lnk.finance .icon img { top: -936px;} /* 金融機関 */
  .mod_category .ico_lst .lnk.stock .icon img { top: -988px;} /* 証券会社 */
  .mod_category .ico_lst .lnk.insurer .icon img { top: -1040px;} /* 保険会社 */
  .mod_category .ico_lst .lnk.rentacar .icon img { top: -1092px;} /* レンタカー／レンタカー会社 */
  .mod_category .ico_lst .lnk.traffic .icon img { top: -1144px;} /* 交通アクセス */
	.mod_category .ico_lst .lnk.infra .icon img { top: -1196px;} /* 生活・通信インフラ */


	.mod_category .ico_lst .lnk.shop .icon{
		margin-top: 1px;
	}
	.mod_category .ico_lst .lnk.pet .icon{
		margin-top: 2px;
	}
	.mod_category .ico_lst .lnk.clinic .icon,
	.mod_category .ico_lst .lnk.school .icon,
	.mod_category .ico_lst .lnk.tour .icon{
		margin-top: 3px;
	}
	.mod_category .ico_lst .lnk.company .icon,
	.mod_category .ico_lst .lnk.insurer .icon,
	.mod_category .ico_lst .lnk.public .icon,
	.mod_category .ico_lst .lnk.traffic .icon{
		margin-top: 4px;
	}
	.mod_category .ico_lst .lnk.sekkotsu .icon,
	.mod_category .ico_lst .lnk.entame .icon,
	.mod_category .ico_lst .lnk.company .icon{
		margin-top: 6px;
	}
	.mod_category .ico_lst .lnk.seifuku .icon,
	.mod_category .ico_lst .lnk.mascomi .icon,
	.mod_category .ico_lst .lnk.race .icon,
	.mod_category .ico_lst .lnk.sports .icon,
	.mod_category .ico_lst .lnk.stock .icon,
	.mod_category .ico_lst .lnk.finance .icon{
		margin-top: 7px;
	}
	.mod_category .ico_lst .lnk.hotel .icon,
	.mod_category .ico_lst .lnk.wedding .icon{
		margin-top: 8px;
	}
	
	
  /* カテゴリ名 */

  .mod_category .ico_lst .lnk .name {
    font-size: 11px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.025em;
    display: inline-block;
    color: #333;
    position: absolute;
    bottom: 10px;
    left: 0;
    right: 0;
    margin: 0 auto;
    vertical-align: inherit;
  }

  /* 文字調整 */

  .mod_category .ico_lst .lnk.school .name,
  .mod_category .ico_lst .lnk.tour .name,
  .mod_category .ico_lst .lnk.wedding .name{
    letter-spacing: 0;
  }

  .mod_category .ico_lst .lnk.tour .name,
  .mod_category .ico_lst .lnk.pet .name,
  .mod_category .ico_lst .lnk.shop .name,
  .mod_category .ico_lst .lnk.school .name,
  .mod_category .ico_lst .lnk.wedding .name,
  .mod_category .ico_lst .lnk.senior .name,
  .mod_category .ico_lst .lnk.race .name,
  .mod_category .ico_lst .lnk.insurer .name {
    bottom:4px;
  }
	
  .mod_category .ico_lst .lnk.entame .name{
    letter-spacing:-0.05em;
    line-height: 1.2;
  }
  
  .mod_category .ico_lst .lnk.entame .name span{
  font-size: 11px;
  display: block;
  }

  /* 全カテゴリリンク */

  .mod_category .ico_lst .lnk.all{
    border: none;
  }

  /* 空きスペース */

  .mod_category .ico_lst .empty {
    margin: 0 5px 10px;
    width: 130px;
    height: 105px;
    padding: 32px 0;
  }


  /* ==== サブカテゴリリスト ==== */

  /* サブカテゴリタイトル */
  .mod_category h2.ttl img{
  	position: relative;
  }

  .mod_category h2.ttl span{
  	font-size: 26px;
  	height: 43px;
  	left: 0;
  	letter-spacing: 2px;
  	line-height: 43px;
  	position: absolute;
  	text-align: center;
  	top: 56px;
  }

  /* サブカテゴリタイトル カテゴリごとの調整*/
  .mod_category ._bkn h2.ttl span{
  	left: 61px;
  	width: 291px;
  }

  .mod_category ._rest h2.ttl span{
  	left: 61px;
  	width: 291px;

  }

  .mod_category ._shop h2.ttl span{
  	font-size: 22px;
  	left: 24px;
  	width: 311px;
  }

  .mod_category ._clinic h2.ttl span{
  	font-size: 24px;
  	left: 24px;
  	top: 57px;
  	width: 291px;
  }

  .mod_category ._pet h2.ttl span{
  	left: 74px;
  	width: 291px;
  }

  .mod_category ._school h2.ttl span{
  	font-size: 20px;
  	left: 24px;
  	letter-spacing: 1px;
    top: 59px;
  	width: 375px;
  }

  .mod_category ._tour h2.ttl span{
  	left: 24px;
  	font-size: 18px;
    top: 72px;
    width: 375px;
    line-height: 1;
  }

  .mod_category ._entame h2.ttl span{
  	left: 24px;
  	letter-spacing: normal;
  	top: 58px;
    width: 291px;
    font-size: 22px;
  }
  
  .mod_category ._entame h2.ttl span span{
    font-size: .7em;
    left: 0;
    top: 1.4em;
  }

  .mod_category ._sports h2.ttl span{
  	left: 24px;
  	top: 58px;
  	width: 291px;
  }

  .mod_category ._race h2.ttl span{
  	left: 24px;
  	top: 55px;
  	width: 291px;
  }

  .mod_category ._company h2.ttl span{
  	left: 24px;
  	top: 57px;
  	width: 289px;
  }

  .mod_category ._finance h2.ttl span{
  	left: 24px;
  	top: 58px;
  	width: 291px;
  }

  .mod_category ._mascomi h2.ttl span{
  	left: 24px;
  	top: 57px;
  	width: 291px;
  }

  .mod_category ._public h2.ttl span{
  	left: 24px;
  	top: 58px;
  	width: 291px;
  }

  .mod_category ._infra h2.ttl span{
  	left: 24px;
  	width: 291px;
  }

  .mod_category ._traffic h2.ttl span{
  	left: 24px;
  	top: 57px;
  	width: 291px;
  }


  .mod_category .txt_lst {
    display: flex;
    display: -webkit-flex;
    flex-flow: row wrap;
    -webkit-flex-flow: row wrap;
    margin: 10px auto 0;
    width: 795px;
  }

  .mod_category .txt_lst.no_lead {
    margin-top: 30px;
  }

  /*.box._sports .txt_lst{
    margin-top: 20px;
  }*/

  .mod_category .txt_lst .lnk {
    width: 255px;
    height: 60px;
    border: 2px solid #bea06c;
    border-radius: 4px;
    background: #fff;
    overflow: hidden;
    margin: 0 5px 10px;
  }

  .mod_category .txt_lst .lnk a {
    padding-left: 12px;
    position: relative;
    display: table-cell;
    font-size: 15px;
    width: 255px;
    height: 60px;
    vertical-align: middle;
    text-align: center;
    line-height: 1.3;
    color:#0051c2;
  }

  .mod_category .txt_lst .lnk a.all{
    font-weight: 600;
    background: #f3f1dd;
  }

  .mod_category .txt_lst .lnk a::before {
    position: absolute;
    content: "";
    width: 14px;
    height: 14px;
    top: 22px;
    left: 10px;
    background: url(/image/top2/spr_icosrch_x2.png) no-repeat left top;
    background-size: cover;
  }

  .mod_category ._shop .txt_lst .lnk a::before {
    position: absolute;
    content: "";
    width: 14px;
    height: 14px;
    top: 22px;
    left: 10px;
    background: url(/image/top2/spr_icosrch_x2_m.png) no-repeat left top;
    background-size: cover;
  }

  .mod_category .txt_lst .lnk a:hover{
    color: #ea2020;
  }

  .mod_category .txt_lst .lnk a:hover::before {
    background-position: left -16px;
  }

  .mod_category .txt_lst .lnk.is_gr a {
    color: #aaa;
    cursor: default;
  }

  .mod_category .txt_lst .lnk.is_gr a::before {
    background-position: left -32px;
  }

  .mod_category .txt_lst .lnk a .srch_count {
    font-size: 13px;
    color:#333;
    font-weight:normal;
    letter-spacing: 0;
  }

  .mod_category .empty {
    display: inline-block;
    height: 60px;
    margin: 0 auto 10px;
    padding: 18px 0 0;
    text-align: center;
  }
  .mod_category .empty2 {
    width: 520px;
    height: 60px;
    margin: 0 5px 10px;
    padding: 18px 0 0;
  }

  /* カテゴリ個別調整 レストラン・ペット */
  .mod_category ._rest .txt_lst .lnk,
  .mod_category ._pet .txt_lst .lnk {
    height: 70px;
  }

  .mod_category ._rest .txt_lst .lnk a,
  .mod_category ._pet .txt_lst .lnk a {
    height: 66px;
  }

  /* サブカテゴリリスト リンクボタン長　col2 */

  .mod_category .txt_lst.col2 {
    width: 700px;
  }
  .mod_category .txt_lst.col2 .lnk {
    width: 340px;
  }
  .mod_category .txt_lst.col2 .lnk a {
    width: 340px;
  }

  /* ==== グルーピング化 リスト ==== */

  /* リード文・すべて見るボタン */
  .mod_category .lead {
    margin: 30px auto 10px;
    min-height: 40px;
    overflow: hidden;
    width: 780px;
  }

  .box._sports .lead{
    width: 690px;
  }

  #modal_category .box{
    width: auto;
  }

  .mod_category .lead p {
    display: table-cell;
    font-size: 15px;
    line-height: 1.5;
    min-width: 500px;
    padding-right: 20px;
    text-align: left;
  }

  .box._sports .lead p{
    min-width: 440px;
  }

  .mod_category .lead .all {
    border: 2px solid #b39852;
    border-radius: 4px;
    display: table-cell;
    font-size: 15px;
    font-weight: 600;
    height: 60px;
    vertical-align: top;
    width: 250px;
  }

  .mod_category .lead .all a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    border: 1px solid #fff;
    padding-left: 5px;
    /* width: 246px; */
    height: 100%;
    line-height: 1.2;
    background: #b39852;
    border-radius: 4px;
    color: #fff;
  }

  .mod_category .lead .all a::before {
    content: "";
    background: url(/image/top2/spr_icosrch_x2.png) no-repeat left -80px;
    background-size: cover;
    height: 14px;
    left: 7px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
  }

  .mod_category .lead .all:hover {
    border: 2px solid #fff;
  }

  .mod_category .lead .all:hover a{
    background: #fff;
    border: 2px solid #b39852;
    color: #b39852;
  }

  .mod_category .lead .all:hover a::before {
    background-position: left -48px;
    left: 6px;
  }

  .mod_category .lead .all a span {
    font-size: 12px;
  }

  /*サブカテゴリ在りカテゴリ #11873*/
  .mod_category .lead.exist_subcate p{
    width: 530px;
  }
  .mod_category .lead.exist_subcate .all{
    position: absolute;
    right: 67px;
    top: 160px;
    width: 240px;
  }

  .mod_category ._clinic .lead,
  .mod_category ._tour .lead{
    margin-top: 15px;
  }

  .mod_category ._clinic .lead.exist_subcate .all{
    top: 304px;
  }

  .mod_category ._tour .lead.exist_subcate .all{
    top: 280px;
  }

  .mod_category ._clinic hr,
  .mod_category ._tour hr,
  .mod_category ._rest hr{
    border: none;
    border-top: 1px solid #d3d0ab;
    width: 830px;
    margin: 0 auto;
  }

  /*カテゴリーバナー*/
  .mod_category .bnr_category{
    width: 560px;
    text-align: center;
    margin: 20px auto 15px;
  }

  .mod_category ._tour .bnr_category{
    margin:25px auto 15px;
  }

  .mod_category .bnr_category figure a{
    display: block;
  }
  .mod_category .bnr_category figcaption {
    font-size: 14px;
    line-height: 1.5;
    padding-top: 5px;
  }


  /* リスト lay_sep */
  .mod_category .txt_lst.lay_sep {
    margin: 0 auto;
    text-align: left;
    width: 780px;
  }

  .mod_category .txt_lst.lay_sep dt {
    color: #fff;
    display: inline-block;
    font-size: 17px;
    font-weight: 600;
    height: 34px;
    line-height: 35px;
    min-width: 200px;
    padding-left: 43px;
    padding-right: 10px;
    position: relative;
    text-align: left;
  }

  .mod_category .txt_lst.lay_sep dt::before {
    background: url(/image/top2/spr_icorhombus_x2.png) no-repeat left top;
    background-size: cover;
    content: "";
    height: 21px;
    left: 11px;
    position: absolute;
    top: 7px;
    width: 21px;
  }

  .mod_category .txt_lst.lay_sep dt::after {
    border-right: 30px solid transparent;
    border-top: 0 solid transparent;
    content: "";
    height: 0;
    position: absolute;
    right: -30px;
    top: 0;
    width: 0;
  }
/* リスト lay_sep  マーケットピア用*/
  .mod_category ._shop .txt_lst.lay_sep dt::before {
    background: url(/image/top2/spr_icorhombus_x2_m.png) no-repeat left top;
    background-size: cover;
    content: "";
    height: 21px;
    left: 11px;
    position: absolute;
    top: 7px;
    width: 21px;
  }
  /* 上場企業・上場会社：建設業（不動産業）タイトル調整 */
  .mod_category .txt_lst.lay_sep dt.corp_estate {
    padding-right: 0;
  }
  .mod_category .txt_lst.lay_sep dd {
    padding: 15px 0;
  }

  .mod_category .txt_lst.lay_sep ul {
    display: flex;
    display: -webkit-flex;
    flex-flow: row wrap;
    width: 780px;
  }

  .mod_category .txt_lst.lay_sep .lnk {
    width: 240px;
    height: 55px;
    margin: 0 30px 15px 0;
  }
  .mod_category .txt_lst.lay_sep .lnk:nth-of-type(3n) {
    margin-right: 0;
  }

  .mod_category .txt_lst.lay_sep .lnk a {
    height: 52px;
    width: 246px;
  }

  .mod_category .txt_lst.lay_sep .lnk a::before {
    left: 8px;
    top: 19px;
  }

  .mod_category .txt_lst.lay_sep .lnk a::before {
    font-size: 12px;
  }

  .mod_category .txt_lst.lay_sep .lnk a .srch_count {
    font-size: 12px;
  }

  .mod_category .txt_lst.lay_sep .empty {
    margin: 0;
    padding: 0;
    position: relative;
    width: 240px;
  }
  .mod_category .txt_lst.lay_sep .empty._connect {
    width: 510px;
  }

  .mod_category .txt_lst.lay_sep .empty2 {
    margin: 0;
    padding: 0;
    position: relative;
  }

  .mod_category .txt_lst.lay_sep li[class^="empty"] img {
    bottom: 0;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
  }

  /* カテゴリー名・件数 3列の場合 lay2 */
  .mod_category .txt_lst.lay2 .lnk,
  .mod_category .txt_lst.lay2 li[class^="empty"] {
    height: 70px;
  }

  .mod_category .txt_lst.lay2 .lnk a {
    height: 66px;
  }

  .mod_category .txt_lst.lay2 .lnk a::before {
    top: 26px;
  }

  /* 横並び row */
  .mod_category .txt_lst .row {
    width: 240px;
  }

  .mod_category .txt_lst .row._center {
    margin: 0 30px;
    width: 240px;
  }
  /*
  .mod_category .txt_lst .row dd {
    padding: 15px 0 20px;
  }
  */
  .mod_category .txt_lst .row ul {
    width: 250px;
  }

  .mod_category .txt_lst .row .lnk{
    margin: 0 0 10px;
  }

  /* 各カラー設定 */
  .mod_category .txt_lst dl:nth-of-type(4n+1) dt {
    background: #e16161;
  }

  .mod_category .txt_lst dl:nth-of-type(4n+1) dt:before {
    background-position: left -23px;
  }

  .mod_category .txt_lst dl:nth-of-type(4n+1) dt:after {
    border-bottom: 34px solid #e16161;
  }

  .mod_category .txt_lst dl:nth-of-type(4n+1) dd {
    border-top: 1px solid #e16161;
  }

  .mod_category .txt_lst dl:nth-of-type(4n+1) .lnk {
    background: #fee7e7;
    border-color: #ddaaaa;
  }

  .mod_category .txt_lst dl:nth-of-type(4n+1) .lnk a::before {
    background-position: left -16px;
  }
    
  .mod_category .txt_lst dl:nth-of-type(4n+2) dt {
    background: #2f5b99;
  }

  .mod_category .txt_lst dl:nth-of-type(4n+2) dt:before {
    background-position: left top;
  }

  .mod_category .txt_lst dl:nth-of-type(4n+2) dt:after {
    border-bottom: 34px solid #2f5b99;
  }

  .mod_category .txt_lst dl:nth-of-type(4n+2) dd {
    border-top: 1px solid #2f5b99;
  }

  .mod_category .txt_lst dl:nth-of-type(4n+2) .lnk {
    background: #e2f5fb;
    border-color: #a2c2cc;
  }

  .mod_category .txt_lst dl:nth-of-type(4n+2) .lnk a::before {
    background-position: left top;
  }
    
  .mod_category .txt_lst dl:nth-of-type(4n+3) dt {
    background: #cc9e10;
  }

  .mod_category .txt_lst dl:nth-of-type(4n+3) dt:before {
    background-position: left -46px;
  }

  .mod_category .txt_lst dl:nth-of-type(4n+3) dt:after {
    border-bottom: 34px solid #cc9e10;
  }

  .mod_category .txt_lst dl:nth-of-type(4n+3) dd {
    border-top: 1px solid #cc9e10;
  }

  .mod_category .txt_lst dl:nth-of-type(4n+3) .lnk {
    background: #f8eecf;
    border-color: #caba87;
  }

  .mod_category .txt_lst dl:nth-of-type(4n+3) .lnk a::before {
    background-position: left -48px;
  }

  .mod_category .txt_lst dl:nth-of-type(4n) dt {
    background: #4d873b;
  }

  .mod_category .txt_lst dl:nth-of-type(4n) dt:before {
    background-position: left -69px;
  }

  .mod_category .txt_lst dl:nth-of-type(4n) dt:after {
    border-bottom: 34px solid #4d873b;
  }

  .mod_category .txt_lst dl:nth-of-type(4n) dd {
    border-top: 1px solid #4d873b;
  }

  .mod_category .txt_lst dl:nth-of-type(4n) .lnk {
    background: #e8f8e3;
    border-color: #a3c697;
  }

  .mod_category .txt_lst dl:nth-of-type(4n) .lnk a::before {
    background-position: left -64px;
  }

  /* 各カラー設定 マーケットピア用 */
  .mod_category ._shop .txt_lst dl:nth-of-type(4n+1) dt {
    background: #e4648e;
  }

  .mod_category ._shop .txt_lst dl:nth-of-type(4n+1) dt:before {
    background-position: left -23px;
  }

  .mod_category ._shop .txt_lst dl:nth-of-type(4n+1) dt:after {
    border-bottom: 34px solid #e4648e;
  }

  .mod_category ._shop .txt_lst dl:nth-of-type(4n+1) dd {
    border-top: 1px solid #e4648e;
  }

  .mod_category ._shop .txt_lst dl:nth-of-type(4n+1) .lnk {
    background: #FEF6F5;
    border-color: #e4648e;
  }

  .mod_category ._shop .txt_lst dl:nth-of-type(4n+1) .lnk a::before {
    background-position: left -16px;
  }
    
  .mod_category ._shop .txt_lst dl:nth-of-type(4n+2) dt {
    background: #3fc0af;
  }

  .mod_category ._shop .txt_lst dl:nth-of-type(4n+2) dt:before {
    background-position: left top;
  }

  .mod_category ._shop .txt_lst dl:nth-of-type(4n+2) dt:after {
    border-bottom: 34px solid #3fc0af;
  }

  .mod_category ._shop .txt_lst dl:nth-of-type(4n+2) dd {
    border-top: 1px solid #3fc0af;
  }

  .mod_category ._shop .txt_lst dl:nth-of-type(4n+2) .lnk {
    background: #f0f9f8;
    border-color: #3fc0af;
  }

  .mod_category ._shop .txt_lst dl:nth-of-type(4n+2) .lnk a::before {
    background-position: left top;
  }
    
  .mod_category ._shop .txt_lst dl:nth-of-type(4n+3) dt {
    background: #b173ba;
  }

  .mod_category ._shop .txt_lst dl:nth-of-type(4n+3) dt:before {
    background-position: left -46px;
  }

  .mod_category ._shop .txt_lst dl:nth-of-type(4n+3) dt:after {
    border-bottom: 34px solid #b173ba;
  }

  .mod_category ._shop .txt_lst dl:nth-of-type(4n+3) dd {
    border-top: 1px solid #b173ba;
  }

  .mod_category ._shop .txt_lst dl:nth-of-type(4n+3) .lnk {
    background: #FEF9FB;
    border-color: #b173ba;
  }

  .mod_category ._shop .txt_lst dl:nth-of-type(4n+3) .lnk a::before {
    background-position: left -48px;
  }

  /* グレー */
  .mod_category .txt_lst dl .lnk.is_gr {
    background: #f6f6f6;
    border-color: #bbb;
  }

  .mod_category .txt_lst dl .lnk.is_gr a {
    color: #aaa;
    cursor: default;
  }

  .mod_category .txt_lst dl .lnk.is_gr a::before {
    background-position: left -32px;
  }

  /* バナー */
  .mod_category .txt_lst.lay_sep dl .bnr {
    background: none;
    border: none;
    border-radius: 0;
    height: auto;
    margin: 4px 30px 12px 0;
    position: relative;
    width: auto;
  }

  .mod_category .txt_lst.lay_sep dl .bnr a {
    height: auto;
    padding: 0;
    width: auto;
  }

  .mod_category .txt_lst.lay_sep dl .bnr a::before {
    content: none;
  }

  .mod_category .txt_lst.lay_sep dl .bnr a:hover {
    opacity: 0.8;
  }

  /* 中央寄せバナー */
  .mod_category .txt_lst.lay_sep dl .posicenter {
    margin: 4px 0 12px 40px;
    text-align: center;
    width: 350px;
  }
  .mod_category .txt_lst.lay_sep dl .posicenter:last-child {
    margin: 4px 40px 12px 0;
  }
  .mod_category .txt_lst.lay_sep dl .posicenter a {
    display: block;
  }
  
  /* 戻る・閉じるボタン */

  .mod_category .btn_box {
    margin: 10px auto 20px;
    text-align: center;
  }

  .mod_category .btn {
    position: relative;
    width: 210px;
    height: 45px;
    overflow: hidden;
    display: inline-block;
    border: none;
    margin: 0 12px;
    vertical-align: top;
  }

  .mod_category .btn.back {
    display: none;
  }

  .mod_category .btn img {
    left: 0;
    position: absolute;
    width: 422px;
  }

  .mod_category .btn:hover img {
    left: auto;
    right: 0;
  }

  /* 閉じる */

  .mod_category .btn.close img {
    bottom: 0;
  }

  /* カテゴリ選択に戻る */

  .mod_category .btn.back img {
    top: 0;
  }

  /* カテゴリ別背景画像 */
  .cate_image {
    padding-bottom: 15px;
    padding-top: 15px;
  }
  
  /*-- パブリネット用レイアウト --*/
  .mod_category ._public .lead {
    margin: 20px auto;
  }
  
  .mod_category ._public .lead p {
    display: inline-block;
    letter-spacing: 0.05em;
    line-height: 1.6;
    padding: 0;
    text-align: center;
  }
  
  .mod_category .h_ttl {
    background: #b4941a;
    display: inline-block;
    min-width: 360px;
    position: relative;
  }
  
  .mod_category .h_ttl::before,
  .mod_category .h_ttl::after {
    content: "";
    height: 48px;
    position: absolute;
    top: 0;
    width: 60px;
  }
  
  .mod_category .h_ttl::before {
    background: url("/search/image/dtl_new/bg-ttl-ribbon-l.png") no-repeat 0 -1px;
    background-size: cover;
    left: -60px;
  }
  
  .mod_category .h_ttl::after {
    background: url("/search/image/dtl_new/bg-ttl-ribbon-r.png") no-repeat 0 -1px;
    background-size: cover;
    right: -60px;
  }
  
  .mod_category .h_ttl span {
    color: #fff;
    display: inline-block;
    font-size: 22px;
    font-weight: 600;
    height: 40px;
    letter-spacing: 0.05em;
    line-height: 40px;
    padding-left: 43px;
    position: relative;
    text-align: center;
  }
  
  .mod_category .h_ttl span::before {
    bottom: 0;
    content: "";
    left: 0;
    margin: auto;
    position: absolute;
    top: 0;
  }
  
  /* カテゴリから検索 */
  .mod_category .cate_box {
    margin: 0 auto;
    width: 827px;
  }
  
  .mod_category .cate_box .h_ttl span::before {
    background: url("/search/image/dtl_new/ico-ttl-category.png") no-repeat 0 0;
    background-size: cover;
    height: 20px;
    width: 29px;
  }
  
  .mod_category .cate_box dt {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 20px;
    margin-top: 30px;
    position: relative;
    text-align: center;
  }
  
  .mod_category .cate_box dt::before,
  .mod_category .cate_box dt::after {
    bottom: 0;
    content: "";
    height: 10px;
    margin: auto;
    position: absolute;
    top: 0;
  }
  
  .mod_category .cate_box dt::before {
    background: url("/search/image/dtl_new/bg-sub-ttl-line.png") repeat-x 0 0;
    background-size: contain;
    left: 0;
  }
  
  .mod_category .cate_box dt::after {
    background: url("/search/image/dtl_new/bg-sub-ttl-line.png") repeat-x 0 0;
    background-size: contain;
    right: 0;
  }
  
  .mod_category .cate_box dl:nth-of-type(1) dt::before,
  .mod_category .cate_box dl:nth-of-type(1) dt::after {
    width: 328px;
  }
  
  .mod_category .cate_box dl:nth-of-type(2) dt::before,
  .mod_category .cate_box dl:nth-of-type(2) dt::after {
    width: 256px;
  }
  
  .mod_category .cate_box .cate_lst {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 15px auto 0;
    width: 770px;
  }
  
  .mod_category .cate_box .cate_lst .lnk {
    background: #fff;
    margin-bottom: 10px;
    width: 250px;
  }
  
  .mod_category .cate_box .cate_lst .lnk figure {
    border: 2px solid #223573;
  }
  
  .mod_category .cate_box .cate_lst .lnk a:hover figure {
    opacity: 0.7;
  }
  
  .mod_category .cate_box .cate_lst .lnk figcaption {
    align-items: center;
    background: #223573;
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    font-size: 16px;
    font-weight: 600;
    justify-content: center;
    letter-spacing: 0.05em;
    min-height: 45px;
    padding-right: 20px;
    position: relative;
    text-align: center;
  }
  
  .mod_category .cate_box .cate_lst .lnk figcaption::before,
  .mod_category .cate_box .cate_lst .lnk figcaption::after {
    bottom: 0;
    content: "";
    margin: auto;
    position: absolute;
    right: 5px;
    top: 0;
    vertical-align: middle;
  }
  
  .mod_category .cate_box .cate_lst .lnk figcaption::before {
    background: #fff;
    border-radius: 50%;
    box-sizing: border-box;
    height: 15px;
    width: 15px;
  }
  
  .mod_category .cate_box .cate_lst .lnk figcaption::after {
    border-top: 2px solid #223573;
    border-right: 2px solid #223573;
    height: 7px;
    right: 10px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 7px;
  }
  
  .mod_category .cate_box .cate_lst .empty {
    height: auto;
    margin: 0;
    padding: 0;
  }
  
  .mod_category .cate_box .cate_lst li:nth-last-child(-n+3) {
    margin-bottom: 0;
  }
  
  /* SNSアカウント */
  .mod_category .sns_box {
    margin-top: 30px;
  }
  
  .mod_category .sns_box .h_ttl span::before {
    background: url("/search/image/dtl_new/ico-ttl-sns.png") no-repeat 0 0;
    background-size: cover;
    height: 26px;
    width: 28px;
  }
  
  .mod_category .sns_box .lead {
    letter-spacing: 0.05em;
    margin-bottom: 0;
    margin-top: 23px;
    min-height: auto;
  }
  
  .mod_category .sns_box .sns_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 15px auto 0;
    width: 815px;
  }
  
  .mod_category .sns_box .sns_list li {
    background: #fff;
  }
  
  .mod_category .sns_box .sns_list li a {
    border-radius: 3px;
    box-shadow:0px 1px 2px 0px rgba(85,85,85,0.35);
    color: #fff;
    display: inline-block;
    font-size: 15px;
    font-weight: 600;
    height: 35px;
    letter-spacing: 0.05em;
    line-height: 35px;
    padding-left: 20px;
    position: relative;
    text-align: center;
    width: 155px;
  }
  
  .mod_category .sns_box .sns_list li a::before {
    bottom: 0;
    content: "";
    left: 7px;
    margin: auto;
    position: absolute;
    top: 0;
  }
  
  .mod_category .sns_box .sns_list li a:hover {
    opacity: 0.7;
  }
  
  .mod_category .sns_box .sns_list .fb a {
    background: #3a5e9d;
    background: -moz-linear-gradient(top, #3a5e9d 0%, #33538b 100%);
    background: -webkit-linear-gradient(top, #3a5e9d 0%,#33538b 100%);
    background: linear-gradient(to bottom, #3a5e9d 0%,#33538b 100%);
  }
  
  .mod_category .sns_box .sns_list .fb a::before {
    background: url("/search/image/dtl_new/ico-sns-fb.png") no-repeat 0 0;
    background-size: cover;
    height: 19px;
    width: 19px;
  }
  
  .mod_category .sns_box .sns_list .tw a {
    background: #3799d0;
    background: -moz-linear-gradient(top, #3799d0 0%, #3187b8 100%);
    background: -webkit-linear-gradient(top, #3799d0 0%,#3187b8 100%);
    background: linear-gradient(to bottom, #3799d0 0%,#3187b8 100%);
  }
  
  .mod_category .sns_box .sns_list .tw a::before {
    background: url("/search/image/dtl_new/ico-sns-tw.png") no-repeat 0 0;
    background-size: cover;
    height: 17px;
    width: 20px;
  }
  
  .mod_category .sns_box .sns_list .yt a {
    background: #cf3a39;
    background: -moz-linear-gradient(top, #cf3a39 0%, #b73332 100%);
    background: -webkit-linear-gradient(top, #cf3a39 0%,#b73332 100%);
    background: linear-gradient(to bottom, #cf3a39 0%,#b73332 100%);
  }
      
  .mod_category .sns_box .sns_list .yt a::before {
    background: url("/search/image/dtl_new/ico-sns-yt.png") no-repeat 0 0;
    background-size: cover;
    height: 15px;
    width: 20px;
  }
  
  .mod_category .sns_box .sns_list .ig a {
    background: #a369c5;
    background: -moz-linear-gradient(top, #a369c5 0%, #905dae 100%);
    background: -webkit-linear-gradient(top, #a369c5 0%,#905dae 100%);
    background: linear-gradient(to bottom, #a369c5 0%,#905dae 100%);
  }
    
  .mod_category .sns_box .sns_list .ig a::before {
    background: url("/search/image/dtl_new/ico-sns-ig.png") no-repeat 0 0;
    background-size: cover;
    height: 21px;
    left: 6px;
    width: 21px;
  }
  
  .mod_category .sns_box .sns_list .photo a {
    background: #da58a1;
    background: -moz-linear-gradient(top, #da58a1 0%, #c04e8e 100%);
    background: -webkit-linear-gradient(top, #da58a1 0%,#c04e8e 100%);
    background: linear-gradient(to bottom, #da58a1 0%,#c04e8e 100%);
    font-size: 14px;
    letter-spacing: 0;
    padding-left: 30px;
  }
  
  .mod_category .sns_box .sns_list .photo span {
    font-size: 12px;
  }
  
  .mod_category .sns_box .sns_list .photo a::before {
    background: url("/search/image/dtl_new/ico-sns-photo.png") no-repeat 0 0;
    background-size: cover;
    height: 28px;
    left: 3px;
    width: 28px;
  }
  
  /* 関連サイトのご紹介 */
  .mod_category .site_box {
    background: #f9efdd;
    border: 1px solid #b7af9f;
    box-sizing: border-box;
    margin: 55px auto 30px;
    padding: 4px;
    position: relative;
    width: 730px;
  }
  
  .mod_category .site_box .h_ttl {
    left: 185px;
    position: absolute;
    top: -25px;
    z-index: 1;
  }
  
  .mod_category .site_box .h_ttl span::before {
    background: url("/search/image/dtl_new/ico-ttl-site.png") no-repeat 0 0;
    background-size: cover;
    height: 23px;
    position: absolute;
    top: 0;
    width: 30px;
  }
  
  .mod_category .site_box .js_lst_box {
    background: url("/search/image/dtl_new/bg-frame-l.png") no-repeat left -1px top -1px,url("/search/image/dtl_new/bg-frame-r.png") no-repeat right -1px top -1px;
    background-size: 18px;
    border: 1px dashed #d5c9b5;
    position: relative;
  }
  
  .mod_category .site_box .js_lst_box::before,
  .mod_category .site_box .js_lst_box::after {
    bottom: -1px;
    content: "";
    height: 18px;
    position: absolute;
    transform: scale(1, -1);
    width: 18px;
  }
  
  .mod_category .site_box .js_lst_box::before {
    background: url("/search/image/dtl_new/bg-frame-l.png") no-repeat 0 0;
    background-size: cover;
    left: -1px;
  }
  
  .mod_category .site_box .js_lst_box::after {
    background: url("/search/image/dtl_new/bg-frame-r.png") no-repeat 0 0;
    background-size: cover;
    right: -1px;
  }
  
  .mod_category .site_box .js_lst_box .lst {
    display: flex;
    margin: 42px auto 45px;
    width: 615px;
  }
  
  .mod_category .site_box .js_lst_box .lnk {
    margin-right: 15px;
    width: 300px;
  }
    
  .mod_category .site_box .js_lst_box .lnk a {
    display: block;
  }
  
  .mod_category .site_box .js_lst_box .lnk a:hover {
    opacity: 0.7;
  }
  
  .mod_category .site_box .js_lst_box .lnk .cap {
    font-size: 14px;
    font-weight: normal;
    line-height: 1.2;
    padding-top: 8px;
    text-align: left;
  }
  
  /* slick調整 */
  
  .mod_category .site_box .js_lst_box .slick-prev,
  .mod_category .site_box .js_lst_box .slick-next {
    top: 27px;
  }
  
  .mod_category .site_box .js_lst_box .slick-prev {
    left: -43px;
  }
  
  .mod_category .site_box .js_lst_box .slick-next {
    right: -43px;
  }
  
  .mod_category .site_box .js_lst_box .slick-dots {
    bottom: -33px;
  }
  
  .mod_category .site_box .js_lst_box .slick-dots li {
    margin: 0 3px;
  }
  
  .mod_category .site_box .js_lst_box .slick-dots li button:before {
    background: #ccb284;
    height: 8px;
    opacity: 1;
    width: 8px;
  }
  
  .mod_category .site_box .js_lst_box .slick-dots li.slick-active button:before {
    background: #76603b;
  }
/* ---------------------------------------------
 JS プラグイン　perfect-scrollbar用CSS
  origin : /js/scrollbar/perfect-scrollbar.css
---------------------------------------------- */
/* perfect-scrollbar v0.6.13 */
.ps-container {
  overflow: hidden !important;

  -ms-touch-action: auto;
  touch-action: auto;
  -ms-overflow-style: none;
}
@supports (-ms-overflow-style: none) {
  .ps-container {
    overflow: auto !important;
  }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .ps-container {
    overflow: auto !important;
  }
}
.ps-container.ps-active-x > .ps-scrollbar-x-rail,
.ps-container.ps-active-y > .ps-scrollbar-y-rail {
  background-color: transparent; 
  display: block;
}
.ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail {
  background-color: #eee;
  opacity: 0.9;
}
.ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x {
  background-color: #999;
  height: 11px;
}
.ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail {
  background-color: #eee;
  opacity: 0.9;
}
.ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y {
  background-color: #999;
  width: 11px;
}
.ps-container > .ps-scrollbar-x-rail {
  bottom: 0;
  display: none;
  /* there must be 'bottom' for ps-scrollbar-x-rail */
  height: 15px; 
  /* please don't change 'position' */
  opacity: 0;
  position: absolute;
  transition: background-color 0.2s linear, opacity 0.2s linear;
  -moz-transition: background-color 0.2s linear, opacity 0.2s linear;
  -o-transition: background-color 0.2s linear, opacity 0.2s linear;
  -webkit-transition: background-color 0.2s linear, opacity 0.2s linear;
}
.ps-container > .ps-scrollbar-x-rail > .ps-scrollbar-x {
  /* please don't change 'position' */
  background-color: #aaa;
  border-radius: 6px;
  bottom: 2px;
  /* there must be 'bottom' for ps-scrollbar-x */
  height: 6px; 
  position: absolute;
  transition: background-color 0.2s linear, height 0.2s linear, width 0.2s ease-in-out, -webkit-border-radius 0.2s ease-in-out;
  transition: background-color 0.2s linear, height 0.2s linear, width 0.2s ease-in-out, border-radius 0.2s ease-in-out;
  transition: background-color 0.2s linear, height 0.2s linear, width 0.2s ease-in-out, border-radius 0.2s ease-in-out, -webkit-border-radius 0.2s ease-in-out, -moz-border-radius 0.2s ease-in-out;
  -moz-border-radius: 6px;
  -moz-transition: background-color 0.2s linear, height 0.2s linear, width 0.2s ease-in-out, border-radius 0.2s ease-in-out, -moz-border-radius 0.2s ease-in-out;
  -o-transition: background-color 0.2s linear, height 0.2s linear, width 0.2s ease-in-out, border-radius 0.2s ease-in-out;
  -webkit-border-radius: 6px;
  -webkit-transition: background-color 0.2s linear, height 0.2s linear, width 0.2s ease-in-out, -webkit-border-radius 0.2s ease-in-out;
}
.ps-container > .ps-scrollbar-x-rail:hover > .ps-scrollbar-x,
.ps-container > .ps-scrollbar-x-rail:active > .ps-scrollbar-x {
  height: 11px;
}
.ps-container > .ps-scrollbar-y-rail {
  display: none;
  /* please don't change 'position' */
  opacity: 0;
  position: absolute;
  right: 0;
  transition: background-color 0.2s linear, opacity 0.2s linear;
  /* there must be 'right' for ps-scrollbar-y-rail */
  width: 15px; 
  -moz-transition: background-color 0.2s linear, opacity 0.2s linear;
  -o-transition: background-color 0.2s linear, opacity 0.2s linear;
  -webkit-transition: background-color 0.2s linear, opacity 0.2s linear;
}
.ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y {
  /* please don't change 'position' */
  background-color: #aaa;
  border-radius: 6px;
  position: absolute;
  right: 2px;
  transition: background-color 0.2s linear, height 0.2s linear, width 0.2s ease-in-out, -webkit-border-radius 0.2s ease-in-out;
  transition: background-color 0.2s linear, height 0.2s linear, width 0.2s ease-in-out, border-radius 0.2s ease-in-out;
  transition: background-color 0.2s linear, height 0.2s linear, width 0.2s ease-in-out, border-radius 0.2s ease-in-out, -webkit-border-radius 0.2s ease-in-out, -moz-border-radius 0.2s ease-in-out;
  /* there must be 'right' for ps-scrollbar-y */
  width: 6px; 
  -moz-border-radius: 6px;
  -moz-transition: background-color 0.2s linear, height 0.2s linear, width 0.2s ease-in-out, border-radius 0.2s ease-in-out, -moz-border-radius 0.2s ease-in-out;
  -o-transition: background-color 0.2s linear, height 0.2s linear, width 0.2s ease-in-out, border-radius 0.2s ease-in-out;
  -webkit-border-radius: 6px;
  -webkit-transition: background-color 0.2s linear, height 0.2s linear, width 0.2s ease-in-out, -webkit-border-radius 0.2s ease-in-out;
}
.ps-container > .ps-scrollbar-y-rail:hover > .ps-scrollbar-y,
.ps-container > .ps-scrollbar-y-rail:active > .ps-scrollbar-y {
  width: 11px;
}
.ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail {
  background-color: #eee;
  opacity: 0.9;
}
.ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x {
  background-color: #999;
  height: 11px;
}
.ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail {
  background-color: #eee;
  opacity: 0.9;
}
.ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y {
  background-color: #999;
  width: 11px;
}
.ps-container:hover > .ps-scrollbar-x-rail,
.ps-container:hover > .ps-scrollbar-y-rail {
  opacity: 0.6;
}
.ps-container:hover > .ps-scrollbar-x-rail:hover {
  background-color: #eee;
  opacity: 0.9;
}
.ps-container:hover > .ps-scrollbar-x-rail:hover > .ps-scrollbar-x {
  background-color: #999;
}
.ps-container:hover > .ps-scrollbar-y-rail:hover {
  background-color: #eee;
  opacity: 0.9;
}
.ps-container:hover > .ps-scrollbar-y-rail:hover > .ps-scrollbar-y {
  background-color: #999;
}

/* ---------------------------------------------
 パブリネット 関連図
---------------------------------------------- */
/* 共通項-メインタイトル */

.box_relation_site {
  background: #fff;
  border: 2px solid #e0d5bf;
  box-sizing: border-box;
  margin: 40px auto 0;
  padding: 0 0 25px;
  position: relative;
}

.ttl_relation_site {
  background: #9a1320;
  box-shadow: 0 5px 3px -3px rgba(137, 127, 100, 0.45);
  box-sizing: border-box;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  height: 35px;
  left: -11px;
  letter-spacing: .05em;
  line-height: 35px;
  margin: 0;
  padding: 0 55px 0 40px;
  position: absolute;
  top: 20px;
  text-align: center;
}

.ttl_relation_site::before {
  border-bottom: solid 5px transparent;
  border-right: 10px solid #4b0a0e;
  content: "";
  left: 0;
  position: absolute;
  top: 100%;
}

.ttl_relation_site::after {
  border-color: transparent #fff transparent transparent;
  border-style: solid;
  border-width: 18px 20px 18px 0;
  content: "";
  height: 0;
  position: absolute;
  right: -1px;
  top: 0;
  width: 0;
  z-index: 1;
}



/* 共通項-リード */

.txt_relation_site {
  font-feature-settings: "palt";
  font-size: 17px;
  letter-spacing: .05em;
  line-height: 1.6;
  margin: 75px auto 0;
  text-align: left;
  width: calc(100% - 140px);
}



/* 共通項-ボタン */

#relation_site .lnk_relation_site .btn {
  align-items: center;
  background: #f00;
  border-radius: 20px;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, .3);
  color: #fff;
  display: flex;
  font-size: 13px;
  font-weight: bold;
  height: 40px;
  justify-content: center;
  margin: 0;
  position: relative;
  text-align: left;
  text-indent: -1em;
  transition: background-color 0.1s 0s linear;
  width: 100%;
}

#relation_site .lnk_relation_site .btn::after {
  border-style: solid;
  border-width: 4px 0 4px 6px;
  border-color: transparent transparent transparent #fff;
  bottom: 0;
  content: "";
  height: 0;
  margin: auto 0;
  position: absolute;
  right: 11px;
  top: 0;
  width: 0;
}

#relation_site .lnk_relation_site .btn.public::after {
  content: none;
}

#relation_site .lnk_relation_site .btn.school {
  background: #437cf8;
}

#relation_site .lnk_relation_site .btn.school:hover {
  background: #8caef9;
}
#relation_site .lnk_relation_site .btn.bank {
  background: #0941a9;
  width: 81.5%;
}

#relation_site .lnk_relation_site .btn.bank:hover {
  background: #3b6ac1;
}

#relation_site .lnk_relation_site .btn.public {
  background: #b59a04;
}

#relation_site .lnk_relation_site span.btn.public {
  background: #fff;
  border: 2px solid #b59a04;
  box-shadow: none;
  color: #b59a04;
  text-indent: 0;
}

#relation_site .lnk_relation_site a.btn.public:hover {
  background: #d6c35c;
}
/* 3列レイアウト */

.box_relation_site.l3 {
  width: 800px;
}

.box_relation_site.l3 .img_relation_site {
  height: 221px;
  margin: 30px auto 0;
  position: relative;
  width: 660px;
}

.box_relation_site.l3 .lnk_relation_site {
  height: 100%;
  position: absolute;
  width: 100%;
  z-index: 2;
}

.box_relation_site.l3 .lnk_relation_site li {
  align-items: flex-end;
  display: flex;
  height: 100%;
  justify-content: center;
  position: absolute;
  width: 24.5%;
}

.box_relation_site.l3 .lnk_relation_site .lnk_1st {
  left: 0;
  top: 0;
}

.box_relation_site.l3 .lnk_relation_site .lnk_2nd {
  left: 0;
  margin: 0 auto;
  right: 0;
  top: 0;
  width: 29%;
}

.box_relation_site.l3 .lnk_relation_site .lnk_3rd {
  right: 0;
  top: 0;
}

/* 4列レイアウト */

.box_relation_site.l4 {
  width: 800px;
}

.box_relation_site.l4 .img_relation_site {
  margin: 20px auto 0;
  position: relative;
  width: 608px;
}

.box_relation_site.l4 .lnk_relation_site {
  height: 100%;
  position: absolute;
  width: 100%;
  z-index: 2;
}

.box_relation_site.l4 .lnk_relation_site li {
  align-items: flex-end;
  display: flex;
  height: 172px;
  justify-content: center;
  position: absolute;
  width: 160px;
}

.box_relation_site.l4 .lnk_relation_site .lnk_1st {
  left: 129px;
  top: -5px;
}

.box_relation_site.l4 .lnk_relation_site .lnk_2nd {
  right: 119px;
  top: -5px;
}

.box_relation_site.l4 .lnk_relation_site .lnk_3rd {
  bottom: 0;
  left: 129px;
}
.box_relation_site.l4 .lnk_relation_site .lnk_4th {
  bottom: 0;
  right: 119px;
}
#relation_site .lnk_relation_site .btn.homemate {
  background: #ed1e8e;
  width: 81.5%;
}
#relation_site .lnk_relation_site .btn.homemate:hover {
  background: #ff7ba5;
}

/*モーダルログイン内ログイン認証注意書きテキスト*/
.box_login_caution_modal {
  position: relative;
  box-sizing: border-box;
  margin: 35px auto 0;
  padding: 13px 5% 13px 4%;
  width: 100%;
  border: 1px solid #c50101;
}

#mod_login_caution .ttl,
.box_login_caution_modal .ttl {
  position: absolute;
  left: 0;
  right: 0;
  top: -15px;
  display: inline-block;
  margin: 0 auto;
  padding: 1% 6% 1% 11%;
  width: 80%;
  background: #f6eee0;
  text-align: center;
  font-weight: 100;
  letter-spacing: 0.14em;
  font-feature-settings: "palt";
  font-size: 17px;
}

.box_login_caution_modal .ttl::before {
  content: "!";
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 2px;
  left: 20px;
  text-indent: 2px;
  margin-right: 18px;
  width: 22px;
  height: 22px;
  background: #c50101;
  border-radius: 50%;
  text-align: center;
  vertical-align: middle;
  line-height: 22px;
  color: #fff;
}

.box_login_caution_modal .read {
  text-align: left;
  font-size: 15px;
  line-height: 1.5333333;
  letter-spacing: 0.14em;
  font-feature-settings: "palt";
}

.box_login_caution_modal .read p{
  margin: 0 auto;
}

.box_login_caution_modal strong {
  color: #c50101;
  font-weight: 100;
}