@charset "UTF-8";

/* ===============================
	共通スタイル
=============================== */
.bdr-gray {
	padding: .5em 1em;
	border: solid 1px #ddd;
}

/* ページタイトル */
.page-title {
	font-weight: 500;
}

/* サブセクション */
.sub-title {
	font-weight: 500;
	background: #e6e6e6;
}

/* 仕様表：基本 */
table.table-spec {
	width: 100%;
	font-size: 1.3rem;
	line-height: 1.4;
	border-collapse: separate;
	border-spacing: 0;
}

table.table-spec th,
table.table-spec td,
table.table-spec td.sub-td2 {
	padding: .5em 0;
	font-weight: normal;
	border-bottom: solid 1px #e5e5e5;
	text-align: left;
}

table.table-spec td.sub-td2 {
	border-bottom: dashed 1px #e5e5e5;
	padding-left: 1em;
}

table.table-spec th {
	width: 40%;
	font-weight: 500;
	vertical-align: top;
	word-break: break-word;
}

table.table-spec td {
	width: 60%;
	padding-left: 1em;
	word-break: break-word;
}

table.table-spec.has-col th {
	width: 25%;
}

table.table-spec.has-col td {
	width: 75%;
	border-left: solid 1px #e5e5e5;
}

table.table-spec th.has-sub-th {
	width: auto;
	padding-right: .5em;
}

table.table-spec th.sub-th {
	width: auto;
}

table.table-spec .td-col2 td {
	width: 37.5%;
	padding-right: 1em;
}

table.table-spec .td-col3 td {
	width: 25%;
	padding-right: 1em;
}

table.table-spec dl.normal {
	display: flex;
}

table.table-spec dl.normal dt,
table.table-spec dl.normal dd {
	padding: .2em 0;
}

table.table-spec dl.normal dt {
	width: 12rem;
}

table.table-spec.mt-space {
	border-top: solid 1px #ddd;
	margin-top: .8em;
}

table.table-spec .table-ttl {
	background: #F5F5F5;
	text-align: center;
	font-weight: bold;
}

/* ====================================
	スマートフォン専用スタイル
===================================== */
@media only screen and (max-width: 767px) {

	article {
		padding-bottom: 4rem;
		font-size: 1.4rem;
	}

	/* ページタイトル */
	.page-title {
		margin: 5rem 0;
		font-size: 2.2rem;
		text-align: center;
	}

	/* サブセクション */
	.sub-section {
		padding-top: 4rem;
	}

	.sub-section:first-of-type {
		padding-top: 0;
	}

	.sub-title {
		margin-bottom: 3rem;
		padding: .2em 0;
		font-size: 1.8rem;
		text-align: center;
	}

	/* 注釈セクション */
	.caption-section {
		padding-top: 8rem;
	}

	/* 仕様表：基本 */
	table.table-spec td .sub-ttl {
		width: 8em;
		padding-right: 1rem;
	}
}

/* ====================================
	PC&タブレット、印刷専用スタイル
===================================== */
@media print,
screen and (min-width: 768px) {

	article {
		font-size: 1.4rem;
	}

	/* 最大幅 */
	.maxw675 {
		max-width: 675px;
	}

	/* ページタイトル */
	.page-title {
		margin-top: 8rem;
		margin-bottom: 8rem;
		font-size: 3.2rem;
		text-align: center;
	}

	/* サブセクション */
	.sub-section {
		padding-top: 6rem;
	}

	.sub-section:first-of-type {
		padding-top: 0;
	}

	.sub-title {
		margin-bottom: 5rem;
		padding: .2em 0;
		font-size: 2.2rem;
		text-align: center;
	}

	/* 注釈セクション */
	.caption-section {
		padding-top: 14rem;
	}

	/* 仕様表：基本 */
	table.table-spec th {
		font-size: 1.5rem;
	}

	table.table-spec td .sub-ttl {
		display: inline-block;
		width: 8em;
		padding-right: 1rem;
	}

}