/* メインビジュアル */

.main-visual__img {
	height: 30vh;
}
@media screen and (max-width: 768px) {
	.main-visual {
		margin: 3rem auto;
	}
}
/* ラッパー: レスポンシブを含むFVとして設定 */

.wrapper {
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	align-items: flex-start;
	margin-bottom: 4rem;
}
.wrapper__img {
	flex: 0 0 auto;
}
.wrapper__text {
	flex: 1;
	margin-left: 2rem;
}
/* レスポンシブデザイン: 768px以下の画面サイズに対応するスタイル */

@media screen and (max-width: 768px) {
	.wrapper {
		flex-direction: column;
		align-items: flex-start;
		margin-bottom: 1rem;
		/* margin-top: -3rem; 調整*/
	}
	.wrapper__img {
		flex: 0 0 100%;
	}
	.wrapper__img img {
		width: 100%;
		height: auto;
		display: block;
	}
	.wrapper__text {
		order: -1;
		flex: 0 0 100%;
		margin: 0;
	}
	.title {
		margin-bottom: 1rem;
	}
	.description {
		margin-bottom: 1rem;
	}
}
/* application セクションのスタイル */

.application {
	margin-bottom: 1rem;
	max-width: 1280px;
}
.application__title, .price__title {
	font-family: "Noto Sans JP", sans-serif;
	padding-left: 1rem;
	color: #333;
	border-left: 8px solid #179591;
	background-color: #f0f0f0;
}
.application__description {
	color: #333;
	padding: 0.5rem;
	background-color: #fff;
}
.price, .specification {
	margin-bottom: 1rem;
	max-width: 1280px;
}
.price__table, .specification__table {
	width: 100%;
	border-collapse: collapse;
}
.price__table th, .price__table td, .specification__table th, .specification__table td {
	text-align: left;
	padding: 0.5rem;
	border: 1px solid #ddd;
	vertical-align: top;
}
.price__table th {
	color: #fff;
	font-weight: bold;
	background-color: #179591;
	width: 20%;
}
.specification__title {
	padding-left: 1rem;
	background-color: #F1F7F7;
	color: #333;
	border-left: 8px solid #239dda;
}
.specification__table th {
	color: #fff;
	font-weight: bold;
	background-color: #239dda;
	width: 20%;
}
.price__table td, .specification__table td {
	background-color: #fff;
}
/* レスポンシブデザイン: 768px以下の画面サイズに対応するスタイル */

@media screen and (max-width: 768px) {
	.application, .price, .specification {
		max-width: 100%;
	}
	.application__title, .price__title, .specification__title, .application__description, .price__table, .specification__table, .price__table th, .price__table td, .specification__table th, .specification__table td {
		padding: 0.25rem;
	}
	.price__table, .specification__table {
		display: block;
	}
	.price__table tr, .specification__table tr {
		display: block;
		margin-bottom: 0.5rem;
	}
	.price__table th, .price__table td, .specification__table th, .specification__table td {
		display: block;
		width: 100%;
	}
	.application__title, .price__title, .specification__title {
		font-size: 1rem;
	}
	.price__table th, .price__table td, .specification__table th, .specification__table td {
		font-size: 0.75rem;
	}
	.application__title, .price__title, .specification__title {
		border-left: 3px solid #179591;
	}
	.price__table th, .specification__table th {
		padding-bottom: 0.25rem;
	}
	.price__table th, .price__table td, .specification__table th, .specification__table td {
		text-align: left;
	}
}