@charset "utf-8";

/* CSS Document */

/* ======================================================
	[object] table
	@import"../css/test_line.css";
	------------------------------------------------------
	○px以上 + 印刷モード	@media print, screen and (min-width : ○px) {}
	○px以上				@media (min-width : ○px) {}
	○px以下				@media (max-width : ○px) {}
	------------------------------------------------------
	 [sp]		     ～  479	
	([tablet]	 480 ～     )
	 [pc]		1025 ～
====================================================== */
/* [pc, tablet, print] */
@media print, screen and (min-width : 480px) {}

/* [ - sp] */
@media (max-width : calc(480px - 1px)) {
.ModeSP 
{
}
}

/* [print] */
@media print {
}


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;
}

/*
	border-top-width: 1px;
	border-width: 1px;
	border-collapse: separate;
	border-spacing: 0.5em;
	border-radius: 1em;
	overflow: hidden;
*/

/*
table:not(:first-of-type)
	{
	margin-top: 1.5em;
}
table:not(:last-of-type)
	{
	margin-bottom: 1.5em;
}
*/


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

caption span
{
}


tr
{
}

tr:first-of-type
{
}

tr:last-of-type
{
}


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

th
{
}

tbody th,
.WidthTh
{
	width: 13em;
	min-width: 8em;
	vertical-align: top;
}

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


td
{
}


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 th,
tbody td,
.Tbody th,
.Tbody td
*/
{
}


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

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

/*
div.RowControl tr td:last-of-type
	{
	display: table;
}
div.RowControl tr td:last-of-type>*
	{
	display: table-cell;
}
div.RowControl tr td:last-of-type:after
	{
	content: "□";
	display: table-cell;
}
*/


/* ------------------------------------------------------------------------------------------------------------
	<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"])
/*
thead th,
thead td,
.Thead th,
.Thead td
*/
{
	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;
}
/*
*/

thead.l :where(th, td)
/*
thead.l th,
thead.l td
*/
{
	text-align: left;
}

thead.c :where(th, td)
/*
thead.c th,
thead.c td
*/
{
	text-align: center;
}

thead.r :where(th, td)
/*
thead.r th,
thead.r td
*/
{
	text-align: right;
}


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

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

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

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

:where(tfoot, .Tfoot) tr:first-of-type :where(th, td)
/*
tfoot tr:first-of-type th,
tfoot tr:first-of-type td,
.Tfoot tr:first-of-type th,
.Tfoot tr:first-of-type 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)
/*
tfoot tr:last-of-type th,
tfoot tr:last-of-type td,
.Tfoot tr:last-of-type th,
.Tfoot tr:last-of-type td
*/
{
}

tfoot.r :where(th, td)
/*
tfoot.l th,
tfoot.l td
*/
{
	text-align: right;
}

tfoot.l :where(th, td)
/*
tfoot.l th,
tfoot.l td
*/
{
	text-align: left;
}

tfoot.c :where(th, td)
/*
tfoot.c th,
tfoot.c td
*/
{
	text-align: center;
}



/* [181016]角丸にしてみる///////////////////////////////// 
table.RoundedC
{
	border-collapse: separate;
	border-spacing: 0;
	border-width: 1px;
	border-radius: 1em;
	overflow: hidden;
	background-color: rgba(255,255,255,1.0);
}
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;
}

*/




/*空セル */
th.Blank,
* th.Blank,
* thead th.Blank,
* thead * th.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;
}

table table td
{
}

/*
	padding-left: 0;
*/


:where(th, td) table
/*
th table,
td table
*/
{
	border-collapse: inherit;
	background: none;
}

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


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

.TableBlock :where(th, td)
/*
.TableBlock th,
.TableBlock td,
.TableBlock>tr th,
.TableBlock>tr td,
.TableBlock>tbody>tr>th,
.TableBlock>tbody>tr>td
*/
{
	display: block;
}

.TableBlock td
/*
.TableBlock>tr td,
.TableBlock>tbody>tr>td
*/
{
	padding-left: 0;
	padding-right: 0;
}
/*
	border-width: 0;
*/

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

.TableCell :is(th, td)
/*
.TableCell th,
.TableCell td,
.TableCell>tr th,
.TableCell>tr td,
.TableCell>tbody>tr>th,
.TableCell>tbody>tr>td
*/
{
	display: table-cell;
}

/*
	width: inherit;
*/

/*
.TableCell th,
.TableCell>tr th,
.TableCell>tbody>tr>th
{
	display: table-cell;
}
*/

.TableCell td:not([class*="Width"])
/*
.TableCell>tr td,
.TableCell>tbody>tr>td
*/
{
	width: inherit;
}

/* ------------------------------------------------------------------------------------------------------------
	価格 のセル*/
.PriceCell
/*
,
:where(thead, tfoot) .PriceCell,
thead .PriceCell,
tfoot .PriceCell
*/
{
	white-space: nowrap;
	text-align: right;
}

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

/* ------------------------------------------------------------------------------------------------------------
	単位(円だけとか)のセル */
.TdUnit
{
	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;
}

/* ------------------------------------------------------------------------------------------------------------
	幅自由 */
.ThAuto th
{
	width: auto;
	min-width: initial;
}

/* ------------------------------------------------------------------------------------------------------------
	横スクロール */
/* [ - sp] */
@media (max-width : calc(480px - 1px)) {
.ModeSP .table_scroll
{
	overflow-x: scroll;
}

.ModeSP .table_scroll table
{
	display: table;
	width: 200vw;
}
/*
	-webkit-overflow-scrolling: touch;
	table-layout: fixed;
	width: 100%;
	white-space: nowrap;
*/

.ModeSP .table_scroll tr
{
	display: table-row;
}

.ModeSP .table_scroll :where(th, td)
{
	display: table-cell;
}

.ModeSP .table_scroll th
{
	max-width: 20vw;
}

.ModeSP .table_scroll td
{
	max-width: 40vw;
}
}
/*
.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;
}
*/



/* ============================================================================================================
	<ul><ol><li> */
/* ------------------------------------------------------
	<li>で<table>
*/
.table
{
	margin: 0;
	display: table;
}

.table>ul
{
	display: table-row;
}

.table>ul>li
{
	display: table-cell;
	vertical-align: top;
	width: inherit;
}


.table>ul>li:first-of-type
{
	padding-right: 1em;
	white-space: nowrap;
}

.inline_table
{
	display: inline-table;
}

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




/* ======================================================
	======================================================
	======================================================
	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;
	}
*/
}
