@charset "UTF-8";

/******************************************************************/
/*
	│          #wrapper          │
	│──────────────│
	│　div#header　　　　　　　　│
	│──────────────│
	│┌────────────┐│
	││table#label 　　　　　　││
	│└────────────┘│
	│┌────────────┐│
	││table#title 　　　　　　││
	│└────────────┘│
	│┌────────────┐│
	││　　　　　　　　　　　　││
	││table#data　　　　　　　││
	││　　　　　　　　　　　　││
	│└────────────┘│
	│┌────────────┐│
	││table#footer　　　　　　││
	│└────────────┘│
*/
/******************************************************************/
/* 基本設定 */
*	{
	box-sizing		: border-box;
	font-size		: 14px;
}
body	{
	text-align		: center;
	margin			: 0;
}
#wrapper	{
	width			: 800px;
	margin			: 10px auto;
}
table	{
	border-collapse	: collapse;
}
th	{
	font-weight		: normal;
	text-align		: left;
}
td	{
	text-align		: left;
}

/* 単位右寄せ */
span.unit	{
	float			: right;
}

/******************************************************************/
/* JavaScript無効時の注意書き */
div.noscript	{
	height				: 200px;
	line-height			: 200px;
	margin				: 10px 0;
	border-radius		: 10px;
	background-color	: #f55;
}

/******************************************************************/
/* 各tableタグ基本設定 */
#header,
#label,
#title,
#data,
#footer	{
	width			: 100%;
}

#header,
#label,
#data,
#footer	{
	margin-bottom	: 10px;
}

/******************************************************************/
/* header設定（「土質試験結果一覧表」等の部分） */
#header	{
	border-top		: 1px solid #000;
	border-bottom	: 1px solid #000;
	position		: relative;	/* for #page */
}
h1	{
	font-size		: 1.2em;
	font-weight		: normal;
	letter-spacing	: 0.4em;
	margin			: 0;
	margin-left		: 150px;
	width			: 500px;
	padding			: 10px 0;
	border-left		: 1px solid #000;
	border-right	: 1px solid #000;
	text-align		: center;
}
#page	{
	position		: absolute;
	top				: 1em;
	left			: 650px;
	width			: 150px;
	text-align		: center;
}

/******************************************************************/
/* label設定（「調査件名」等の部分） */
#label	{
	table-layout	: fixed;
}
#label tr th	{
	width			: 120px;
	padding			: 5px;
}
#label tr th.name	{
	width			: 90px;
}
#label tr td	{
	word-wrap		: break-word;
}
#label tr th.name,
#label tr td.name	{
	vertical-align	: top;
}
#label tr th.date,
#label tr th.person	{
	padding			: 5px 5px 5px 15px;
}
#label tr td.name div,
#label tr td.date,
#label tr td.person	{
	border-bottom	: 1px dashed #000;
}
#label tr td.name div	{
	padding			: 5px;
	width			: 100%;
}
#label tr td.date,
#label tr td.person	{
	width			: 150px;
}

/******************************************************************/
/* title設定（データ見出し列の部分） */
/*----------------------------------------------------------------*/
/* スクロール時固定 */
#title {
	position		: -webkit-sticky;
	position		: sticky;
	top				: 0;
	z-index			: 1;
	table-layout	: fixed;
}
/*----------------------------------------------------------------*/
#title th,
#title td	{
	border				: 1px solid #000;
	background-color	: #fff;
	padding				: 2px 3px;
	width				: 90px;
}
#title tr:first-child th,
#title tr:first-child td	{
	text-align			: center;
	border-left			: 0;
	border-right		: 0;
}
#title tr:first-child th	{
	width				: 260px;
	letter-spacing		: 10px;
	border-left			: 0;
	border-right		: 1px solid #000;
}
#title td div	{
	text-align			: center;
	font-size			: 0.9em;
}
#title td	{
	word-wrap			: break-word;			
	overflow-wrap		: break-word;
	vertical-align		: top;
}

/******************************************************************/
/* data設定（データ部分） */
#data	{
	border-bottom	: 1px solid #000;
}
#data tbody tr th,
#data tbody tr td	{
	padding			: 2px 5px;
}
#data tbody tr:first-child th,
#data tbody tr:first-child td	{
	border-top		: 1px solid #000;
}
#data tbody tr th	{
	border-left		: 1px solid #000;
	border-right	: 1px solid #000;
}
#data tbody tr:first-child th:first-child	{
	width			: 50px;
	border			: 1px solid #000;
	border-left		: 0;
}
#data tbody tr td	{
	width			: 90px;
	border-left		: 1px solid #000;
	border-right	: 1px solid #000;
}
#data tbody tr td:last-child	{
	border-right	: 0;
}
#data tbody tr th,
#data tbody tr td	{
	border-bottom	: 1px dashed #000;
}
#data tbody:first-child tr:first-child th,
#data tbody:first-child tr:first-child td	{
	border-top		: 0;
}
#data tbody tr.number td	{
	text-align		: right;
}
#data tbody tr.sentence td	{
	text-align		: center;
	font-size		: 0.8em;
}
#data tbody tr.text td	{
	text-align		: center;
	font-size		: 0.9em;
}

/*----------------------------------------------------------------*/
/* 左端見出しの縦書き */
#data tbody tr:first-child th:first-child	{
	text-align			: center;
}
#data tbody tr:first-child th:first-child span	{
	display				: inline-block;
	writing-mode		: vertical-rl;
	white-space			: nowrap;
	-ms-writing-mode	: tb-rl;
	text-orientation	: upright;
	line-height			: 1em;
	letter-spacing		: 0.2em;
}

/******************************************************************/
/* footer設定（特記事項部分） */
#footer	{
	border-bottom	: 1px solid #000;
	table-layout	: fixed;
}
#footer	th.root,
#footer	td.root	{
	padding			: 2px 5px;
	line-height		: 1.8em;
	word-wrap		: break-word;			
}
#footer	th.root	{
	width			: 90px;
	vertical-align	: top;
}
#footer	td.root	{
	vertical-align	: top;
}
#footer th,
#footer td	{
	vertical-align	: top;
	word-wrap		: break-word;	
	line-height		: 1.6em;		
}

#dtd	{
	text-align: left;
	font-size: 12px;
	padding: 0 5px;
}