@charset "utf-8";

/* CSS Document */

/* ======================================================
	[object] table
	@import"../css/test_line.css";
====================================================== */


table,
th,
td
{
}

table
{
	text-indent: 0;
	text-align: left;
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0em;
	margin-top: 1em;
	margin-bottom: 1em;
	border-top-width: 1px;
	background-color: rgb(var(--w) / 0.7);
}
/*
	border-collapse: separate;
	border-spacing: 0.5em;
	border-radius: calc(var(--border_radius) * 2);
	overflow: hidden;
*/

table+table
{
}


caption
{
	text-align: left;
	font-weight: bold;
}

caption span
{
}

tr
{
}

tr:first-of-type
{
}

tr:last-of-type
{
}


/* ------------------------------------------------------------------------------------------------------------
	<th><td> */
th,
td
{
	text-indent: 0;
	vertical-align: top;
	padding: 1.5em 1em;
	border-style: solid dashed;
	border-bottom-width: 1px;
}

th
{
}

th>b
{
	font-weight: inherit;
}

tbody th
{
	width: 13em;
	min-width: 8em;
}

:where(.ie6, .ie7, .ie8, .ie9) th
{
}


td
{
}
/*
	padding-right: 0;
*/

tr:first-of-type :where(th, td)
{
}

tr:last-of-type :where(th, td)
{
}
/*
	border-bottom-width: 1px;
*/


/* ------------------------------------------------------------------------------------------------------------
	<tbody> */
tbody
{
}

:where(tbody, .Tbody)
{
}

:where(tbody, .Tbody) :where(th, td)
{
}


/* <tbody>ドラッグで上下移動 */
.RowControl
{
}

div.RowControl:before
{
	content: "※ドラッグで、項目の順番(上下)を変更できます。";
	display: block;
	text-align: left;
}


/* ------------------------------------------------------------------------------------------------------------
	<thead> */
thead
{
}

:where(thead, .Thead)
{
}

:where(thead, .Thead) :where(th, td)
{
	text-align: center;
	vertical-align: middle;
}

:where(thead, .Thead) :where(th, td):not([class*="Width"])
{
	width: auto;
}

:where(thead, .Thead) tr:last-of-type
{
}

:where(thead, .Thead) tr:last-of-type :where(th, td)
{
	border-bottom-width: 3px;
	border-bottom-style: double;
}
/*
*/


/* ------------------------------------------------------------------------------------------------------------
	<tfoot> */
:where(tfoot, .Tfoot)
{
}

:where(tfoot, .Tfoot) :where(th, td)
{
	text-align: right;
	white-space: nowrap;
	word-break: break-all;
	vertical-align: middle;
}

:where(tfoot, .Tfoot) :where(th, td):not([class*="Width"])
{
	width: auto;
}

:where(tfoot, .Tfoot) tr:first-of-type
{
}

:where(tfoot, .Tfoot) tr:first-of-type :where(th, td)
{
	border-top-width: 3px;
	border-top-style: double;
}
/*
*/

:where(tfoot, .Tfoot) tr:last-of-type
{
}

:where(tfoot, .Tfoot) tr:last-of-type :where(th, td)
{
}


/* ------------------------------------------------------------------------------------------------------------
	空セル */
table :where(thead, tbody, tfoot) :where(th, td).Blank
{
	border-width: 0 !important;
	background: none !important;
}


/* ------------------------------------------------------------------------------------------------------------
	<table>の中の<table> */
/*
table :is(table, table th):not([class*="Width"])
*/
table table,
table table th
{
	width: auto;
	min-width: initial;
	max-width: initial;
}

table table
{
	border-collapse: inherit;
	background: none;
}

table table :where(th, td)
{
	border-width: 0;
	background: none;
}


/* ------------------------------------------------------------------------------------------------------------
	inline table */
table.inline_table
{
	display: inline-table;
}

table.inline_table:not([class*="Width"])
{
	width: initial;
}


/* ------------------------------------------------------------------------------------------------------------
	cell → block */
table.Block,
table.Block :where(table, th, td):not([class*="Width"])
{
	width: 100%;
}

table.Block:where(th, td)
{
	display: block;
}

table.Block td
{
}


/* ------------------------------------------------------------------------------------------------------------
	block → cell */
table.Cell,
table.Cell table
{
	display: table;
}

table.Cell thead
{
	display: table-header-group;
}

table.Cell tbody
{
	display: table-row-group;
}

table.Cell tfoot
{
	display: table-footer-group;
}

table.Cell tr
{
	display: table-row;
}

table.Cell :is(th, td)
{
	display: table-cell;
}
/*
	width: inherit;
*/

table.Cell td:not([class*="Width"])
{
	width: auto;
}


/* ------------------------------------------------------------------------------------------------------------
	価格 のセル*/
.PriceCell
{
	white-space: nowrap;
	word-break: break-all;
	text-align: right;
}


/* ------------------------------------------------------------------------------------------------------------
	時間のセル */
.TimeCell
{
	white-space: nowrap;
	word-break: break-all;
	text-align: center;
}


/* ------------------------------------------------------------------------------------------------------------
	単位(円だけとか)のセル */
.UnitCell
{
	padding-left: 0;
	padding-right: 0;
}


/* ------------------------------------------------------------------------------------------------------------
	「数量」のセル */
.QuantityCell:not([class*="Width"])
{
	width: 5em;
}

.Print .QuantityCell:not([class*="Width"])
{
	width: 3em;
}


/* ------------------------------------------------------------------------------------------------------------
	等幅 */
table.fixed
{
	position: static;
	table-layout: fixed;
}

table.fixed th:not([class*="Width"])
{
	max-width: initial;
	width: initial;
}


/* ------------------------------------------------------------------------------------------------------------
	横スクロール */
/*
.fadeIn .table_scroll:after
{
	content: "";
	display: block;
	position: fixed;
	top: 50%;
	left: 25vw;
	width: 10em;
	height: 10em;
	background-color: red;
	animation-name: table_scroll_icon;
	animation-duration: 5s;
}

@keyframes table_scroll_icon	{
0%
{
	opacity: 0;
}

50%
{
}

100%
{
	opacity: 1.0;
}
}

.fadeIn .table_scroll:hover
{
}

.fadeIn .table_scroll:hover:after
{
	display: none;
}
*/



/* [181016]角丸にしてみる///////////////////////////////// 
table.RoundedC
{
	border-collapse: separate;
	border-spacing: 0;
	border-width: 1px;
	border-radius: calc(var(--border_radius) * 2);
	overflow: hidden;
	background-color: rgb(var(--w));
}
td table
{
	border-collapse: collapse;
	border-radius: 0em;
	overflow: auto;
}


.RoundedC tbody th
{
	border-width: 0 0 1px 0;
}

.RoundedC tbody td
{
	border-width: 0 0 1px 1px;
}

.RoundedC :where(thead, tbody, tfoot) :where(th, td):first-of-type,
.RoundedC tbody th+td
/
.RoundedC thead th:first-of-type,
.RoundedC tfoot th:first-of-type,
.RoundedC tbody td:first-of-type,
.RoundedC tbody th+td
/
{
	border-left-width: 0;
}

.RoundedC tbody th+th
{
}
.RoundedC th[rowspan]
{
	border-right-width: 1px;
}


.RoundedC tbody:last-of-type tr:last-of-type
{
}

.RoundedC tfoot tr:last-of-type :where(th, td),
.RoundedC tbody:last-of-type tr:last-of-type :where(th, td),
.RoundedC tbody:last-of-type tr:nth-last-child(2) :where(th, td)[rowspan="2"],
.RoundedC tbody:last-of-type tr:nth-last-child(3) :where(th, td)[rowspan="3"],
.RoundedC tbody:last-of-type tr:nth-last-child(4) :where(th, td)[rowspan="4"],
.RoundedC tbody:last-of-type tr:nth-last-child(5) :where(th, td)[rowspan="5"]
/
.RoundedC tfoot tr:last-of-type th,
.RoundedC tfoot tr:last-of-type td,
.RoundedC tbody:last-of-type tr:last-of-type th,
.RoundedC tbody:last-of-type tr:last-of-type td,
.RoundedC tbody:last-of-type tr:nth-last-child(2) th[rowspan="2"],
.RoundedC tbody:last-of-type tr:nth-last-child(2) td[rowspan="2"],
.RoundedC tbody:last-of-type tr:nth-last-child(3) th[rowspan="3"],
.RoundedC tbody:last-of-type tr:nth-last-child(3) td[rowspan="3"],
.RoundedC tbody:last-of-type tr:nth-last-child(4) th[rowspan="4"],
.RoundedC tbody:last-of-type tr:nth-last-child(4) td[rowspan="4"],
.RoundedC tbody:last-of-type tr:nth-last-child(5) th[rowspan="5"],
.RoundedC tbody:last-of-type tr:nth-last-child(5) td[rowspan="5"]
/
{
	border-bottom-width: 0;
}

*/


/* ============================================================================================================
	<table>にする
*/
.table
{
	list-style: none;
	margin: 0;
	display: table;
}

.table>*
{
	margin: 0;
	display: table-row;
}

/* <th>, <td> */
.table>*>*
{
	display: table-cell;
	vertical-align: top;
	width: auto;
}

/* <th> */
.table>*>*:first-of-type
{
	padding-right: 1em;
}
/*
	white-space: nowrap;
	word-break: break-all;
*/


/* ============================================================================================================
	gridで<table>にする
*/
.grid_table
{
	--num					: 1;
	display: inline-grid;
	grid-template-columns: repeat(var(--num), auto);
	justify-content: start;

	width: auto;

	text-indent: 0 !important;
}

.grid_table>.tr
{
	display: grid;
}

.grid_table :is(.th, .td)
{
	border-bottom-width: 1px;
}
.grid_table .th
{
	font-weight: bold;
}
.grid_table .td
{
	padding-left: 1em;
}

.grid_table.grid2
{
	--num					: 2;
}
.grid_table.grid3
{
	--num					: 3;
}


/* ======================================================
	======================================================
	======================================================
	hack
	======================================================
	======================================================
====================================================== */




/* FFだけ線が消える */
@-moz-document url-prefix() {
table {
	border-collapse: separate;
	border-spacing: 0em;
}
/*
	thead th:before,
	thead td:before,
	tfoot th:before,
	tfoot td:before,
	tbody th:before,
	tbody td:before,
	.Tbody th:before,
	.Tbody td:before
		{
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		border-style: solid dashed;
	}
	
	tbody th:before,
	tbody td:before,
	.Tbody th:before,
	.Tbody td:before
		{
		border-top-width: 1px;
	}
	
	tbody th:not(:last-of-type):before,
	tbody td:not(:last-of-type):before,
	.Tbody th:not(:last-of-type):before,
	.Tbody td:not(:last-of-type):before
		{
		border-right-width: 1px;
	}
	
	tbody tr:last-of-type th:before,
	tbody tr:last-of-type td:before,
	.Tbody tr:last-of-type th:before,
	.Tbody tr:last-of-type td:before
		{
		border-bottom-width: 1px;
	}
	
	thead tr:not(:first-of-type) th:before,
	thead tr:not(:first-of-type) td:before
		{
		border-top-width: 1px;
	}
	
	thead th:not(:last-of-type):before,
	thead td:not(:last-of-type):before
		{
		border-right-width: 1px;
	}
	
	th.blank
		{
		background-color:red
	}
	
	th.blank:not(:last-of-type):before
		{
		border-width: 0;
	}
	
	th.blank+th
		{
	}
	
	tfoot th:before,
	tfoot td:before
		{
		border-bottom-width: 1px;
	}
	
	tfoot th:not(:last-of-type):before,
	tfoot td:not(:last-of-type):before
		{
		border-right-width: 1px;
	}
*/

/* レイアウトとして使う 
	table.Layout,
	table.Layout th:before,
	table.Layout td:before,
	
	table.Layout tbody tr:last-of-type th:before,
	table.Layout tbody tr:last-of-type td:before,
	table.Layout .Tbody tr:last-of-type th:before,
	table.Layout .Tbody tr:last-of-type td:before,
	
	#Admin table.Layout table,
	#Admin table.Layout th:before,
	
	table.Layout th:not([class]):before,
	table.Layout td:not([class]):before,
	
	table.Layout th:first-of-type:before
		{
		content: none;
	}
*/
}
