@charset "utf-8";

/* 概要 */
.featureContents{
	gap: 20px;
}
.featureContents .featureImg{
	width: min(100% ,300px);
}
.featureContents .featureText{
	flex: 1;
}
.featureText ul.flexBox{
	width: min(100% ,900px);
	margin: 10px 0 30px;
	flex-direction: column;
	border: 3px solid var(--mainColor);
	border-radius: 10px;
	padding: 20px;
}
.featureText h3{
	color: var(--accentColor3);
}
.featureText ul.flexBox li p{
	display: flex;
	padding: 5px 0;
	font-size: clamp(16px, (100vw - 600px) * 6 / 600 + 18px, 19px);
	line-height: 1.5em;
}
.featureText ul.flexBox li p::before{
	display: block;
	font-family: "Font Awesome 5 Free";
	content:"\f00c";
	font-weight: 900;
	font-size: 90%;
	color: var(--mainColor);
	padding: 5px 5px 0 0;
}
/* 課題解決 */
.problemSolvingContents{
	width: min(100% ,300px);
}
.assignmentBox::after{
	font-family: "Font Awesome 5 Free";
	content:"\f0d7";
	font-weight: 900;
	font-size: 400%;
	color: var(--mainColor);
	margin: 0 auto;
	width: fit-content;
	display: block;
}
.assignmentBox h3::after{
	font-family: "Font Awesome 5 Free";
	content:"\f103";
	font-weight: 900;
	font-size: 300%;
	color: var(--mainColor);
	margin: 30px auto 0;
	width: fit-content;
	display: block;
}
.assignment,.solution{
	padding: 15px;
	border-radius: 10px;
	margin: 15px auto;
	display: flex;
	flex-direction: column;
}
.assignment{
	border: 7px solid var(--lightColor1);
}
.solution{
	border: 7px solid var(--accentColor1);
}
:is(.assignment,.solution) >span{
	display: flex;
	gap: 10px;
	width: 130px;
	margin-bottom: 10px;
	padding: 10px 20px 10px 0;
	border-radius: 50px;
	font-weight: 700;
}
.assignment p{
	flex-basis: 42px;
}
.assignment >span{
	background: var(--lightColor2);
}
.solution >span{
	background: var(--accentColor2);
}
.solution ul{
	padding-left: 10px;
	margin: 0;
	flex-basis: 123px;
}
.solution li{
	list-style: none;
	font-weight: 700;
	margin-bottom: 10px;
	padding: 5px 0;
}
.solution li span{
	border-bottom: 4px solid var(--accentColor2);
	line-height: 1.6em;
}
.assignment >span::before{
	font-family: "Font Awesome 5 Free";
	content:"\f57a";
	font-weight: 900;
	font-size: 300%;
	color: var(--lightColor1);
	display: block;
}
.solution >span::before{
	font-family: "Font Awesome 5 Free";
	content:"\f118";
	font-weight: 900;
	font-size: 300%;
	color: var(--accentColor1);
	display: block;
}
/* 機能 */
.functionPoint{
	background: var(--accentColor3);
	margin: 30px 0 20px;
	padding: 10px 20px;
}
.functionPoint h3{
	color: #fff;
}
.functionPointList{
	list-style-type: disc;
	font-size: 18px;
	padding: 10px 20px 10px 40px;
	margin: 20px auto 0;
	background: var(--accentColor2);
	width: fit-content;
}
.functionPointList li{
	padding: 5px 0;
}
.functionWrap{
	gap: 10px;
	justify-content: center;
}
.pattern1{
	width: min(100% ,400px);
}
.pattern2{
	width: min(100% ,700px);
}
.functionIndex{
	background: var(--lightColor1);
	padding: 10px 20px;
	margin: 30px auto 15px;
	width: fit-content;
}
.functionIndex h4{
	font-weight: 700;
}
.functionContents{
	display: flex;
	flex-direction: column;
	padding: 10px;
	border: 5px solid var(--lightColor1);
	border-radius: 10px;
}
.functionTitle{
	gap: 10px;
	align-items: center;
	font-weight: 700;
	font-size: 18px;
	color: var(--accentColor3);
	margin-bottom: 10px;
	flex-basis: 31px;
}
.functionTitle span{
	width: fit-content;
	display: block;
	padding: 5px 10px;
	background: var(--lightColor2);
}
.functionTitle p{
	font-size: 18px;
}
.functionContentsText{
	flex-direction: column;
}
.functionContentsText p{
	flex-basis: 84px;
}
/* 動作環境 */
.systemsTable{
	margin: 10px 0;
}
.systemsTable table{
	width: 1000px;
}
.systemsTable table :is(th,td){
	border: 1px solid #444;
	padding: 10px;
}
.systemsTable table th{
	background: #ddd;
}

@media screen and (max-width: 1040px){
	.systemsTable{
		overflow-x: scroll;
	}
}
@media screen and (max-width: 984px) {
	.solution ul{
		flex-basis: auto;
	}
}
@media screen and (max-width: 550px){
	.sp{
		display: inline;
	}
	#system table :is(th,td){
		font-size: 14px;
	}
	#system table th{
		width: 90px;
	}
}