@charset "utf-8";


/* --- トピックパス（下層ページ） --- */
header ol.topicPath {
	margin: 0 50px;
	padding: 7px 2px; /* トピックパスのパディング（上下、左右） */
	/*border-bottom: 1px #c0c0c0 solid; /* トピックパスの下境界線 */
	list-style-type: none;
}
/* リスト項目 */
header ol.topicPath li {
	display: inline;
}
/* リンクエリア */
header ol.topicPath li a {
	padding-right: 12px; /* リンクエリアの右パディング */
	background: url(../images/topic_path_gray.gif) no-repeat right; /* リンクエリアの背景（区切り記号） */
}


/*mainブロック内のh4タグ*/
main h4 {
	padding: 0 20px;
	margin-bottom: 0.5em;	/*下に空けるスペース*/
}



/*mainブロックのdlタグ*/
main dl {
	display: block;
	margin-block-start: 10px;
	margin-block-end: 1em;
	unicode-bidi: isolate;
}
main dt{
	display: block;
	margin-inline-start: 20px;
	unicode-bidi: isolate;
	/*font-weight: bold;*/
}
main dd{
	display: block;
	margin-inline-start: 40px;
	unicode-bidi: isolate;
}

main div.tbl{
	margin: 0 40px 2em;
}
main div.tbl table{
	border-collapse: collapse;
	border: 0px
}
main div.tbl td{
	border-collapse: separate;
	border-top-width: 1px;
	border-bottom-width: 1px;
	border-left-width: 0px;
	border-right-width: 0px;
	border-color: #c0c0c0;
	border-style: solid;
}

main div.InOut{
	margin-left: 20px;	/*左側へのマージン*/
}

main div.InOut table{
	margin: 0 0 2em; ;
}
main div.InOut table{
	border-collapse: collapse;
	border: 0px
}
main div.InOut td{
	border-collapse: separate;
	border-top-width: 1px;
	border-bottom-width: 1px;
	border-left-width: 0px;
	border-right-width: 0px;
	border-color: #c0c0c0;
	border-style: solid;
}


main div.singleLine table {
border-collapse: collapse;
border: 2px #c0c0c0 solid;
}
main div.singleLine td {
border: 2px #c0c0c0 solid;
}
main div.singleLine th {
border: 2px #c0c0c0 solid;
}

main div.HorizontalLine table {
border-collapse: collapse;
border: 0px #c0c0c0 solid;
}
main div.HorizontalLine td {
border-width: 1px 0px;
border-color: #c0c0c0;
border-style: solid;
}
main div.HorizontalLine th {
border-width: 1px 0px;
border-color: #c0c0c0;
border-style: solid;
}

.sub h2 {
	font-weight: bold;
	font-size: 1.4em;
	margin: 15px 0;
	border: none;
	text-align: center;		/*テキストをセンタリング*/

	color: #6621a5;			/*文字色*/
}
.sub h2 a {
	text-decoration: none;display: block;
	color: #6621a5;
}
.sub h3 {
	text-align: left;		/*テキストをセンタリング*/
}

/*sub内のh3タグ*/
.sub h4 {
	font-weight: bold;
	font-size: 1em;
	margin: 0;
	padding: 0;
	border: 1px;
	color: #fff;			/*文字色*/
	text-align: left;		/*テキストをセンタリング*/
}

.sub h4 a {
	text-decoration: none;display: block;
	color: #6621a5;
}


/* sidemenu 字下げの設定 */
ul.submenu li.mgl-10 {
margin-left: 10px; /* 左マージン */
background: none; /* 項目の背景（マーカー） */
}
ul.submenu li.mgl-20 {
margin-left: 20px; /* 左マージン */
background: none; /* 項目の背景（マーカー） */
}


/* 記事へのコメント */
main div.voice {
	border: 1px solid #ccc;
	padding: 10px;
	margin: 10px 0;
	border-radius: 5px;
}
main textarea.comment-box {
	width: 95%;
	height: 100px;
	font-size: 1rem;
	padding: 10px;
	resize: vertical;
}

main textarea.nimonic{
	width: 400px;
	max-width: 100%;
}

main textarea.sorce{
	width: 800px;
	height: 200px;
	max-width: 100%;
}
@media screen and (max-width: 800px){
	textarea{
		width: 100%
	}
}

/* ダウンロード */
main div.download{
	display: flex;
	align-items: center;
	margin: 0 20px 1em;	/*上、左右、下へ空けるスペース*/
}

main div.download-icon{
	width: 50px;
}

/* シンボルの設定 */
main div.symbol{
	display: flex;		/*flexボックスを使う指定*/
	flex-wrap: wrap;	/*折り返す指定*/
	/*justify-content: space-between;		/*並びかたの種類の指定*/
	margin-left: 20px;	/*左側へのマージン*/
}

main div.graph{
	margin-left: 10px;	/*左側へのマージン*/
	/*margin-right: 2%;	/*右側へのマージン*/
	width: 300px;
}



/* 構造体説明セクション */
.struct-section {
	font-family: sans-serif;
	max-width: 600px;
	margin: 10px;
}

.struct-title {
font-weight: bold;
margin-bottom: 4px;
}

.struct-name {
margin-bottom: 8px;
color: #555;
}

.struct-table .row {
display: flex;
border-top: 1px solid #ccc;
padding: 6px 0;
padding-left: 2em; /* ← ここで中身を右にずらす */
align-items: center;
}

.struct-table .row:last-child {
border-bottom: 1px solid #ccc;
}

.struct-field {
width: 100px;
color: #333;
flex-shrink: 0;
}

.struct-type {
width: 60px;
color: #666;
flex-shrink: 0;
}

.struct-desc {
flex: 1;
color: #777;
}

/* I/O説明セクション */
.io-section {
	font-family: sans-serif;
	max-width: 400px;
	margin: 10px;
}

.io-title {
font-weight: bold;
margin-bottom: 8px;
}

.io-row {
display: flex;
border-top: 1px solid #ccc;
padding: 2px 10px;
}

.io-row:last-child {
border-bottom: 1px solid #ccc;
}

.io-label {
width: 100px; /* ラベルの幅は固定 */
color: #444;
flex-shrink: 0;
}

.io-description {
color: #777;
padding-left: 20px; /* ラベルとの間隔 */
}

.likes{
	display: flex;
	justify-content: space-between;
}
