@charset "utf-8";
/* CSS Document */

html{ height: 100%; }

body{
  background: #f7f8f9;
  margin: 0 auto;
  height: auto;
  font-family:
    "Helvetica Neue",
    "Arial",
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Meiryo",
    sans-serif;
}
/* フィルタのパネル本体（該当するもの全部）を最前面へ */
.ms-drop,                /* multiple-select 系 */
.select2-container,      /* select2 を使っている場合 */
.ui-datepicker,          /* jQuery UI Datepicker を使っている場合 */
.filter-panel,           /* 自作のパネルがあればそのクラス */
.dropdown-panel {        /* ほかの名称ならここに追加 */
  position: absolute;            /* 既に absolute/fixed ならそのまま */
  z-index: 2001 !important;
}

/* パネルの“土台”になるラッパーもフッターより上の層に */
.table-scroll, .listwrap, #listArea, #koushinWrap {  /* 実際の親クラスに合わせて1つでOK */
  position: relative;
  z-index: 2000;
}

/* フッターはパネルより下の層に（固定表示ならなおさら） */
#listfooter {
  position: relative;           /* fixed なら fixed のままでOK */
  z-index: 1000;                /* 上の数値体系より低く */
}
.table-scroll, .listwrap {
  transform: none !important;   /* 付いていれば解除 */
}
/* ページラッパー */
#list_wrap{
  display: block;
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}


/* セクション箱：ここを基準に h2 / table を 100% で揃える */
.knowledge{
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 15px ;
  box-sizing: border-box; /* ← 幅計算を安定させる */
 /*position: sticky;           /* ここを fixed にしてもOK。stickyの方が自然 */
  top: 0;
  z-index: 1000;
  background: #fff;
  border-bottom: 1px solid #ddd;
  box-shadow: 0 2px 3px rgba(0,0,0,.04);	
}


.knowledge h1{
	
	text-align: center;

  line-height: 1;
  color: #000000;
  font-size: 200%;
  text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
  font-weight: bold;
}
/* 幅揃え */
.knowledge h2,
.knowledge table{
  width: 100%;
  margin: 0 auto;
}

.knowledge h2{
  background-color: #FABF8F;
  padding: 10px 0px;
  margin: 0 0 10px 0; /* 下余白 */
	text-indent: 1rem;
}

.small{
  font-size: 80%;
  color: blue;
}

/* --- 幅ズレ強制修正：h2 と table を同じ箱幅で100%に揃える --- */
.knowledge {
  box-sizing: border-box;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 15px;
}
.knowledge h2,
.knowledge table {
  width: 100%;
  margin: 0 auto;
}
.knowledge h2 { margin-bottom: 10px; }
.knowledge table { table-layout: fixed; }

/* 横スクロール用のラッパー */
.table-scroll {
 /* overflow-x: auto;*/
  -webkit-overflow-scrolling: touch; /* iOS慣性スクロール */
}

.table-scroll table {
  width: 100%;
  min-width: 900px; /* 列が多い場合は任意で調整 */
  border-collapse: collapse;
}

.table-scroll th,
.table-scroll td {
  white-space: nowrap; /* 折り返さずスクロール */
}


/* ★ list.css の #listTable / #listTable2 の max-width:960px を無効化 */
#listTable,
#listTable2,
#listTable3,
#listTable4{
  max-width: none !important;
  width: 100% !important;
}

/* 列幅を内容ベースに戻す */
.knowledge table {
  table-layout: auto !important;
}

/* 短い列は折り返さない／長い列だけ折り返し許可 */
#listTable th, #listTable td,
#listTable2 th, #listTable2 td,
#listTable3 th, #listTable3 td,
#listTable4 th, #listTable4 td {
  white-space: nowrap;
}

/* 長文になりがちな列だけ折り返し解禁 */
#listTable td:nth-child(5),
#listTable td:nth-child(9),
#listTable td:nth-child(13),
#listTable td:nth-child(14),
#listTable2 td:nth-child(5),
#listTable2 td:nth-child(9),
#listTable2 td:nth-child(13),
#listTable2 td:nth-child(14),
#listTable3 td:nth-child(5),
#listTable3 td:nth-child(9),
#listTable3 td:nth-child(13),
#listTable3 td:nth-child(14),
#listTable4 td:nth-child(5),
#listTable4 td:nth-child(9),
#listTable4 td:nth-child(13),
#listTable4 td:nth-child(14) {	
  white-space: normal;
  overflow-wrap: anywhere;
}

/* リンク列は強制改行を許可（URLが長い対策） */
#listTable td:nth-child(13) a,
#listTable2 td:nth-child(13) a, 
#listTable3 td:nth-child(13) a, 
#listTable4 td:nth-child(13) a {
  word-break: break-all;
}

/* 既存の「8列目を25%」などの固定幅を無効化（必要なら） */
#listTable tr td:nth-child(8),
#listTable2 tr td:nth-child(8), 
#listTable3 tr td:nth-child(8),
#listTable4 tr td:nth-child(8){
  width: auto !important;
}

.wrap-header{

}
 .listfooter{
	 background-color: #326732;
	 color: white;
	 z-index: 10;
	 position: relative;
}
 .listfooter:before {
    content: " ";
    width: 100%;
    height: 3px;
    overflow: visible;
    display: block;
    background: #489748;
    border-bottom: 1px solid #7ca87c
}
 .footer__ci {
    padding: 0;
    text-align: center
}
 .footer__ci img {
    vertical-align: bottom
}
 .footer__address {
    margin: 0;
    font-size: 18px;
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0.5px;
	color:white;
}
 .footer__address strong {
    display: inline-block;
    padding: 0 10px 0 0;
    font-weight: bold;
    font-size: 30px
}
 .footer__copyright {
    display: block;
    padding: 0 0 15px;
    line-height: 1;
    text-align: center;
	color:white;
}
 .footer__copyright:before {
    content: " ";
    width: 100%;
    height: 1px;
    overflow: visible;
    display: block;
    margin-bottom: 30px;
    background: #276427;
    border-bottom: 1px solid #567e56
}
 .footer .tel-number {
    display: block
}



/* 先頭行（見出し）を固定：thead がなくても効くようにセレクタを広めに */
.table-scroll table tr:first-child th {

  top: 0;
  z-index: 3;                  /* 列固定より上 */
  background: #B2CEA5;         /* list.css の th 背景に揃える */
}



/* A案の“内容ベース幅”を維持（固定レイアウトを封じる） */
.knowledge table { table-layout: auto !important; }

/* 縦スクロールON版：.table-scroll に vscroll を付けるだけ */
.table-scroll.vscroll {
  max-height: 60vh;       /* 表部分の最大高さ（お好みで 50～70vh などに調整OK） */
  min-height:60vh;	
  overflow-y: auto;       /* データ行だけ縦スクロール */
  overflow-x: auto;       /* 横スクロールも従来通り */
}
/* 先頭列固定（既存ルールを維持） */
.table-scroll table tr > :first-child {
 /* position: sticky; */
  left: 0;
  z-index: 2;
  background: #fff;
  border-right: 1px solid #666;
}

/* 左上セルは最前面に（見出し×先頭列） */
.table-scroll thead tr > :first-child {
  z-index: 4;
  background: #B2CEA5;
}
/* thead の th を固定（既存 first-child 版から thead 指定へ強化） */
.table-scroll thead th {
  position: sticky;
  top: 0;
  z-index: 3;
  background: #B2CEA5;    /* 既存の見出し色に合わせる */
  box-shadow: 0 2px 0 rgba(0,0,0,0.05); /* 視覚ヒント（任意） */
}

/* スマホで「横にスクロールできる」ヒント（任意） */
@media (max-width: 768px) {
  .table-scroll {
    background:
      linear-gradient(to right, rgba(247,248,249,1), rgba(247,248,249,0)) 0 0/24px 100% no-repeat,
      linear-gradient(to left,  rgba(247,248,249,1), rgba(247,248,249,0)) 100% 0/24px 100% no-repeat;
  }
}

/* 横スクロール用ラッパー（スマホ時のみ有効化） */
@media (max-width: 768px) {
  .table-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch; /* 慣性スクロール */
    border: 1px solid #e0e0e0;         /* 端がわかるように薄枠（任意） */
  }

  /* テーブルを“横方向に大きめ”にして、スクロール余地を作る */
  .table-scroll > table {
    min-width: 1960px;                   /* 目安幅：必要なら 1120px などに */
    table-layout: auto !important;      /* 内容ベースのカラム幅 */
  }

  /* 見出し/短い列は折り返しなし、長文列は折り返し可（既存ルールと整合） */
  #listTable th, #listTable td,
  #listTable2 th, #listTable2 td { white-space: nowrap; }

  #listTable td:nth-child(5),
  #listTable td:nth-child(9),
  #listTable td:nth-child(13),
  #listTable td:nth-child(14),
  #listTable2 td:nth-child(5),
  #listTable2 td:nth-child(9),
  #listTable2 td:nth-child(13),
  #listTable2 td:nth-child(14), 
  #listTable3 td:nth-child(5),
  #listTable3 td:nth-child(9),
  #listTable3 td:nth-child(13),
  #listTable3 td:nth-child(14),
  #listTable4 td:nth-child(5),
  #listTable4 td:nth-child(9),
  #listTable4 td:nth-child(13),
  #listTable4 td:nth-child(14) {	  
	  
    white-space: normal;
    overflow-wrap: anywhere;
  }

  /* URLは強制改行を許可（はみ出し防止） */
  #listTable td:nth-child(13) a,
  #listTable2 td:nth-child(13) a,
  #listTable3 td:nth-child(13) a,
  #listTable4 td:nth-child(13) a{ word-break: break-all; }
}

@media (min-width: 768px) {
	.br-pc {display: block;}
	.br-sp	{display: none;}	
	}


@media (max-width: 768px) {
	.br-pc {display: none;}
	.br-sp	{display: block;}	

/* （任意）スクロールできることを示すための薄いグラデーション */

  .table-scroll {
    position: relative;
    background:
      linear-gradient(to right, rgba(247,248,249,1), rgba(247,248,249,0)) 0 0/24px 100% no-repeat,
      linear-gradient(to left,  rgba(247,248,249,1), rgba(247,248,249,0)) 100% 0/24px 100% no-repeat;
  }
	

	

	

.knowledge h2 { font-size: 100%; }

}
