@charset "utf-8";


/*  ソートの列
========================================================================== */
table.dataTable th.sorting_asc,
table.dataTable th.sorting_desc {
    background-color: #ebe7e2;
}
.odd .sorting_1 {
    background-color: #ecf2f6 !important;
}

.even .sorting_1 {
    background-color: #dce6ee !important;
}


/*  ソートの三角
========================================================================== */
table.dataTable thead > tr > th.sorting::before,
table.dataTable thead > tr > th.sorting::after {
  opacity: 0.3 !important;
  color: #000e61 !important;
}

table.dataTable thead > tr > th.sorting_asc::before,
table.dataTable thead > tr > th.sorting_desc::after,
table.dataTable thead > tr > td.sorting_asc::before,
table.dataTable thead > tr > td.sorting_desc::after {
  opacity: 1 !important;
  color: #000e61 !important;
}



/*  ヘッダー
========================================================================== */
.page-template-page-spmap .l-header__inner {
  height: 65px !important;
}
.page-template-page-spmap .area_header {
  position: relative;
}
.page-template-page-spmap .tsds_data_info {
  	position: absolute;
	bottom:10px;
	right:0;
	font-size: 0.9em;
}
@media only screen and (max-width: 1199px) {
  .l-inner {
    padding: 0 !important;
  }
}


/*  検索結果一覧ページ
========================================================================== */
.search_top .kensuu  {
	padding: 22px 10px;
}
.search_top .kensuu .num {
	font-weight:bold;
}
.search_top_text .extra {
	text-align:right;
	margin: 0 auto 10px auto;
	width: 100%;
}
.search_top {
	margin: 0px auto;
  	padding: 0;
  	width: 100%;
  	max-width: 1170px;
}
.tsds_search_pagination_area_top {
	display:flex;
}
@media screen and (max-width:767px){
	.tsds_search_pagination_area_top {
		display:block;
	}
}
.tsds_search_pagination_icon span {
	margin-left:10px;
	margin-right:15px;
}
.search_result_list {
	background-color:#fff;
	margin-top: 20px !important;
	padding:10px 20px 7px 20px !important;
}
.search_result_list .search_result_box{
	position:relative;
}
.search_result_list .search_result_description {
	position:absolute;
	top:0;
	right:0;
	padding:5px 10px;
  	border: 1px #dddddd solid;
	margin-top: 30px;
	font-size:0.8em;
}
@media screen and (max-width:767px){
	.search_result_list .search_result_description {
		margin-top: 14px;
    	margin-bottom: 20px;
		position:static;
	}	
}
.search_result_description p {
	margin:0 !important;
}
.search_result_description .icon_specialist,
.search_result_description .icon_skin,
.search_result_description .icon_cosmetic {
  width: 115px !important;
  display: inline-block !important;
}




.search_result_list table.tsds_search_table {
	border:none !important;	
	padding:0 !important;
}
.search_result_list .search_result {
  	margin-left: 0;
  	margin-right: 0;
}
.search_result_list table.dataTable {
  	border-collapse: collapse;
		font-size:13px;

}
.search_result_list .search_result_hits {
  	margin-bottom: 5px;
  	margin-left: 0;
	font-size: 16px;
}
.search_result_list .setsumei {
  	margin-bottom: 15px;
}
.search_result_list .setsumei span {
	padding: 0 5px;
  	color: white;
  	background-color: #1379a1;
}

.search_result_list table.dataTable tbody td {
  padding: 2px 2px;
}
.search_result_list table.tsds_search_table td {
  background: #ecf2f6;
}
.search_result_list .icon_specialist {
	background-color:#45A7DC;	
	color:#fff;
	width:100%;
	min-width: 115px;
	display:block;
	text-align:center;
	border-radius:3px;
	white-space: nowrap;
	margin-bottom:5px;
}
.search_result_list .icon_skin {
	background-color:#FF7800;	
	color:#fff;
	width:100%;
	min-width: 115px;
	display:block;
	text-align:center;
	border-radius:3px;
	white-space: nowrap;
	margin-bottom:5px;
}
.search_result_list .icon_cosmetic {
	background-color:#EA68A3;	
	color:#fff;
	width:100%;
	min-width: 115px;
	display:block;
	text-align:center;
	border-radius:3px;
	white-space: nowrap;
}
.search_result_list .website {
  background: url(../img/icon_6m_24.png) no-repeat left center;
  padding: 3px 0 3px 24px;
  font-size: 0.9em;
}
.search_result_list #spmap_list tr:hover td {
  background-color: #d5edfd ;
}
.search_result_list #spmap_list th:hover  {
  color: #09F ;
}




/*  ページネーション
========================================================================== */
.tsds_search_pagination {
    text-align:center;
	margin-top:30px;
}
.tsds_search_pagination li{
    display: inline;
}
.tsds_search_pagination a {
	padding: 9px 15px !important;
	margin:0 3px;
	background-color: #eee;
	text-decoration:none !important;
}
.tsds_search_pagination a:hover {
	background-color: #205278;
	color:#fff;
}
.tsds_search_pagination .page_current {
	padding: 9px 15px !important;
	margin:0 3px;
  	background-color: #205278;
	color:#fff;
}
	


/*   ヘッダー
========================================================================== */
@media only screen and (max-width: 1199px) {
  .l-header {
	  border-bottom: none !important;
	  height: auto !important;
	}
  .l-header__logo img {
    max-width: 88% !important;
    height: auto !important;
  }
}
@media screen and (max-width:1199px){
	.l-header__inner {
  		display: inherit !important;
	}
}
.l-header .txt {
	right: 0;
  	position: absolute;
}
@media screen and (max-width:1199px){
	.l-header .txt {
		right: inherit;
  		position: relative;
		line-height:1;
	}
}
@media only screen and (max-width: 1199px) {
  .l-header .l-header__inner {
    width: 100%;
    margin-bottom: 1em;
  }
}


/*   検索エリア
========================================================================== */
.search_body {
    margin: 0px auto 65px auto;
    padding: 0;
    width: 100%;
    max-width:1170px;
    display: flex;
}
@media screen and (max-width:1199px){
    .search_body {
        display:block;
    }
}



/*   検索項目
========================================================================== */
.aside {
    margin: 0 0 0 2px;
    padding: 0;
    width: 28%;
}
@media screen and (max-width:1199px){
    .aside {
        width: 100%;
    }
}
.aside img {
    max-width:100%;
    height:auto;
}
.aside .search_title {
    margin-top:35px;
	margin-bottom:40px;
    text-align:center;
	border-bottom: solid 2px #344592;
	padding-bottom:12px;
}
.aside .search_btn {
    margin-top:36px;
	margin-bottom: 30px;
    text-align:center;
}
@media screen and (max-width:1199px){
    .aside .search_btn {
        margin-bottom:50px;
    }
}
.search {
	padding-right:10px;
}
.search .parent {
	display:flex;
	margin-top:20px;
}
@media screen and (max-width:1199px){
	.search .parent {
		display:block;
    }
}

.search .parent1 {
	margin-top:20px;
}
.search .parent2 {
	margin-top:20px;
}
.search .parent .child1 {
	width:25%;
	font-weight: bold;
	margin-bottom: 5px;
	font-size: 13px;
  padding-top: 8px;
}
.search .parent1 .child1,
.search .parent2 .child1 {
	font-weight: bold;
}
.search .parent .child2 {
	width:75%;
}
.search .parent .child2 p {
	margin-top:5px;
	font-size:0.8em;
	line-height:1.8;
	text-shadow: 2px 3px 3px rgba(255, 255, 255, 0.8);
}
@media screen and (max-width:1199px){
	.search .parent .child2 {
		width:98%;
	}
}
.search .parent input,
.search .parent2 input {
	max-width:100% !important;
	width:100%;
	vertical-align:middle !important;
}
.search .parent [type="checkbox"]{
	width:auto !important;	
}
.search .parent .child2 label {
	margin-right:10px;
}
.box_qa {
  	font-size: 11px;
	margin-top:10px;
}



/*   地図
========================================================================== */
.search_map {
    background-image: url("https://sample.webpage.tokyo/jssoc_directory/jssoc/wp-content/uploads/2025/11/map.png");
    background-position: 20% 25%;
    background-repeat  : no-repeat;
    margin: 20px 0 0 46px;
    padding: 0 0 2% 0;
    height: 580px;
    width: 70%;
    font-size: 16px;
    position: relative;
	color:#000;
}
@media screen and (max-width:1199px){
    .search_map {
        width: 100%;
        margin: 0 0 0 0;
		background-position: center center;
    }
}
@media screen and (max-width: 1199px) {
    .search_map table {
        width: 100%;
    }
}
.search_map table {
	margin-bottom:0 !important;
}
.search_map td, .search_map th {
  border: none;
  padding: 1px 1.5px;
}

.search_map table tbody tr td a {
    color: #fff;
    text-decoration: none !important;
    height: 25px;
    width: 50px;
    display: block;
    margin: 1px 0;
	padding: 0;
	text-align: center;
	line-height: 1.6;
	font-size: 14px;
}
@media screen and (max-width:1199px){
    .search_map table tbody tr td a {
        width:100%;
    }
}
.table_title {
	margin-left: 3px;
  	margin-bottom: 5px;
	letter-spacing: 0.1em;
}

.search_map .hokkaido	{
    position: absolute;
    top: 20px;
    left: 521px;
    background: #fbe4a8;
    padding: 10px 13px;
	min-width:167px;
}
.search_map .hokkaido table tr td a {
    background: #CC9D1E;
}

.search_map .tohoku	{
    position: absolute;
	top: 116px;
  	left: 521px;
	background: #f2c3cb;
    padding: 10px 13px;
}
.search_map .tohoku table tr td a {
    background: #F56B82;
}
.search_map .kanto{
    position: absolute;
	top: 243px;
  	left: 521px;
	background: #B0BCDF;
    padding: 10px 13px;
}
.search_map .kanto table tr td a {
    background: #4567D1;
}
.search_map .chubu {
    position: absolute;
	top: 400px;
  	left: 521px;
	background: #cff1f4;
    padding: 10px 13px;
}
.search_map .chubu table tr td a {
    background: #2fbdc8;
}
.search_map .shikoku {
    position: absolute;
    top: 379px;
    left: 183px;
    background: #f1f1ff;
    padding: 10px 13px;
}
.search_map .shikoku table tr td a {
    background: #9090f1;
}
.search_map .chugoku {
    position: absolute;
    top: 116px;
    left: 71px;
    background: #C4EFDC;
    padding: 10px 13px;
}
.search_map .chugoku table tr td a {
    background: #589455;
}
.search_map .kyushu{
    position: absolute;
	top: 472px;
  	left: 31px;
    background: #BEE5BC;
    padding: 10px 13px;
}
.search_map .kyushu table tr td a {
    background: #1F9319;
}
.search_map .kinki {
    position: absolute;
	top: 400px;
  	left: 277px;
	background: #DED8FA;
    padding: 10px 13px;
}
.search_map .kinki table tr td a {
    background: #696CD2;
}

.search_map_mobile{
	display:none;	
}
@media screen and (max-width:1199px){
	.search_map {
		background-image: none;
		height: auto !important;
	}
	.search_map td  {
		width:50%;
	}
	.search_map_mobile{
		display:block;	
	}
	.search_map_mobile img {
		max-width:90%;
		height:auto;
		margin-bottom:2em;
	}
	.search_map_pc	{
        display:none;
    }
	.search_map .hokkaido,
	.search_map .tohoku,
	.search_map .kanto,
	.search_map .chubu,
	.search_map .kinki,
	.search_map .chugoku,
	.search_map .kyushu	{
		position: initial;
	}
}



/*  フッター 
========================================================================== */
footer {
    width: 100%;
    text-align: center;
    padding: 2px 0 ;
    margin-top:auto;
}
.footer-text {
    color: #fff;
    font-size:small;
    margin:5px;
}



/*  画像リンク透過 
========================================================================== */
a:hover img {
    opacity: 0.8;
    filter: alpha(opacity=80);
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
}



/*  画像はっきり表示 
========================================================================== */
img {
    image-rendering: -webkit-optimize-contrast;
}



/*  表示　非表示 
========================================================================== */
.disp-no-tabletika {display:block;}
@media only screen and (max-width: 1199px){
    .disp-no-tabletika {display:none;}
}
.disp-no-mobile {display:block;}
@media only screen and (max-width: 768px){
    .disp-no-mobile {display:none;}
}
.disp-tablet {display:none;}
@media screen and (max-width:1199px){
    .disp-tablet {display:block;}
}
.disp-mobile {display:none;}
@media screen and (max-width:768px){
    .disp-mobile {display:block;}
}


/* その他
========================================================================== */
body {
	display: flex;
  	flex-direction: column;
  	min-height: 100vh;
}
.text-center {
    text-align: center;
}

/* ----------------------------------- */
/* 基本スタイル (共通) */
/* ----------------------------------- */
.member-list-grid {
    display: grid;
    gap: 3px 1%;
    padding: 10px;
    margin: 0 auto;
	width:100%;
}
@media only screen and (max-width: 1199px) {
  .member-list-grid {
    width: auto;
  }
}

.member-card {
    /* デフォルト (モバイル) では縦方向に並べる */
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* 左寄せにする */
    border-bottom: 1px solid #ddd;
    padding: 5px 2px;
}

/* 名前とノートを横並びにするためのグループ */
.name-group {
    display: flex; /* Flexboxで横並びに */
    align-items: center; /* 縦方向の中央揃え */
    width: 100%; /* モバイルでカード幅いっぱいに広げる */
    overflow: hidden; /* 名前が長い場合の処理のために */
}

/* region-tag のスタイル (モバイル: 縦積み) */
.region-tag {
    background-color: #6DB6AF;
    color: white;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: bold;
    margin-right: 0;
    margin-bottom: 4px;
    flex-shrink: 0;
}

/* member-name のスタイル */
.member-name {
    font-weight: bold;
    color: #333;
    /* 名前の部分が長すぎるときに切り詰める */
    flex-grow: inherit; 
    min-width: 0; /* Flexbox内でオーバーフローしないように */
    text-overflow: ellipsis;
}

/* 〇（特殊なマーク）のスタイル */
.note {
    margin-left: 5px;
    color: #999;
    flex-shrink: 0; /* 縮小させない */
}


/* ----------------------------------- */
/* PC/タブレット向けスタイル (5列、横並び) */
/* ----------------------------------- */
@media (min-width: 600px) {
    .member-list-grid {
        grid-template-columns: repeat(5, 1fr);
    }

    .member-card {
        /* PCではタグと名前グループを横並びに戻す */
        flex-direction: row;
    }

    .region-tag {
        margin-right: 8px; /* 横並び用の間隔 */
        margin-bottom: 0;
    }

    .name-group {
        width: auto; /* PCでは幅を広げすぎない */
    }
}