/*
Template:vantage
Theme Name:vantage_child
*/

/*reset--*/
img {
   vertical-align:bottom
}
ul#recent_post_list,ul#recent_post_list li,#post-396 ul,#post-396 li{
  margin: 0!important;
  list-style: none!important;
}
#year_schedule #manth_btn ul,#inquiry ul,#inquiry ul li{
  margin: 0!important;
}
#year_schedule #manth_btn li,#inquiry li{
  list-style: none!important;
}
.clearfix::after{
  content: "";
  display: block;
  clear: both;
}
#vsel{
  float: none!important;
}
.vsel-image-info .vsel-info a{
  margin-top: 15px;
}
@media screen and (max-width:520px){
  .vsel-image-info .vsel-info a{
    margin-right: 15px;
  }
  .vsel-image-info .vsel-info a:last-child{
    margin-right: 0;
  }
}
.entry-meta .entry-date{
  color: #A2A9A7!important;
  font-size: 13px;
}
article.post .more-link, article.page .more-link{
  background: #fff!important;
  border-color: #fff!important;
}
article.post .entry-header .entry-meta {
  margin-top: 10px;
}
/*--slide--------------*/
.sga_slide > div{
  border-bottom:3px solid #fff;
}
header#masthead{
  /* border-bottom: 3px solid #fff; */
}
@media screen and (max-width:520px){
  .sga_slide > div{
    border: none;
  }
  .menu-mobilenav-container{
    display: none!important;
  }
}
@media screen and (max-width:720px){
  .wpsm_nav-tabs li a{
    width: auto!important;
  }
}


/*------logo---------------*/
.hgroup {
  max-width: none !important;
}
#masthead.masthead-logo-in-menu .logo > img{
  max-height: none!important;
}
.logo img {
  width: 100%;
  height: auto!important;
}
.main-navigation{
  padding-top: 5px;
  padding-bottom: 20px;
}
#menu-top li:last-child a{
  background: #fff;
  color: #A2A9A7!important;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
}
#menu-top li:last-child a:hover{
  opacity: 0.8;
}
.main-navigation{
  background: transparent!important;
}
.main-navigation a{
    color:#fff!important;
}
#masthead{
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#005300', endColorstr='#003200',GradientType=0 );
}
#masthead nav{
  background-image: url(/images/head_bg.png)!important;
  background-repeat: no-repeat!important;
}
/*----------------------------*/
#menu-side-menu .current-menu-item a{
  color: #A2A9A7!important;
}
#main{
  padding-bottom:90px!important;
}
#post-76 h1{
  display: none!important;
}
article#post-76 .entry-header,article#post-76 .entry-header {
    margin-bottom: 0!important;
}
#tournament_btn a{
    background-color: #CCC;
  /* background-image: url(/images/tournament_btn_bg.png); */
  background-repeat: no-repeat;
  background-size: cover;
  line-height: 80px;
  display: block;
  text-align: center;
  width: 100%;
  border-radius: 8px;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
}
#tournament_btn a:hover,
#content .top_link_btn a:hover,
#content .top_link_btn_clear a:hover{
  filter:brightness(80%);
}
#tournament_btn a span{
  font-size: 18px!important;
  font-weight: bold;
  /* text-shadow: 
  #A2A9A7 1px 1px 10px, #A2A9A7 -1px 1px 10px,
  #A2A9A7 1px -1px 10px, #A2A9A7 -1px -1px 10px; */
}
.su-button-style-default span{
  border:none!important;
}
#outline li span.atmarkimg{
  margin-left: 1em;
  position: relative;
}
#outline li span.atmarkimg::before{
  content: " ";
  background-image: url(/images/atmark.png);
  width: 14px;
  height: 14px;
  background-size: 100%;
  background-repeat: no-repeat;
  position: absolute;
  margin-left: -1em;
  margin-top: auto;
  margin-bottom: auto;
  top:0;
  bottom:0;
}
ul#menu-side-menu,ul#recent_post_list{
  border-top:2px solid #A2A9A7;
  border-bottom:2px solid #A2A9A7;
}
ul#menu-side-menu li,ul#recent_post_list li{
  border-bottom:1px solid #A2A9A7;
}
ul#menu-side-menu li:last-child,
ul#recent_post_list li:last-child{
  border:none;
}
ul#recent_post_list li{
  padding: 1em 5%;
  box-sizing: border-box;
}
ul#recent_post_list li .post-date{
  width: 128px;
  display: inline-block;
}
ul#recent_post_list li .cat-ttl{
  margin-left: 0.5em;
  font-size: 12px;
}
ul#recent_post_list li .newicon{
  margin-left: 0.5em;
  font-size: 12px;
  border:1px solid #A2A9A7;
  background: #fff;
  color: #A2A9A7;
  padding: 2px 7px;
  box-sizing: border-box;
}
ul#recent_post_list li .cat-importants{
  border:1px solid #B11616;
  background: #B11616;
  color: #A2A9A7;
  padding: 2px 7px;
  box-sizing: border-box;
}
ul#recent_post_list li .cat-none,
#my_post_list .su-post .cat-none{
  display: none;
}
ul#recent_post_list li .cat-attention{
  border:1px solid #000;
  color: #000;
  padding: 2px 7px;
  box-sizing: border-box;
}
#recent_widget_ttl h3.widget-title{
  font-size: 20px!important;
  font-weight: bold;
  display: inline-block;
  margin-bottom: 8px!important;
}
article #access p,article #member p{
  margin: 0;
}
article #access p span.access_dt{
  width: 6.5em;
  display: inline-block;
}
article #map h3,article #latest_rank h3,article #jsgu_link h3{
  display: none
}
article #latest_rank a,
article #jsgu_link a,
article #rules a{
  text-align: center;
  padding: 22px 0;
  display: inline-block;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}
article #rules a{
  background: #A2A9A7!important;
  width: 144px;
  padding: 15px 0!important;
  margin-bottom: 20px;
}
article #rules #seeds_bg a{
  background: #fff!important;
}
article #rules a:hover{
  filter:brightness(80%)!important;
}
article #rules li{
  margin-right: 18px!important;
}
@media screen and (max-width:520px){
  article #rules a{
    width: 130px;
  }
}
article #rules li:last-child{
  margin-right: 0!important;
}
article #latest_rank a{
  width: 255px;
  background: #A2A9A7;
}
article #jsgu_link a{
  max-width: 407px;
  width: 100%;
  background: #A2A9A7;
}
article #latest_rank a:hover,article #jsgu_link a:hover{
  opacity: 0.8;
}
article #latest_rank a span,article #jsgu_link a span,
article #rules a span{
  position: relative;
  margin-right: 1.5em;
}
article #latest_rank a span:after,
article #rules a span:after{
  position: absolute;
  top: 0;
  bottom: 0;
  margin:auto;
  content: " ";
  display: inline-block;
  margin-left: 1em;
  width: 20px;
  height: 20px;
  background: url(/images/link_file_icon@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
}
article #jsgu_link a span:after{
  position: absolute;
  top: 0;
  bottom: 0;
  margin:auto;
  content: " ";
  display: inline-block;
  margin-left: 1em;
  width: 27px;
  height: 27px;
  background: url(/images/link_btn_icon@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
}
article h1.entry-title,article h3.widget-title{
  font-size: 20px!important;
  font-weight: bold!important;
  margin-bottom: 0px!important;
  padding-bottom: 10px;
}
article h1.entry-title,article .headline h3{
  border-bottom:2px solid #FFF;
}
article h3.widget-title{
  margin-top: 40px!important;
}
article .headline h3{
  margin-bottom: 20px!important;
}
#recent_widget_ttl:before{
  margin-left: 5%;
}
article h1.entry-title:before,article h3.widget-title:before{
  content: " ";
  display: inline-block;
  width: 36px;
  height: 37px;
  background: url(/images/flag.png);
  background-color:#CCC ;
  background-size: contain;
  background-repeat: no-repeat;
}
ul#menu-side-menu li{
  padding: 13px 10px!important;
  box-sizing: border-box;
}
aside .menu-side-menu-container{
  margin-top: 47px;
}
#my_post_list .su-post .cat-ttl{
  margin-left: 1em;
}
#top_link_btn01 a{
  background: #9B3737;
}
#top_link_btn02 a{
  background: #345D9D;
}
#content .top_link_btn a{
  height: 80px;
}
#content .top_link_btn a,
#content .top_link_btn_clear a{
  border-radius: 8px;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  color: #FFF;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}
#member{
  margin-bottom: 0!important;
}
#member ul{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 10px!important;
  border:2px solid #FFF;
  box-sizing: border-box;
}
#member ul li{
  width: 33%;
}
#content .top_link_btn a .top_link_img{
  display: inline-block;
  width: 54px;
  margin-right: 20px;
}
#content .top_link_btn a span,
#content .top_link_btn_clear span{
  font-size: 15px!important
}
#content .top_link_btn_clear a{
  border:1px solid #FFF;
  box-sizing: border-box;
  height: 64px;
  background: gray; 
}
#content .top_link_btn_clear a .top_link_img{
  display: inline-block;
  width: 32px;
  margin-right: 12px;
}
#leader_con,#offcer_con,#outline ul{
  border-top:2px solid #FFF;
  border-bottom:2px solid #FFF;
}
#leader_con{
  width: 66%;
}
#outline ul li,#member ul li{
  border-bottom:1px solid #FFF;
  padding: 10px;
}
#member ul li{
  padding: 10px 20px;
  width: 33.333%;
  box-sizing: border-box;
}
#outline ul li:last-child,#member ul li:last-child{
  border: none;
}
#outline ul li span.dt{
  width: 145px;
  display: inline-block;
}
#leader_con ul,#offcer_con ul{
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  box-sizing: border-box;
  border-bottom:1px solid #FFF;
}
#leader_con ul:first-child,#offcer_con ul:first-child{
  border-bottom:2px solid #FFF;
}
#leader_con ul:last-child,#offcer_con ul:last-child{
  border:none;
}
#leader_con ul li,#offcer_con ul li{
  height: 35px;
  line-height: 35px;
  text-align: center;
  letter-spacing:0.5em;
}
#leader_con ul li{
  width: 50%;
}
#offcer_con ul li{
  width: 33%;
}
#leader_con ul li,#offcer_con ul li,#member ul li{
  border-right:1px solid #FFF;
}
#leader_con ul li:last-child,#offcer_con ul li:last-child{
  border-right:none;
}
#year_schedule h4.vsel-meta-title{
  font-size: 18px;
  color: #000;
  font-weight: bold;
}
#year_schedule .vsel-meta-cats,.vsel-meta-cats{
  display: none;
}
#year_schedule{
  padding-top: 0!important;
}
#year_schedule h3{
  background: #CCCCCC;
  color: #000;
  font-weight: bold;
  font-size: 16px!important;
  padding: 5px;
  text-align: center;
  border-radius: 4px!important;
  -webkit-border-radius: 4px!important;
  -moz-border-radius: 4px!important;
  margin-bottom: 35px!important;
}
#year_schedule h3.widget-title:before,
#sitepolicy h3:before,
#info_list h1:before{
  content: normal;
  width: auto!important;
  height: auto!important;
  background: none!important;
}
#year_schedule #manth_btn ul{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
}
#year_schedule #manth_btn ul li{
  margin: 4px!important;
}
#year_schedule #manth_btn ul li a{
  background: #CCCCCC;
  color: #000;
  width: 46px;
  padding: 3px 0;
  text-align: center;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  display: block;
}
#year_schedule_pdf a{
  border-bottom:1px solid #CCC;
  color: #CCC;
  float: right;
}
#year_schedule_pdf a:hover{
  opacity: 0.8;
}
#sitepolicy h3{
  font-size: 16px!important;
}
#sitepolicy .panel-grid-cell .haveline{
  border-bottom:1px solid #FFF;
  padding-bottom: 35px;
}
#sitepolicy ol{
  margin-left:0!important;
  margin-bottom: 0!important;
}
#geturei_ttl h3,#nenkan_ttl h3{
  font-size: 16px!important;
  position: relative;
  margin-left: 50px;
}
#geturei_ttl h3::before{
  background-image:url(/images/top_link_btn03_img@2x.png);
}
#nenkan_ttl h3::before{
  background-image:url(/images/top_link_btn04_img@2x.png);
}
#geturei_ttl h3::before,#nenkan_ttl h3::before{
  content: " ";
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  margin-top: -8px;
  margin-bottom: auto;
  width: 32px;
  top: 0;
  bottom: 0;
  margin-left: -50px;
}
#pointranking .panel-grid-cell{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#pointranking .panel-grid-cell > div{
  max-width: 320px;
  width: 48%;
}
#pointranking .panel-grid-cell > div:first-child{
  margin-right: 4%;
}
#pointranking h3{
  display: none;
}
#pointranking a{
  width: 100%;
  height: 85px;
  line-height: 85px;
}
#pointranking a.men_icon span,
#pointranking a.women_icon span{
  font-size: 15px!important;
  position: relative;
  line-height: 85px!important;
}
@media all and (-ms-high-contrast: none) {
#pointranking a.men_icon span::before,
#pointranking a.women_icon span::before {
      left: 23%;
    }
}
#pointranking a.men_icon span::before,
#pointranking a.women_icon span::before {
  left: 23%\9;
}
#pointranking a.men_icon span::before,
#pointranking a.women_icon span::before,
#pointranking a.men_icon span::after,
#pointranking a.women_icon span::after{
  content:" ";
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  margin:auto;
  top: 0;
  bottom: 0;
}
#pointranking a.men_icon span::before,
#pointranking a.women_icon span::before{
  width: 22px;
  height: 40px;
  margin-left: -28px;
}
#pointranking a.men_icon span::after,
#pointranking a.women_icon span::after{
  width: 31px;
  height: 25px;
  margin-left: 9px;
}
#pointranking a.men_icon span::before{
  background-image: url(/images/men_icon@2x.png);
}
#pointranking a.women_icon span::before{
  background-image: url(/images/women_icon@2x.png);
}
#pointranking a.men_icon span::after,
#pointranking a.women_icon span::after{
  background-image: url(/images/download_icon@2x.png);
}
#info_list{
  margin-top: 50px;
}
#secondary aside p.side_add{
  /* color: #FFF!important; */
  margin-top: 15px;
}
#secondary aside h3{
  font-size: 16px;
  border-bottom: 1px solid #FFF;
  position: relative;
  padding: 10px;
  font-weight: normal!important;
}
#secondary aside h3::after{
  content: "";
  background-image: url(/images/aside_h3_icon.png);
  width: 32px;
  height: 53px;
  background-size: 100%;
  background-repeat: no-repeat;
  position: absolute;
  bottom:-2px;
  right: 20px;
}
@media screen and (min-width:601px) and ( max-width:900px){
  #secondary aside h3::after{
    content: normal!important;
    width: auto!important;
    height: auto!important;
    background: none!important;
  }
}
@media (min-width:520px){
    #secondary,#side_uni_list li a,#menu-side-menu li a{
        /* color:#fff!important; */
        background-color: #e5e5e5;
}}

ul#side_uni_list li {
    margin-left: 1em;
    margin-bottom: 0.8em;
    list-style-type: none;
    position: relative;
}
ul#side_uni_list li:before{
    content: ' ';
    border: transparent solid 0.3em;
    border-left-color: #000;
    position: absolute;
    height: 0;
    width: 0;
    left: -1em;
    margin: 0.4em 0 0 0.4em;
    padding: 0px;
}
.side_inquiry a:hover{
  opacity: 0.8;
}
.side_inquiry a{
  background: #CCC;
  /* color: #333!important; */
  font-weight: bold;
  display: block;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  text-align: center;
  -moz-border-radius: 4px;
  padding: 10px 0;
}
.side_inquiry a span{
  position: relative;
  margin-left: 25px;
  text-align: center;
  font-size: 14px!important;
}
.side_inquiry a span:before{
  content: " ";
  background-image: url(/images/mail_icon@2x.png);
  width: 19px;
  height: 13.5px;
  background-size: 100%;
  background-repeat: no-repeat;
  position: absolute;
  margin-left: -25px;
  margin-top: auto;
  margin-bottom: auto;
  top:0;
  bottom:0;
}
@media all and (-ms-high-contrast: none) {
.side_inquiry a span:before {
      left: 0;
    }
}
.side_inquiry a span:before {
  left: 0\9;
}

/*inquiry---*/
@media screen and (min-width:520px){
  #inquiry{
    padding-left: 4%;
    padding-right: 4%;
    box-sizing: border-box;
  }
  #inquiry ul li:first-child{
    width: 140px;
  }
}
#inquiry .entry_btn input[type="submit"]{
  background: #CCCCCC;
  color: #000;
  max-width: 225px!important;
  width: 42%!important;
  margin-left: 2%!important;
  margin-right: 2%!important;
  height: 48px;
  font-size: 14px!important;
}
#inquiry ul,#rules ul{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 15px!important;
}
#inquiry ul.inqu_first_child{
  margin-top: 40px!important;
}
#inquiry .entry_btn{
  text-align: center;
  margin-top: 30px;
}
#inquiry .conf_note{
  display: block;
}
#inquiry .topline{
  border-top: 1px solid #FFF;
  padding-top: 25px;
  margin-top: 25px!important;
}
#info_list h1{
  border:none!important;
  font-size: 18px;
  color: #93854C;
}
@media screen and (max-width:520px){
  ul#recent_post_list li a{
    display: block;
  }
  ul#recent_post_list li .cat-ttl,
  ul#recent_post_list li .newicon{
    margin: 0 0.5em 0 0;
  }
  #main{
    padding-left: 5%!important;
    padding-right: 5%!important;
  }
  #tournament_btn a{
    padding: 15px 0;
  }
  #leader_con{
    width: 100%;
  }
  #leader_con ul li,#offcer_con ul li{
    letter-spacing:normal;
  }
  #offcer_con ul li{
    width: 40%;
  }
  #offcer_con ul li:first-child{
    width: 20%;
  }
  article #access p span.access_dt{
    display: none;
  }
  article #access p span.ac_subttl{
    display: block;
  }
  article #access p:nth-of-type(2) .ac_subttl{
    margin-top: 1em;
  }
  #outline ul li span.dt{
    width: 100%;
    display: block;
  }
  #member ul li{
    padding: 10px;
    width: 100%;
    box-sizing: border-box;
  }
  #member ul li:last-child{
    display: none;
  }
  #year_schedule #manth_btn ul{
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 100%;
  }
  #year_schedule #manth_btn ul li{
    margin: 10px!important;
  }
  #pointranking .panel-grid-cell > div:first-child{
    margin-right: 0;
  }
  #pointranking .panel-grid-cell > div{
    width: 100%;
  }
  #inquiry ul li{
    display: block;
    width: 100%;
  }
  #inquiry input[type=text].textin,
  #inquiry input[type=email],
  #inquiry textarea{
    width: 100%;
    font-size: 16px;
  }
}

#tournament_btn a span{color:#fff;}

.main-navigation ul li:hover > a{
	background-color:transparent;
}
#page-wrapper .pagination span,
#page-wrapper .entry-content .pagination span,
#page-wrapper .pagination a,
#page-wrapper .entry-content .pagination a {
	display: inline-block;
	margin: 2px 2px 2px 0;
	padding: 6px 9px 5px 9px;
	border-top: solid 1px #d2d2d2;
	border-left: solid 1px #c3c3c3;
	border-right: solid 1px #c3c3c3;
	border-bottom: solid 1px #9f9f9f;
	background: #ffffff;
	background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #dfdfdf), color-stop(1, #ffffff));
	background: -ms-linear-gradient(bottom, #dfdfdf, #ffffff);
	background: -moz-linear-gradient(center bottom, #dfdfdf 0%, #ffffff 100%);
	background: -o-linear-gradient(#ffffff, #dfdfdf);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#dfdfdf', GradientType=0);
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	font-weight: bold;
	color: #646464;
	-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.125), inset 0 1px 0 rgba(255, 255, 255, 0.5);
	-moz-box-shadow: 0 1px 1px rgba(0,0,0,0.125), inset 0 1px 0 rgba(255, 255, 255, 0.5);
	box-shadow: 0 1px 1px rgba(0,0,0,0.125), inset 0 1px 0 rgba(255, 255, 255, 0.5);
	width: auto;
	text-decoration: none;
}
html{max-width:1280px;
margin-left:auto;
margin-right:auto;}
/*.entry-content pre, .entry-content code{background:none;
border:none;}*/

/* テーブル全体の設定 */
.gakuren-table-wrapper {
    overflow-x: auto;
    margin-bottom: 20px;
}

.gakuren-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 500px;
    font-size: 15px;
    text-align: center; /* これで中央揃えになります */
}

/* セルの設定 */
.gakuren-table th, 
.gakuren-table td {
    padding: 12px;
    border: 1px solid #ddd;
    text-align: center !important; /* 強制的に中央寄せ */
}

/* ヘッダーの設定 */
.gakuren-table thead tr {
    background-color: #f8f9fa;
    border-bottom: 2px solid #333;
}

/* 交互に色をつける（ストライプ） */
.gakuren-table tbody tr:nth-child(even) {
    background-color: #fafafa;
}

h2.yakuin{font-size:1.8em;}
h3.yakuin{
	color:#fff;background:#1f2e55;
	padding-left:3%;
	padding-block:1%;
	}

/* 全体の外枠 */
.jsgf-table-wrap {
   font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #333;
}

/* 統計・メタ情報 */
.jsgf-meta {
    font-size: 14px;
    color: #666;
    margin-bottom: 16px;
    border-left: 4px solid #ddd;
    padding-left: 12px;
}

.jsgf-count {
    font-weight: bold;
    color: #222;
    font-size: 1.1em;
}

/* フィルターボタンエリア */
.jsgf-filters {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}

/* ボタンの基本デザイン */
.jsgf-btn {
    font-size: 13px;
    padding: 6px 16px;
    border-radius: 30px;
    border: 1px solid #e0e0e0;
    background: #fff;
    color: #666;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
}

.jsgf-btn:hover {
    background: #f8f9fa;
    border-color: #bbb;
}

.jsgf-btn.active {
    background: #222;
    color: #fff;
    border-color: #222;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.jsgf-btn .count {
    font-size: 11px;
    margin-left: 6px;
    opacity: 0.7;
}

/* テーブルデザイン */
.jsgf-table-wrap table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #eee;
    border-radius: 8px;
    overflow: hidden; /* 角丸を適用 */
}

.jsgf-table-wrap th {
    background: #fcfcfc;
    font-size: 12px;
    font-weight: 600;
    color: #888;
    text-align: left;
    padding: 12px 16px;
    border-bottom: 2px solid #eee;
}

.jsgf-table-wrap td {
    padding: 14px 16px;
    border-bottom: 1px solid #f5f5f5;
    vertical-align: middle;
}

.jsgf-table-wrap tr:last-child td {
    border-bottom: none;
}

.jsgf-table-wrap tr:hover td {
    background: #fafafa;
}

/* 役職タグ */
.role-tag {
    display: inline-block;
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 4px;
    background: #f0f0f0;
    color: #666;
    white-space: nowrap;
}

.role-tag.top {
    background: #e3f2fd;
    color: #1976d2;
    font-weight: bold;
}

/* 地区バッジ */
.badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 4px;
    text-align: center;
    min-width: 60px;
}

.badge-kantou     { background: #e3f2fd; color: #1976d2; }
.badge-kansai     { background: #f1f8e9; color: #558b2f; }
.badge-chubu      { background: #fff3e0; color: #ef6c00; }
.badge-chushikoku { background: #efebe9; color: #5d4037; }
.badge-kyushu     { background: #fce4ec; color: #c2185b; }
.badge-hokkaido   { background: #f3e5f5; color: #7b1fa2; }

/* スマホ対応 */
@media (max-width: 600px) {
    .jsgf-table-wrap td, .jsgf-table-wrap th {
        padding: 10px 8px;
        font-size: 13px;
    }
    .jsgf-btn {
        padding: 5px 12px;
        font-size: 12px;
    }
}