@charset "utf-8";

/* …………………………………………………………………………………………… */
/* てがろぐ -Fumy Otegaru Memo Logger- 標準スタイルシート for Ver 4.8.0＋ */
/* …………………………………………………………………………………………… */

/* ============== */
/* ■全体共通装飾 */
/* ============== */
body {
    font-family: "Hiragino Maru Gothic ProN", "Hiragino Maru Gothic Pro", "ヒラギノ丸ゴ ProN", "BIZ UDPGothic", sans-serif;
    font-size: 13px;
    color: #666;
    line-height: 1.8;
	margin: 0;
	padding: 0;
	max-width: 100%;
	overflow-x: hidden;
}

	/* -------------- */
	/* ▼リンクの装飾 */
	/* -------------- */
	a:link { color: black; }
	a:visited { color: #309; }
	a:hover { color: #0a0; }

	/* ------------------------- */
	/* ▼URLが書かれた場合の装飾 */
	/* ------------------------- */
	.url {
		word-break:break-all;
	}

	/* ---------------------- */
	/* ▼カード型リンクの装飾 */
	/* ---------------------- */
	.cardlink {
		display: inline-block;
		width: 100%;
		max-width: 500px;
		padding: 0 0.25em 0.5em 0;
		font-size: 0.9rem;
		text-decoration: none;
		vertical-align: middle;
	}

		.cardlinkbox {
			border: 1px solid #ccc;
			border-radius: 7px;
			background-color: white;
			display: flex;
		}
		.cardlinkbox:hover {
			background-color: #f5fff5;
			border-color: #8c8;
		}
			.cardlinkimage {
				background-image: linear-gradient(-30deg, #8a8, #e0f0e0);
				background-size: cover;
				background-position: center center;
				background-repeat: no-repeat;
			}
			.cardlinktextbox {
				display: flex;
				flex-direction: column;
				padding: 0.5em 1em;
			}
				.cardlinktitle,
				.cardlinkdescription,
				.cardlinkurl {
					display: -webkit-box;
					-webkit-box-orient: vertical;
					overflow: hidden;
					line-clamp: 1;
					-webkit-line-clamp: 1;
					text-overflow: ellipsis;
				}
				.cardlinktitle {
					padding-bottom: 0.25em;
				}
				.cardlinkdescription {
					line-height:1.3;
					color:#555;
					line-clamp: 2;
					-webkit-line-clamp: 2;
				}
				.cardlinkurl {
					color: #999;
				}

		/* ----------------------------------- */
		/* リンクカードの装飾(サイズS用の追記) */
		/* ----------------------------------- */
		.cardsize-S {
			flex-direction: row;
		}
			.cardsize-S .cardlinkimage {
				min-width: 100px;
				min-height: 100px;
				border-radius: 6px 0 0 6px;
				flex-shrink: 0;
			}
			.cardsize-S .cardlinktextbox {
				border-left: 1px solid #ccc;
				justify-content:center;
			}
				.cardsize-S .cardlinktitle { order: 2; }
				.cardsize-S .cardlinkdescription { order: 3; }
				.cardsize-S .cardlinkurl { order: 1; }

		/* ----------------------------------- */
		/* リンクカードの装飾(サイズL用の追記) */
		/* ----------------------------------- */
		.cardsize-L {
			flex-direction: column;
		}
			.cardsize-L .cardlinkimage {
				aspect-ratio: 1.91 / 1;
				width: 100%;
				height: auto;
				border-radius: 6px 6px 0 0;
			}
			.cardsize-L .cardlinktextbox {
				border-top: 1px solid #ccc;
			}
				.cardsize-L .cardlinktitle { font-weight: bold; }
				.cardsize-L .cardlinkdescription { min-height: 2.5em; }
				.cardsize-L .cardlinkurl {
					border-top: 1px solid #ddd;
					margin-top:0.5em;
					padding-top:0.5em;
					font-size:0.75rem;
				}

	/* ---------------------------------------------------- */
	/* ▼汎用装飾(てがろぐ専用記法で書かれた場合のみ)：文字 */
	/* ---------------------------------------------------- */
	.decorationB { font-weight: bold; }
	.decorationD {
		color: #888;
		text-decoration-line: line-through;
		text-decoration-color: red;
	}
	.decorationE {
		color: #050;
		font-style: normal;
		font-weight: bold;
	}
	.decorationI { font-style: italic; }
	.decorationQ {
		margin: 1em 0.3em 1em 1em;
		padding: 0.75em 0.5em;
		border-left: 5px double #5c5;
		background-color: #efe;
		font-size: 0.95em;
		display: block;
	}
	.decorationQ::before,
	.decorationQ::after { content: ''; }
	.decorationQ + br { display: none; }
	.decorationS { font-size: 0.8em; }
	.decorationT { font-size: 0.6em; }
	.decorationU {
		text-decoration-line: underline;
		text-decoration-style: double;
		text-decoration-color: lime;
	}

	/* ---------------------- */
	/* ▼自由装飾用の装飾の例 */
	/* ---------------------- */
	.deco-scream { font-size: 1.67em; }
	.deco-code {
		display: inline-block;
		font-family: "Consolas","Bitstream Vera Sans Mono","Courier New",Courier,monospace;
		background-color: snow;
		color: black;
		border: 1px solid #eee;
		border-radius: 3px;
		padding: 0px 3px;
	}
	.deco-separator {
		display: block;
		border-bottom: 1px dotted gray;
	}
	.deco-flex {
		display: flex;
		gap: 1em;
		align-items: start;
		justify-content: start;
		flex-wrap: wrap;
	}

	/* ---------------------------------------------------- */
	/* ▼汎用装飾(てがろぐ専用記法で書かれた場合のみ)：画像 */
	/* ---------------------------------------------------- */
	.decorationB img { box-shadow: 5px 5px 5px yellowgreen; }
	.decorationD img { opacity: 0.5; }
	.decorationE img { outline: 8px ridge rgba(50, 236, 70, 0.6); }
	.decorationI img { box-shadow: -5px 5px 5px pink; }
	.decorationQ img { vertical-align: middle; }
	.decorationS img { border-radius: 15px; vertical-align: middle; }
	.decorationT img { max-height: 75px; width: auto; vertical-align: middle; }
	.decorationU img { box-shadow: 5px 5px 5px skyblue; }

	/* -------------- */
	/* ▼埋め込み画像 */
	/* -------------- */
	.embeddedpictbox {
		margin: 0;
		padding: 0;
		display: inline-table;
		border-collapse: collapse;
		border: 1px solid #e0eee0;
		vertical-align: top;
	}
		.embeddedpictbox figcaption {
			display: table-caption;
			caption-side: bottom;
			font-size: 0.8em;
			text-align: center;
			background-color: #e0eee0;
		}
		.embeddedpictbox img { vertical-align: middle; }
	.imagelink {
		display: inline-block;
		line-height: 1;
		vertical-align: inherit;
	}
	.embeddedimage {
		max-width: 100%;
		max-height: 240px;
		width: auto;
		height: auto;
	}
	figure.nsfw { overflow: hidden; }
	.imagelink.nsfw { overflow: hidden; }
	img.nsfw { filter: blur(9px); }

	/* -------------- */
	/* ▼埋め込み動画 */
	/* -------------- */
	figure.embeddedvideo {
		margin: 0;
		padding: 0;
		display: flex;
		flex-direction: column-reverse;
	}
		.videotitle {
			text-align: center;
			background-color: #dcf3dc;
		}
	video.embeddedvideo {
		display: inline-block;
		max-width: 100%;
		width: auto;
		height: auto;
	}
	@media all and (max-width: 600px) {
		.embeddedmovie {
			display: inline-block;
			max-width: 100%;
			width: auto;
			height: auto;
		}
	}

	/* --------------- */
	/* ▼埋め込みTweet */
	/* --------------- */
	blockquote.twitter-tweet {
		background-color: #f8f8f8;
		border: 1px dashed #ddd;
		border-radius: 9px;
		margin: 0.3em 0;
		padding: 1em;
		font-size: 0.95em;
		color: #999;
		text-shadow: 1px 1px 1px #fff;
	}
	div.twitter-tweet { max-width: 350px !important; }

	/* -------------------- */
	/* ▼検索語のハイライト */
	/* -------------------- */
	.searchword {
		font-weight: bold;
		background: linear-gradient(transparent 60%, #aaf0aa 60%);
	}

/* ========================== */
/* ■ページ最上部(ヘッダ)領域 */
/* ========================== */
header {
	display: table;
	background-color: black;
	width: 100%;
}

	/* -------------- */
	/* ▼タイトル区画 */
	/* -------------- */
	.headtitle {
		display: table-cell;
		margin: 0;
		padding: 0.2em;
		color: white;
		line-height: 1;
	}
		.maintitle { margin: 0; }
		.maintitle a { color: white; text-decoration: none; }
		.maintitle a:hover { color: #ffa; text-decoration: underline; }
		.subtitle { display: inline-block; font-size: 0.55em; }
		.mainguide { margin: 3px 0 0 0; line-height: 1.2; }

	/* ---------------------- */
	/* ▼管理・投稿ボタン区画 */
	/* ---------------------- */
	.headcontrol {
		display: table-cell;
		text-align: right;
		vertical-align: middle;
		padding: 0 3px;
	}
	.control-links { margin: 0; }
	.headcontrol a {
		display: inline-block;
		text-align: center;
		border: 2px solid white;
		border-radius: 0.5em;
		padding: 0.5em;
		margin-bottom: 1px;
		background-color: skyblue;
		background-image: linear-gradient( 180deg, skyblue, #8080ff 25%, blue );
		color: white;
		text-decoration: none;
		white-space: nowrap;
	}
	.headcontrol a:hover {
		text-decoration: underline;
		background-color: #ffffcc;
		background-image: linear-gradient( 180deg, #ffffaa, #ffffcc 55%, white );
		color: blue;
	}

	/* ----------------------------------------- */
	/* ▼ヘッダ領域：画面の横幅が800px以上の場合 */
	/* ----------------------------------------- */
	@media all and (min-width: 800px) {
		.headcontrol { white-space: nowrap; }
		.mainguide { line-height: 1; }
	}

	/* ----------------------------------------- */
	/* ▼ヘッダ領域：画面の横幅が480px以下の場合 */
	/* ----------------------------------------- */
	@media all and (max-width: 480px) {
		.subtitle { font-size: 0.35em; vertical-align: middle; }
		.mainguide { font-size: 0.8em; line-height: 1.25; }
	}


/* ======================== */
/* ■入力フォームの表示領域 */
/* ======================== */
.postform {
	background-color: #eee;
	margin: 1em;
	padding: 1em;
}
.postform p { margin: 0; }

	/* ------------ */
	/* ▼本文入力欄 */
	/* ------------ */
	textarea.tegalogpost {
		border: 2px Black solid;
		border-radius: 0.67em;
		background-color: white;
		font-size: 0.9rem;
		padding: 0.5em;
		margin-bottom: 0.25em;
		box-sizing: border-box;
		width: 100%;
		height: 4.3em;
		overflow-wrap: break-word;
		overflow: auto;
	}
		textarea.tegalogpost:placeholder-shown { color: #777; }
		textarea.tegalogpost:focus:placeholder-shown { color: #bbb; }
		textarea.tegalogpost:-ms-input-placeholder { color: #aaa; }

	@media all and (max-width: 800px) {
		textarea.tegalogpost { font-size: 16px; padding: 0.4em; }
	}

	/* ------------------------------------------------ */
	/* ▼投稿コントロール部分(ボタンや字数カウンタなど) */
	/* ------------------------------------------------ */
	.line-control { margin: 0.25em 0; }

	/* ------------ */
	/* ▼投稿ボタン */
	/* ------------ */
	.postbutton {
		display: inline-block;
		background: Black;
		color: white;
		font-size: 1rem;
		font-weight: bold;
		text-decoration: none;
		padding: 0.25em 0.75em;
		border: 1px solid black;
		border-radius: 1em;
	}
	.postbutton:hover { background-color: #00cc00; }

	/* ------------------ */
	/* ▼文字装飾ボタン群 */
	/* ------------------ */
	.decoBtns { display: inline-block; margin-top: 0.5em; }
	.decoBtns input { min-width: 32px; min-height: 28px; margin:1px; background-color:#eee; border: 1px solid #aaa; cursor: pointer; border-radius: 3px; font-size: 14px; vertical-align: middle; }
	.decoBtns input:hover { background-color:#e5f1fb; border-color: #0078d7; }
	.decoBtnB { font-weight: bold; }
	.decoBtnD { text-decoration: line-through; text-decoration-color: red; text-decoration-style: double; }
	.decoBtnE { font-weight: bold; color: blue; }
	.decoBtnI { font-style: italic; }
	.decoBtnQ {  }
	.decoBtnS {  }
	.decoBtnT { font-size: 11px !important; }
	.decoBtnU { text-decoration: underline; text-decoration-color: red; }
	.decoBtnC { color: red; }
	.decoBtnM { color: blue; }

	@media all and (min-width: 800px) {
		.decoBtns { margin-top: 0; }
	}

	.recentimginsertbtns { margin:0 0.5em; }
	.recentimginsert { display:inline-block; vertical-align:middle; }
	.recentimginsert img { display:block; }

	/* -------------------------------- */
	/* ▼カテゴリ選択チェックボックス群 */
	/* -------------------------------- */
	.catChecks { font-size:0.9em; padding-top: 0.5em; }
	.catChecks label { display:inline-block; cursor:pointer; margin:0 0.75em 0 0; }
	.catChecks label:hover { text-decoration:underline; }
	.catChecks input { min-width:0; min-height:0; margin-right:0.2em; }
	.funcUIs .catChecks { margin:0 0.75em 0 0; }
	.funcUIs .catChecks label { margin: 0; }

/* ================================================= */
/* ■段組構成（画面の幅が800px以上ある広い場合限定） */
/* ================================================= */
@media all and (min-width: 800px) {
	/* -------------- */
	/* ▼大外枠の装飾 */
	/* -------------- */
	.contents {
		display: table;
		border-collapse: separate;
		border-spacing: 1em 0;
		margin: 0;
		padding: 0;
		width: 100%;
	}
	/* ---------------- */
	/* ▼メイン段の装飾 */
	/* ---------------- */
	.contents .mainarea {
		display: table-cell;
		width: 75%;
		vertical-align: top;
	}
	/* -------------- */
	/* ▼サブ段の装飾 */
	/* -------------- */
	.contents .subarea {
		display: table-cell;
		width: 25%;
		vertical-align: top;
	}
}


/* ====================== */
/* ■メイン(ログ掲載)領域 */
/* ====================== */
.mainarea {
	margin: 1em 0;
	padding: 0;
	overflow: hidden;
}
	/* ------------------------------------------ */
	/* ▼表示対象の限定時などの「限定条件」表示行 */
	/* ------------------------------------------ */
	.situation {
		margin: 0 0 1em 0;
		font-weight: bold;
		color: black;
	}
	.situation:empty { display: none; }

	/* -------------- */
	/* ▼日付境界バー */
	/* -------------- */
	.dateseparator {
		display: none;
	}


/* ================================ */
/* ■投稿ボックス(一発言)ごとの表示 */
/* ================================ */
.onelogbox {
	display: table;
	border-collapse: separate;
	border-spacing: 0 0.75em;
	border-bottom: none;
	border: 1px solid #ccc;
	border-radius: 10px;
	padding: 1em;
	margin: 1em 1em 0 1em;
	width: calc(100% - 2em);
	box-sizing: border-box;
}

	/* ---------------- */
	/* ▼投稿情報カラム */
	/* ---------------- */
	.onelogside {
		display: table-cell;
		vertical-align: top;
		text-align: center;
		width: 96px;
		min-width: 64px;
	}

		/* ▼ユーザアイコン＆ユーザ名リンク */
		.usericonlink {
			display: block;
			margin: 0 3px;
			padding: 0.75em 0;
			color: #050;
			background-color: #f5fff5;
			border: 1px solid #e0eee0;
			border-radius: 1em;
			font-size: 0.67em;
			line-height: 1;
			text-decoration: none;
		}
		.usericonlink:hover {
			border-color: #aea;
			background-color: #ffc;
		}
			.iconarea { display: block; }
			.username { display: block; padding-top: 4px; }
			.memonum { margin: 0.3em 0; font-size: 0.8em; color: gray; }
			.memonum a { text-decoration: none; }
			.memonum a:hover { color: red; }
			.newsign { display: inline-block; color: #f55; font-size: 0.8em; margin-right: 0.35em; }

	/* ---------------- */
	/* ▼投稿本文カラム */
	/* ---------------- */
	.onelogbody {
		display: table-cell;
		vertical-align: top;
	}

		/* ▼投稿本文 */
		.comment {
			margin-left: 1em;
			line-height: 1.55;
			min-height: 4em;
		}
			.comment .taglink {
				display: inline-block;
				margin: 0 3px;
				text-decoration: none;
				word-break:break-all;
			}
			.comment .taglink:hover {
				color: blue;
				border-color: white;
				text-decoration: underline;
			}

			/* ▼続きを読むリンク（ボタン） */
			.readmorebutton {
				display: inline-block;
				padding: 1px 0.5em;
				margin: 0 1px;
				border: 1px solid #bbb;
				border-radius: 0.5em;
			}
			.readmorebutton:link,
			.readmorebutton:visited {
				background-color: #eee;
				background-image: linear-gradient( 0deg, #ccc, #ddd 55%, white );
				color: darkblue;
				text-decoration: none;
			}
			.readmorebutton:hover {
				background-image: none;
				background-color: #00cccc;
				color: white;
				text-decoration: underline;
			}
			.readmorebutton.readmoreopen { font-size: 0.95em; }
			.readmorebutton.readmoreclose { font-size: 0.75em; }

			/* ▼折り畳み空間 */
			.foldswitch { width: fit-content; }
			.foldlabel {
				display: inline-block;
				padding:0.25rem 0.5rem;
				border:1px solid #bcb;
				border-radius:5px;
				background-color: #ded;
				background-image: linear-gradient( 0deg, #cdc, #ded 55%, white );
				color: darkblue;
				line-height: 1;
				cursor: pointer;
			}
			.foldlabel:hover {
				background-image: none;
				background-color: #3ba;
				color: white;
			}
			.foldedarea {
				border-left:3px solid yellowgreen;
				margin: 0.25rem 0 0 0.125rem;
				padding: 0.25rem 0.5rem;
			}

		/* ▼投稿日時やカテゴリ名などの情報表示 */
		.oneloginfo {
			margin: 0.75em 0 0 0;
			color: #585;
			font-size: 0.8em;
			text-align: right;
		}
			.postuserid { margin: 0 0.3em; }
			.postuserid a { text-decoration: none; color: inherit; }
			.postuserid a:hover { text-decoration: underline; }
.postdate a {
    display: inline-block;
    padding: 0 0.25em;
    color: #666;
    text-decoration: none;
    pointer-events: none;
}
			.postdate a:hover { text-decoration: underline; }
			.categories {}
				.categorylink { display: inline-block; text-decoration: none; }
				.categorylink:hover { text-decoration: underline; }
				.catseparator { display: inline-block; margin: 0 1px; color: gray; }
					.categoryicon img { height: 1.2em; width: auto; vertical-align: text-top; margin: 0 1px; }
			.editlink a {
				display: inline-block;
				font-size: 0.82em;
				color: black;
				text-decoration: none;
				background-color: #eee;
				border: 1px solid #ccc;
				border-radius: 0.5em;
				padding: 0 0.5em;
			}
			.editlink a:hover { color: white; background-color: #08f; border-color: #08f; }

	/* ------------------------------ */
	/* ▼画面幅が狭い場合の上書き装飾 */
	/* ------------------------------ */
	@media all and (max-width: 480px) {
		.onelogside { width: 64px; }
		.comment { margin-left: 0.3em; line-height: 1.45; }
	}


/* ============================================================ */
/* ■鍵付き(パスワード保護)投稿に表示される鍵入力フォームの装飾 */
/* ============================================================ */
.passkeyform {
	display: inline-block;
	margin: 0;
	padding: 0.6em;
	background-color: #efe;
	border: 1px solid #cec;
	border-radius: 0.25em;
}
	.passkeyerror {
		display: block;
		color: white;
		background-color: crimson;
		font-weight: bold;
		line-height: 1;
		margin: 0 0 0.5em 0;
		padding: 0.33em 0.25em;
	}
	.passkeybox { display: block; }
		.passkeyguide { margin-right: 0.1em; }
		.passkeyinput { width: 10em; margin: 0 0.25em 3px 0; }
		.passkeysubmit {}


/* ====================================================================== */
/* ■一発言だけが表示される際に追加表示されるユーティリティリンク群の装飾 */
/* ====================================================================== */
.utilitylinks {
	margin: 2em 1em 1em 1em;
	padding: 0.5em;
	border: 1px solid #7a7;
	border-radius: 1em;
	background-color: #efd;
	font-size: 0.9em;
}
.utilitylinks ul { color: darkgreen; }


/* ========================== */
/* ■ページナビゲーション領域 */
/* ========================== */
.pagenavi {
	margin: 2.5em 0px;
	padding: 0.5em 0px;
	text-align: center;
	border: none;
	background-color: transparent;
}
	/* ▼ページ前後移動リンク群ボックス全体 */
	.pagelinks { margin: 0.15em; }
	.pagelinks a { font-weight: bold; }
	/* ▼ページ番号リンク群ボックス全体 */
	p.pagenums { margin: 0.5em; }
	.pagenums a.pagenumlink {
		margin: 0px 2px 0px 2px;
		padding: 0.2em 0.5em;
		font-size: 1em;
		font-weight: bold;
	}
	a.pagenumhere {
		text-decoration: none;
		background-color: black;
		color: white;
		border-radius: 1em;
	}
	a.pagenumlink:hover {
		text-decoration: none;
		background-color: #aa0000;
		color: white;
		border-radius: 0.3em;
	}
	/* ▼限定解除リンク(＝HOMEに戻るリンク) */
.pagehome { display: none; }


/* ========== */
/* ■サブ領域 */
/* ========== */
.subarea {
	margin: 1em 0 0 0;
	padding: 0 1em;
	background-color: #cec;
	border-left: 1px solid black;
}

	/* --------------------------------- */
	/* ▼サブ領域の見出し(DASHBOARD)部分 */
	/* --------------------------------- */
	.subhead {
		border-bottom: 3px double black;
		line-height: 1;
		text-align: center;
		font-weight: bold;
		color: #050;
	}

	/* ------------ */
	/* ▼検索窓区画 */
	/* ------------ */
	.searcharea {
		margin: 0 0 1em 0;
		padding: 0 0 1em 0;
		border-bottom: 1px dashed black;
	}
	.searcharea .cornertitle { font-weight: bold; margin: 0; color: #36c; text-shadow: 1px 1px 1px white; }
		.searchbox { margin: 0; }
			.queryinput {
				border: 2px solid #8a8;
				border-radius: 0.5em;
				font-size: 1em;
				padding: 0.25em 0.5em;
				max-width: calc( 25vw - 9em);
				min-width: 150px;
			}
			.searchbox .submitbutton {
				background-color: black;
				border: 1px solid black;
				font-size: 1em;
				padding: 0.25em 0.67em;
				border-radius: 1em;
				font-weight: bold;
				color: white;
				display: inline-block;
				margin: 0 0 0 3px;
			}
			.searchbox .submitbutton:hover { background-color: #0c0; color: white; }
		.searchtarget { margin: 0; font-size: 0.9em; line-height: 1.3; }
		.siwtchsearchbox { font-size: 0.8em; }
		#complexsearch { display: none; }
			.searchoptions { font-size: 0.9em; margin: 0.75em 0 1em 1em; padding: 0 0 0 0.5em; }
			.solabel { display: inline-block; min-width: 5em; }
			.searchoptions select { max-width: 175px; }

	/* ------------------------ */
	/* ▼新着画像一覧リスト区画 */
	/* ------------------------ */
	.imagelistarea {
		margin: 0 0 1em 0;
		padding: 0 0 1em 0;
		border-bottom: 1px dashed black;
	}
	.imagelistarea .cornertitle { margin: 0; font-weight: bold; color: #c96; text-shadow: 1px 1px 1px white; }
		.imagelistbox { margin: 0; text-align: center; }
			.imagelistitem {
				display: inline-block;
				width: 30%;
				max-width: 100px;
				max-height: 100px;
				margin: 1%;
				vertical-align: middle;
				overflow: hidden;
			}
				.imagelistbox .oneimage {
					width: 100%;
					height: auto;
					aspect-ratio: 1/1;
					object-fit: cover;
					vertical-align: middle;
				}
		.imagesinfo { margin: 0.25em 0; text-align: right; }
			.totalimgfiles { font-size: 0.9em; }
			.totalimgsizes { font-size: 0.8em; }

	/* ------------------------------ */
	/* ▼日付一覧リスト・日付検索区画 */
	/* ------------------------------ */
	.datelistarea {
		margin: 0 0 1em 0;
		padding: 0 0 1em 0;
		border-bottom: 1px dashed black;
	}
	.datelistarea .cornertitle { margin: 0; font-weight: bold; color: #969; text-shadow: 1px 1px 1px white; }
		.datelimitlist {
			margin: 0.5em 0;
			padding: 0.5em 0.5em 0.5em 1.5em;
			background-color: #efe;
			border-radius: 0.5em;
		}
		.datelimitsublist {
			margin: 0;
			padding: 0 0 0 5px;
			list-style-type: none;
			font-size: 0.9em;
		}
			.datelimitlist .datelimitsublist .datelimit-month { display: inline-block; margin-right: 0.9em; }
			.datelimitlist .datelimitsublist .year { display: none; }
		.datelimitlist .num { font-size: 0.85em; color: #66a; margin-left: 0.3em; }
		.datelimit-expand { border-left: 3px solid #aca; padding-left: 0.5rem; margin-left: 0.2rem; margin-bottom: 0.5rem; }
		.datelimitbox {
			margin: 0.5em 0;
			padding: 0.9em 0.6em;
			background-color: #efe;
			border-radius: 0.5em;
		}
		.datelimitboxoptions { display: block; font-size: 0.9em; }
		.datelimitboxoptions label { display: inline-block; margin-right: 0.5em; }

	/* ------------------------ */
	/* ▼ハッシュタグリスト区画 */
	/* ------------------------ */
	.hashtaglistarea {
		margin: 0 0 1em 0;
		padding: 0 0 1em 0;
		border-bottom: 1px dashed black;
	}
	.hashtaglistarea .cornertitle { margin: 0; font-weight: bold; color: #585; text-shadow: 1px 1px 1px white; }
		.hashtaglist {
			list-style-type: none;
			margin: 0.5em 0;
			padding: 0.75em;
			background-color: #efe;
			border-radius: 0.5em;
			line-height: 1.5;
		}
		.hashtaglist li { display: inline-block; }
		.hashtaglist .num { font-size: 0.9em; color: #00a; margin-left: 0.25em; }
	.hashtagpull { max-width: 200px; }

	/* -------------------- */
	/* ▼カテゴリツリー区画 */
	/* -------------------- */
	.categoryarea {
		margin: 0 0 1em 0;
		padding: 0 0 1em 0;
		border-bottom: 1px dashed black;
	}
		.categoryarea .cornertitle { margin: 0; font-weight: bold; color: #585; text-shadow: 1px 1px 1px white; }
		.categoryTree {
			background-color: #efe;
			border-radius: 0.5em;
			border: 1px solid #eee;
			margin: 1em 0;
			padding: 0.25em;
		}
			.categoryTree ul { padding-left: 30px; list-style-type: disc; line-height: 1.2; }
				.categoryTree li { margin-top: 0.25em; }
				.categoryTree .caticon img { height: 1.2em; width: auto; vertical-align: text-top; }
				.categoryTree .cattext {}
				.categoryTree .caticon + .cattext,
				.categoryTree .cattext + .caticon { margin-left: 3px; }
				.categoryTree .num { display: inline-block; margin-left: 0.4em; font-size: 0.9em; color: #aaa; }
				.categoryTree .catdescription { font-size: smaller; color: #555; }
	.catpull { max-width: 200px; }

	/* -------------------- */
	/* ▼新着投稿リスト区画 */
	/* -------------------- */
	.latestpostarea {
		margin: 0 0 1em 0;
		padding: 0 0 1em 0;
		border-bottom: 1px dashed black;
	}
	.latestpostarea .cornertitle { margin: 0; font-weight: bold; color: #585; text-shadow: 1px 1px 1px white; }
		.latestpostlist {
			margin: 0.5em 0;
			padding: 0.6em 0.5em 0.3em 1.7em;
			background-color: #efe;
			border-radius: 0.5em;
			line-height: 1.25;
		}
			.latestpostlist li { margin: 0.75em 0; }
			.latestpostlist span { display: inline-block; font-size: 0.8em; }
				.latestpostlist .postdate { color: gray; }
				.latestpostlist .posttime { color: gray; }
				.latestpostlist .username { color: #558855; }
				.latestpostlist .userid   { color: #555588; }
				.latestpostlist .postid   { color: gray; }
				.latestpostlist .length   { color: gray; }

	/* ---------------- */
	/* ▼カレンダー区画 */
	/* ---------------- */
	.calendararea {
		margin: 0 0 1em 0;
		padding: 0 0 1em 0;
		border-bottom: 1px dashed black;
	}
	.calendararea .cornertitle { margin: 0; font-weight: bold; color: #585; text-shadow: 1px 1px 1px white; }
		.calendarplace {
			margin: 0.5em 0;
			padding: 0.75em;
			background-color: #efe;
			border-radius: 0.5em;
			line-height: 1.5;
			overflow: auto;
		}
		.calendar { border-collapse: collapse; border: 1px solid #8cd98c; }
		.calendar th,
		.calendar td { border: 1px solid #ace3ac; padding: 2px; text-align: center; font-size: 0.9em; line-height: 1; }
			.calendar caption { color: darkgreen; }
			.daysofweek th { background-color: #d9ffd9; font-weight: normal; padding: 6px 0; font-size: 0.8em; line-height: 1; }
			.calendar a,
			.calendar .nolink { display: inline-block; border-radius: 50%; padding: 0.4em; width: 1.2em; height: 1.1em; background-color: transparent; }
			.calendar td a { text-decoration: none; background-color: #ace3ac; color: black; }
			.calendar td a:hover { background-color: black; color: white; }
			.today { background-color: #ffffcc; }

	/* ------------------------------ */
	/* ▼カレンダーヒートマップの装飾 */
	/* ------------------------------ */
	.calendarheatmap {
		display: flex;
		flex-direction: row;
		gap: 3px;
		margin: 1rem auto;
		padding: 5px;
		width: fit-content;
		max-width: 100%;
		box-sizing: border-box;
		overflow: auto;
		--chm-box-size: 9px;
		--chm-fontsize: 8px;
	}
		.chmWeek { display: flex; flex-direction: column; gap: 3px; }
			.weekhead { display: block; font-size: var(--chm-fontsize); width: var(--chm-box-size); height: var(--chm-box-size); }
			.chmDay { display: block; border: 1px solid #d5d5d5; border-radius: 2px; width: var(--chm-box-size); height: var(--chm-box-size); background-color: gold; }
				.chmDay time,
				.chmDay b { display: none; }
			.weekNames { flex: 1; }
				.weekNames span { display: block; border: 1px solid white; width: 2em; height: var(--chm-box-size); font-size: var(--chm-fontsize); line-height: var(--chm-fontsize); text-align: right; }
		.exist0  { background-color: #ffffff; border-color: #d5d5d5; }
		.exist1  { background-color: #ccf4d5; border-color: #c3ecca; }
		.exist2  { background-color: #bcf1c9; border-color: #b4e8be; }
		.exist3  { background-color: #acebbe; border-color: #a5e4b3; }
		.exist4  { background-color: #99eaad; border-color: #93dfa2; }
		.exist5  { background-color: #87e69f; border-color: #83da94; }
		.exist6  { background-color: #76e39e; border-color: #73d586; }
		.exist7  { background-color: #64df83; border-color: #62d078; }
		.exist8  { background-color: #52db75; border-color: #52cb6a; }
		.exist9  { background-color: #4ac26b; border-color: #3eb860; }
		.exist10,
		.exist11 { background-color: #3eb860; border-color: #2da44e; }
		.exist12,
		.exist13 { background-color: #2da44e; border-color: #299246; }
		.exist14,
		.exist15 { background-color: #1e7a37; border-color: #0e5020; }
		.over15  { background-color: #0e5020; border-color: #0b3e19; }
		.over20  { background-color: #0b3d17; border-color: #082b11; }

	/* -------------------- */
	/* ▼フリースペース区画 */
	/* -------------------- */
	.freespacearea {
		margin: 0 0 1em 0;
		padding: 0 0 1em 0;
		border-bottom: 1px dashed black;
	}
	.freespacearea .cornertitle { margin: 0; font-weight: bold; color: #aa5; text-shadow: 1px 1px 1px white; }
		.freespacebody { margin: 0.5em 0; padding: 0.75em; background-color: #efe; border-radius: 0.5em; line-height: 1.5; }
		.freespaceedit { margin: 0; text-align: right; font-size: 0.75em; }
	.infotitle { margin: 1em 0 0 0; border-bottom: 1px dotted #ccc; font-size: 0.95em; }
	.infobody { margin: 0 0 1em 0; padding-top: 0.25em; text-align: right; }

/* ========================== */
/* ■ページ最下部(フッタ)領域 */
/* ========================== */
footer {
	margin: 1em 0px 0px 0px;
	padding: 0.5em 0px;
	background-color: black;
	color: white;
}
	footer .control-links { text-align: center; margin: 0.5em; }
	.backlink { text-align: center; margin: 0.5em; }
	footer a:link    { color: white; }
	footer a:visited { color: white; }
	footer a:hover   { color: yellow; }
	footer a:active  { color: #ccffcc; }
	.poweredby { margin: 2em 1em 0px 1em; font-size: 0.8em; }

.categorynavbox {
	padding: 8px 12px;
	margin: 8px 0;
}
.categorynavbox .categoryTree { background-color: transparent; border: none; margin: 0; padding: 0; }
.categorynavbox .categoryTree ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	gap: 8px !important;
}
.categorynavbox .categoryTree li { margin: 0; }
.categorynavbox .num { display: none; }

* { max-width: 100%; box-sizing: border-box; }

.categorynavbox a:link { color: black; }
.categorynavbox a:visited { color: black; }
.categorynavbox .categoryTree ul li::before { content: none; }
.categorynavbox li { list-style: none !important; }

.categorynavbox ul.cattree {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	gap: 8px !important;
}

/* End of file */