@charset "UTF-8";

/* ====================================
	共通スタイル
===================================== */

.has-sub-th span {
	font-size: 1.4rem;
	font-weight: 300;
}

/* 機能一覧テーブル */
.table-feature {
	border-collapse: collapse;
	width: 100%;
}

/* テーブル見出し */
.table-feature thead th:not(:first-of-type) {
	font-size: 1.4rem;
	font-weight: 500;
	padding: .5em .5em;
	background-color: #f5f5f5;
}

.table-feature thead th {
	border: solid 1px #d0d0d0;
	text-align: center;
}

.table-feature thead th:first-of-type,
.feature-item th {
	width: 26%;
	word-break: break-word;
}

.table-feature thead th:not(:first-of-type),
.feature-item td {
	width: calc(74% / 4);
	word-break: break-word;
}

/* テーブル中見出し */
.feature-title th {
	font-size: 1.6rem;
	font-weight: 500;
	padding: .6em;
	background-color: #e3e3e3;
	border: 1px solid #d0d0d0;
}

/* テーブルセル調整 */
.feature-item {
	font-size: 1.2rem;
}

.feature-item th {
	font-weight: 500;
	padding: .6em;
	background-color: #F5F5F5;
	border: 1px solid #d0d0d0;
}

.feature-item td {
	border: 1px solid #d0d0d0;
	padding: .5em;
	text-align: center;
	font-weight: normal;
}

/* 寸法 */
.sub-sub-item {
	padding-top: 1rem;
}

.sub-sub-title {
	padding-left: 13px;
	position: relative;
}

.sub-sub-title::before {
	content: '';
	display: block;
	width: 4px;
	height: 85%;
	background: #000;
	position: absolute;
	top: 8%;
	left: 0;
}

.flex-container {
	display: flex;
	flex-wrap: wrap;
}

/* 増設子機 */
figcaption {
	margin-top: .5em;
	font-size: 1.6rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.7;
}

figcaption span {
	display: block;
	font-size: 1.4rem;
	font-weight: 300;
}

/* ====================================
	スマートフォン専用スタイル
===================================== */
@media only screen and (max-width: 767px) {

	.text-container {
		margin-top: 2rem;
	}

	.img-container {
		margin-top: 3rem;
	}

	/* サブサブセクション */
	.sub-sub-title {
		margin-top: 4rem;
		font-size: 1.6rem;
	}

	.flex-container>.flex-item:first-of-type,
	.flex-container>.flex-item:first-of-type .sub-sub-title {
		margin-top: 0;
	}

	/* フレックスコンテナ */
	.flex-container {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.flex-container>.flex-item {
		width: 100%;
		margin-top: 3rem;
	}

	.flex-container>.flex-item:first-of-type {
		margin-top: 0;
	}

	/* サブサブタイトル フレックスコンテナ ハーフ 2段目以降 */
	.sub-sub-item .flex-container.fix-bottom-img>.flex-item:nth-of-type(n+2) {
		margin-top: 0;
	}
}

/* ====================================
	PC&タブレット、印刷専用スタイル
===================================== */
@media print,
screen and (min-width: 768px) {

	.sp-only {
		display: none;
	}

	table.table-spec td .sub-ttl {
		width: 10em;
	}

	/* 機能一覧テーブル */
	/* テーブル見出し */
	.table-feature thead th:not(:first-of-type) {
		font-size: 1.6rem;
		padding: .5em .6em;
	}

	/* テーブル中見出し */
	.feature-title th {
		font-size: 1.8rem;
	}

	/* テーブルセル調整 */
	.feature-item {
		font-size: 1.3rem;
	}

	.feature-item th {
		padding: .8em 1em;
	}

	.feature-item td {
		padding: .8em;
	}

	/* 寸法 */
	.sub-sub-title {
		font-size: 1.8rem;
	}

	.sub-sub-title+.text-container {
		margin-top: 2rem;
	}

	.text-container,
	.img-container {
		margin-top: 4rem;
	}

	.text-container.pc-slim,
	.img-container.pc-slim {
		margin-top: 2rem;
	}

	/* フレックスコンテナ：ハーフ・カスタム */
	.flex-container.half-custom {
		justify-content: space-between;
	}

	.flex-container.half-custom>.flex-item {
		width: 47%;
	}

	/* フレックスコンテナ ハーフ 2段目以降 */
	.flex-container.half-custom>.flex-item:nth-of-type(n+3) {
		margin-top: 6rem;
	}

	/* 画像下揃え */
	.fix-bottom-img .flex-item {
		display: flex;
		flex-direction: column;
	}

	.fix-bottom-img .img-container {
		min-height: 0%;
		/* IE対応 */
		width: 100%;
		margin-top: auto;
		padding-top: 2rem;
	}

	/* 増設子機 */
	figcaption {
		font-size: 1.8rem;
	}

	figcaption span {
		font-size: 1.6rem;
	}
}