@charset "UTF-8";

/*テーブル基本
–––––––––––––––––––––––––––––––––––––––––––––––––– */
table {
	border-collapse: collapse;
	border: 1px solid #c9c9c9;		
	margin: 40px auto 10px auto;
}

th {
	background: #eef3fa;
	text-align: center;
	vertical-align: middle;
	border: 1px solid #c9c9c9;	
	font-weight: normal;
	padding: 12px 15px;
}

td {
	border: 1px solid #c9c9c9;	
	text-align: center;
	vertical-align: middle;
	padding: 12px 15px;
}


/*横スクロール
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#wrapper{
	width: 100%;
	overflow-x: auto;
}

/*--- 前列固定1 ---*/
.table-scroll {
	width: 100%;
	overflow-x: auto;
}

.table-scroll table {
 	width: 100%;
	min-width: 1000px;
	table-layout: fixed;
	margin: 0 auto 10px auto;	
}

.table-scroll th {
	text-align: center;
	border: 1px solid #c9c9c9;	
	padding: 15px 10px;
}

.table-scroll td {
	text-align: center;
	border-left: none;	
	padding: 15px 10px;
}

.table-scroll th.sticky{
	position: sticky;
	top: 0;
	left: 0;
	border-left: none;
	border-right: none;
}

.table-scroll td.sticky{
	position: sticky;
	top: 0;
	left: 0;
	text-align: left;
	border-right: none;
}

.table-scroll th.sticky::before{
 	content: "";
	position: absolute;
	z-index: -1;
	box-sizing: content-box;	
	top: 0px;
	left: -1px;
	width: 100%;
	height: 100%;
	border-left: 1px solid #c9c9c9;
	border-right: 1px solid #c9c9c9;
	background-color: #eef3fa;
}

.table-scroll td.sticky::before{
 	content: "";
	position: absolute;
	z-index: -1;
	box-sizing: content-box;	
	top: 0px;
	left: -1px;
	width: 100%;
	height: 100%;
	border-left: 1px solid #c9c9c9;
	border-right: none;
}

/*--- 前列固定2 ---*/


/*レスポンシブ
–––––––––––––––––––––––––––––––––––––––––––––––––– */
table.res {
	width: 100%;
	margin: 40px auto 10px auto;
}

table.res th {
 	background: #eef3fa;
	text-align: left;
}

table.res td {
	text-align: left;
}



@media screen and (max-width:960px) {

.table-scroll table {
	width: 200%;	
}
}


@media screen and (max-width:768px) {

table.res {
	border: 0px solid #c9c9c9;
	margin: 20px auto auto auto;
}

table.res th {
	width: 100%;
	display: block;
}

table.res td {
	width: 100%;
	display: block;
	border: 0px solid #c9c9c9;
	padding: 15px 10px 25px 10px;
}
}


@media screen and (max-width:640px) {

table {
	margin: 10px auto;
}

th {
	padding: 12px 10px;
}

td {
	padding: 12px 10px;
}
}


/*行の色指定
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* 奇数行 */
table tr.odd {
	background-color: #fff; /* 奇数行の背景色 */
}

table td.odd {
	background-color: #fff; /* 奇数行の背景色 */
}

/* 偶数行 */
table tr.even {
	background-color: #f5f5f5; /* 偶数行の背景色 */
}

table td.even {
	background-color: #f5f5f5; /* 偶数行の背景色 */
}


/*文字の指定
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* 上付き文字 */
span.supText {
	font-size: 75.5%;
	vertical-align: top;
	position: relative;
	top: -0.1em;
	z-index: -2;
}

/* 下付き文字 */
span.subText {
	font-size: 75.5%;
	vertical-align: bottom;
	position: relative;
	top: 0.1em;
	z-index: -2;	
}