@charset "utf-8";
/* ………………………………………………… */
/* CMSkin CSSひな形 https://10prs.com/    */
/* Ver.2023/04/09 17:28                    */
/* ………………………………………………… */

/* フォント・配色カスタマイズ用 ================================
てがろぐ管理画面からフォントや配色を変更したい場合は以下の部分を
管理画面＞設定＞フリースペース＞「上書きスタイルシート」欄に
カット＆ペーストし、「外側スキンに [[FREE:EXTRACSS]] の記述が
ある箇所にのみ出力する」にチェックを入れ保存してください
※その場合このskin-cms.cssの以下の部分は削除してください
============================================================= */
/* ウェブフォント用外部CSS読み込み */
@import url('https://fonts.googleapis.com/css2?family=Secular+One&family=Klee+One:wght@600&family=Kaisei+Decol:wght@700&family=Zen+Kaku+Gothic+New&display=swap');
@import url('https://maxst.icons8.com/vue-static/landings/line-awesome/line-awesome/1.3.0/css/line-awesome.min.css');

/* CSS変数設定 */
:root {
	--main-text-color: #4a4a4a;
	/* 基本の文字色 */
	--dark-text-color: #000;
	/* 暗めの文字色 */
	--light-text-color: #808080;
	/* 薄めの文字色 */
	--main-bg-color: #efefef;
	/* 全体の背景色 */
	--dark-bg-color: #a0a0a0;
	/* 暗めの背景色 */
	--light-bg-color: #fafafa;
	/* 薄めのの背景色 */
	--post-bg-color: #fff;
	/* 記事表示部分の背景色 */
	--a-color: #006fbf;
	/* リンク文字色 */
	--visited-color: #999;
	/* 訪問済みリンク文字色 */
	--hover-color: #333;
	/* マウスホバー時リンク文字色 */
	--base-font-size: 1.6rem;
	/* 基本文字サイズ */
	--small-font-size: 1.1rem;
	/* 小さい文字サイズ */
	--main-font: 'Zen Kaku Gothic New', sans-serif;
	/* 基本フォント名 */
	--midashi-font: 'Kaisei Decol', serif;
	/* サイト・記事タイトルフォント名 */
	--icon-font: 'Line Awesome Free', 'Line Awesome Brands';
	/* アイコンフォント名 */
	--novel-font: 'Klee One', serif;
	/* 小説フォント名 */
	--contents-width: 900px;
	/* 表示大枠幅 */
	--box-border-color: #333;
	/* 記事表示ボックスの線色 */
	--box-bg-color: #fff;
	/* 記事表示ボックスの背景色 */
	--box-radius: 0px;
	/* 記事表示ボックスの角丸 */
	--btn-border-color: #aaa;
	/* ボタンの線色 */
	--btn-bg-color: #eee;
	/* ボタンの背景色 */
	--btn-radius: 3px;
	/* ボタンの角丸 */
}

/* ======== フォント・配色・表示非表示カスタマイズ用 ここまで */

/* パーツ表示非表示用 =================================
※スキンHTMLから該当箇所を削除する方を推奨※
てがろぐの管理画面から変更したい場合は以下の部分を
管理画面＞設定＞フリースペースにカット＆ペーストし
header.html16行目付の近skin-cms.css呼び出しタグより下に
[[FREESPACE:数字]]と追記してください
===================================================== */
.sub_title,
/* 副タイトル */
.descprition,
/* 一行概要文 */
.breadcrumb,
/* パンくずリスト */
.reverse_link,
/* 表示順切り替えリンク */
.yomiage,
/* 読上リンク */
#utility_links,
/* 下記ボックス群丸ごと全部 */
.subarea.search,
/* 検索フォーム */
.subarea.hashtags,
/* ハッシュタグ一覧 */
.subarea.categories,
/* カテゴリ一覧 */
.subarea.images,
/* 新着画像一覧 */
.subarea.latestpost,
/* 新着投稿一覧 */
.subarea.archives,
/* 日付別ログ一覧 */
.subarea.freespace,
/* フリースペース */
.subarea.viewmode,
/* モード別表示一覧 */
.subarea.calender

/* カレンダー */
	{
	/* display:none!important */
}

/* ======== 表示非表示カスタマイズ用 ここまで */

/* ====================== 基本スタイル */
*,
*:before,
*:after {
	box-sizing: border-box
}

html {
	font-size: 62.5%;
	background-color: var(--main-bg-color);
	text-rendering: optimizeLegibility;
	scroll-behavior: smooth;
}

body {
	min-width: 320px;
	line-height: 1.6;
	color: var(--main-text-color);
	font-size: var(--base-font-size);
	font-family: var(--main-font);
	letter-spacing: .05rem;
	animation: fadein 1.2s ease;
	-webkit-text-stroke-width: .14px !important;
}

@keyframes fadein {
	0% {
		opacity: 0;
		transform: translateY(-10px);
	}

	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

a {
	text-decoration: none;
	transition: .3s;
}

a:link {
	color: var(--a-color);
}

a:visited {
	color: var(--visited-color);
}

a:hover {
	color: var(--hover-color);
}

img,
video,
iframe {
	width: auto;
	max-width: 100%;
}

input,
select {
	padding: 2px;
	border: 1px solid var(--btn-border-color);
	background-color: #fff;
	border-radius: var(--btn-radius);
}

button,
input[type='submit'],
input[type='button'] {
	padding: 2px .5em;
	border: 1px solid var(--btn-border-color);
	background-color: var(--btn-bg-color);
	border-radius: var(--btn-radius);
	cursor: pointer;
}

select {
	background: #fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="%23999" d="M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z" /></svg>') no-repeat right 4px center / 10px auto;
}

table {
	border-collapse: collapse;
}

details summary {
	list-style: none;
	cursor: pointer;
}

:is(.global_nav, .admin_link) label {
	cursor: pointer;
}

:is(.main_title, .global_nav, .post_title, .admin_link) a {
	color: var(--main-text-color);
}

[class$='title'] {
	font-family: var(--midashi-font);
	font-weight: 900;
}

img.emoji {
	/* Twemoji用 */
	height: 1em;
	width: 1em;
	margin: 0 .05em 0 .1em;
	vertical-align: -.1em;
}

/* ====================== header */
body>header {
	padding: 1em;
}

body>header hgroup {}

.main_title,
.sub_title,
.descprition {
	line-height: 1.1;
	text-align: center;
}

.main_title {}

.sub_title {}

.descprition {
	font-family: var(--midashi-font);
	font-size: var(--small-font-size);
}

/* ====================== global_nav */
@media (width < 800px) {
	body>header {
		padding-top: 48px;
	}
}

.global_nav {
	width: 100%;
	height: 10px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
	background-color: #fff;
}

#for_global_nav,
#close_nav_btn,
#close_nav_btn span {
	display: none;
}

#open_nav_btn {
	display: block;
	position: absolute;
	right: calc(50% - 24px);
	bottom: -26px;
	width: 48px;
	height: 40px;
	line-height: 40px;
	background-color: #fff;
	font-size: var(--small-font-size);
	font-weight: 900;
	text-align: center;
	text-transform: uppercase;
}

#open_nav_btn::after {
	display: block;
	position: absolute;
	bottom: -12px;
	width: 100%;
	content: '\f107';
	font-family: var(--icon-font);
	font-weight: 900;
	text-align: center;
}

.global_nav_content {
	position: fixed;
	z-index: 999;
	top: -120%;
	left: 0;
	width: 100%;
	height: 100vh;
	background: #fff;
	transition: all 0.6s;
}

#for_global_nav:checked~.global_nav_content {
	padding-top: 2em;
	top: 0;
}

.global_nav .cattree {
	line-height: 2;
	list-style: none;
}

.global_nav .cattree a {
	display: inline-block;
	width: 100%;
	text-align: center;
}

.global_nav .cattree.depth1>li {
	border-bottom: 1px solid;
}

.global_nav .cattree.depth1>li>a {
	font-weight: 900;
}

.global_nav .cattree.depth2>li {
	border-top: 1px dashed;
}

.global_nav .cattree.depth3 {
	display: none;
}

.global_nav .utility_links {
	display: none;
}

#for_global_nav:checked~.global_nav_content #close_nav_btn {
	margin: 0 auto;
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}

#close_nav_btn::before,
#close_nav_btn::after {
	content: '';
	display: block;
	width: 4px;
	height: 26px;
	position: absolute;
	top: 5px;
	left: 50%;
	background: #ccc;
	border-radius: 3px;
}

#close_nav_btn::before {
	transform: rotate(45deg);
}

#close_nav_btn::after {
	transform: rotate(-45deg);
}

#close_nav_btn:hover::before,
#close_nav_btn:hover::after {
	background-color: #555;
}

.rss_link a::before {
	content: '\f09e';
	font-family: var(--icon-font);
	font-size: 24px;
}

@media (width >=800px) {

	#open_nav_btn,
	#close_nav_btn {
		display: none;
	}

	.global_nav {
		position: relative;
		height: 40px;
		overflow: visible;
	}

	.global_nav_content {
		position: static;
		height: 40px;
	}

	.global_nav .cattree {
		line-height: 40px;
	}

	.global_nav .cattree.depth1 {
		display: flex;
		width: 90%;
		height: 40px;
	}

	.global_nav .cattree.depth1 li {
		width: 100%;
	}

	.global_nav .cattree.depth1>li,
	.global_nav .cattree.depth2>li {
		border-width: 0;
	}

	.global_nav .cattree.depth2 {
		position: relative;
		z-index: 0;
		background-color: #fff;
		visibility: hidden;
		opacity: 0;
		border-radius: 0 0 3px 3px;
		transition: all .2s ease;
	}

	.global_nav .cattree.depth1 li:hover .cattree.depth2 {
		z-index: 1;
		visibility: visible;
		opacity: 1;
	}

	.global_nav .cattree.depth1 li.rss_link {
		width: fit-content;
	}

	.rss_link a {
		padding: 0 10px;
	}

	.rss_link span {
		display: none;
	}

	.global_nav .utility_links {
		padding: 20px 0 6px;
		width: 3em;
		display: block;
		position: absolute;
		right: 10px;
		bottom: -16px;
		background-color: #fff;
		font-weight: 900;
		transition: all .2s ease;
	}

	.global_nav .utility_links a {
		display: block;
		line-height: 1;
		font-size: var(--small-font-size);
		text-align: center;
	}

	.global_nav .utility_links span {
		display: block;
		text-transform: uppercase;
	}

	.global_nav .utility_links a::before {
		content: '\f107';
		font-family: var(--icon-font);
		height: 0;
		display: block;
		visibility: hidden;
		opacity: 0;
	}

	.global_nav .utility_links:hover {
		bottom: -22px;
	}

	.global_nav .utility_links:hover a::before {
		height: initial;
		visibility: visible;
		opacity: 1;
	}
}

/* ====================== breadcrumb */
.breadcrumb:has(.situation:empty) {
	display: none;
}

.breadcrumb {
	padding: 2px 1em;
	width: 100%;
	line-height: 1.2;
	font-size: .8em;
}

.breadcrumb>*:not(:last-child)::after,
.breadcrumb .situation-onecatname-cover:not(:last-child)::after {
	content: '\f105';
	color: var(--main-text-color);
	font-family: var(--icon-font);
	font-weight: 900;
}

.breadcrumb .situation {
	display: inline-block;
	max-width: 100%;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

.breadcrumb .situation span:last-child {
	font-weight: 900;
}

.breadcrumb>*:empty {
	display: none;
}

@media (width >=600px) {
	.breadcrumb {
		white-space: nowrap;
		text-overflow: ellipsis;
		overflow: hidden;
	}

	.breadcrumb .situation {
		display: inline;
	}
}

/* ====================== contents */
.contents {
	margin-inline: 1em;
}

main {
	margin: 0 auto 20px;
	max-width: var(--contents-width);
}

@media (width >=900px) {

	/* 画面幅901px以上の時に2カラムにするとか */
	.contents {
		display: flex;
		gap: 20px;
	}

	main {
		max-width: calc(100% - 300px);
		flex: 1;
	}

	#utility_links {
		margin-top: 1.25em;
		width: 300px;
		display: block;
	}

	#utility_links>.subarea {
		width: 100%;
	}
}

/* 新着画像スライダー */
.latest_img_slider {
	overflow-x: hidden;
}

.latest_img_slider div {
	display: flex;
	min-width: 100%;
	width: 100vw;
	width: min-content;
	/* 枚数が多いほど流れが速くなるので下記の行の数値を調整してください */
	animation: 30s linear infinite sliderAnimation;
}

.latest_img_slider .imagelistitem {
	margin: 10px;
	display: inline-block;
	width: 400px;
	height: 209px;
	overflow: hidden;
}

.latest_img_slider .imagelistitem img {
	width: 400px;
	height: 209px;
	position: relative;
	aspect-ratio: 1/1;
	object-fit: cover;
}

/*.latest_img_slider .oneimage.nsfw { filter:blur(10px) grayscale(1); }*/
@keyframes sliderAnimation {
	100% {
		transform: translateX(-50%);
	}
}

/* カテゴリID「update」のみ新着リスト */
body:not(.home) .updatelist,
.updatelist :is(.posttime, .username) {
	display: none;
}

.updatelist {
	margin: 1.25em 0;
}

.update_title {
	padding: .5rem 1rem;
	border-bottom: 1px solid var(--box-border-color);
	font-size: 1.5em;
}

.updatelist .latestpostlist {
	padding: .5em 1em 1em 1em;
}

.updatelist li {
	border-bottom: 1px dotted;
	display: flex;
	width: 100%;
	align-items: center;
}

.updatelist .postlink {
	flex: 1;
	order: 2;
}

.updatelist .postdate {
	margin-right: 1em;
	order: 1;
}

/* 表示順切り替えリンク */
.reverse_link {
	margin: 1.25em 0;
	font-size: .8em;
	text-align: center;
}

.onelog .reverse_link {
	display: none;
}

/* 「限定条件」表示行 */
.situation:empty {
	display: none;
}

/* 日付境界バー */
.dateseparator {
	text-align: center;
}

.dateseparator a {
	font-size: .8em;
}

.home .dateseparator,
.dateseparator.fixedseparator {
	display: none;
}

/* ====================== main */
.post_content ul {
	padding-left: 2em;
}

/* コンテンツ表示ボックス共通 onelogbox */
:where(.onelogbox) {
	border: 2px solid var(--box-border-color);
	background-color: var(--box-bg-color);
}

.home article.logstatus-fixed {
	display: block;
}

article {
	margin: 1.25em 0;
	position: relative;
}

/* post_header */
.post_header {
	padding: .5em 1em;
	line-height: 1.2;
	border-bottom: 1px solid var(--box-border-color);
	width: 100%;
}

.post_header .post_title a {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
}

.logstatus-lock .post_title a::before {
	content: '\f023';
	font-family: var(--icon-font);
	font-weight: 900;
}

.post_header .user {}

.iconarea img {
	width: 1.2em;
	height: 1.2em;
	border-radius: 50%;
	vertical-align: middle;
}

.username {
	color: var(--main-text-color);
	font-size: var(--small-font-size);
	font-weight: bold;
}

/* 新着・先頭固定フラグ */
.newsign {
	position: absolute;
	top: 0;
	right: 0;
}

article:not(.logstatus-fixed) .newsign {
	padding: 3px 8px;
	width: fit-content;
	line-height: 1;
	top: 10px;
	right: -12px;
	color: var(--main-bg-color);
	background-color: var(--main-text-color);
	font-weight: 900;
}

article:not(.logstatus-fixed) .newsign::after {
	position: absolute;
	content: '';
	top: 100%;
	right: 0;
	border: none;
	border-bottom: solid 5px transparent;
	border-left: solid 10px rgb(149, 158, 155);
}

.newsign:empty,
.newsign .fixed {
	display: none;
}

.logstatus-fixed .newsign::before {
	content: '\f08d';
	color: var(--light-text-color);
	font-family: var(--icon-font);
	font-weight: 900;
}

/* post_footer */
.post_footer {
	padding: 0 1em;
	line-height: 1.3;
	font-size: .9em;
	text-align: right;
}

/* アイコンフォント共通設定 */
.post_footer .categories::before,
.yomiage a::before,
a.edit::before,
a.delete::before {
	font-family: var(--icon-font);
	font-size: 1.6rem;
}

/* 投稿時間・相対時間 */
.post_footer time {
	display: block;
	text-align: right;
}

.post_year {}

.post_month {}

.post_date {}

.post_week {}

.post_time {}

.relativetime::before {
	content: '・';
}

.relativetime::after {}

.post_footer .categories:empty {
	display: none;
}

.post_footer .categories::before {
	content: '\f518';
	font-weight: 900;
}

/* 読上リンク */
.yomiage {}

.yomiage a::before {
	content: '\f028';
	font-weight: 900;
}

/* 編集・削除リンク（※フリースペース編集リンクと共通） */
:is(a.edit, a.delete) span {
	display: none;
}

a.edit::before {
	content: '\f044';
}

a.delete::before {
	content: '\f1f8';
	font-weight: 900;
}

/* 投稿本文 */
.post_content {
	padding: 1em;
}

@media (width >=800px) {
	.post_content {
		padding-inline: 1.6em;
		;
	}
}

/* url */
.url {
	word-break: break-all;
}

/* 続きを読む */
.readmorebutton {
	padding: 2px 4px;
	border: 1px solid;
	font-size: .8em;
}

/* 埋め込み画像・動画・Tweet */
.post_content img {
	height: auto;
	max-height: 500px;
	object-fit: cover;
}

.embeddedpictbox {
	display: inline-table;
	border-collapse: collapse;
	position: relative;
}

.embeddedpictbox img {
	border-radius: 5px;
}

.embeddedpictbox figcaption {
	display: table-caption;
	caption-side: bottom;
	font-size: .8em;
	text-align: center;
	position: absolute;
	top: 0;
	width: 100%;
	color: #fff;
	background: rgba(0, 0, 0, .3);
	padding: 3px;
	border-radius: 5px 5px 0 0;
}

.imagelink {
	position: relative;
	display: inline-block;
	overflow: hidden;
	border-radius: 5px;
}

.imagelink img {
	vertical-align: middle;
	transition: .5s;
}

.imagelink:hover img {
	transform: scale(1.1);
}

/* NSFWフラグ画像 */
.imagelink.nsfw img {
	filter: blur(7px);
}

.imagelink.nsfw::after {
	content: '\f071';
	font-family: var(--icon-font);
	font-weight: 900;
	display: grid;
	place-content: center;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	color: #fff;
	background-color: rgba(0, 0, 0, .5);
	font-size: 2em;
}

.imagesearch:has(.nsfw)::after,
.latest_img_slider .imagelistitem:has(.nsfw)::after {
	content: '\f071';
	font-family: var(--icon-font);
	font-weight: 900;
	color: #fff;
	background-color: rgba(0, 0, 0, .5);
	display: grid;
	place-content: center;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	font-size: 2em;
	height: 100%;
	text-decoration: none;
}

/* 新着画像一覧NSFWフラグ */
.imagesearch {
	margin: 2px;
	display: inline-block;
	width: 30%;
	overflow: hidden;
}

.imagesearch .oneimage {
	margin: 0;
	width: 100%;
}

.oneimage.nsfw {
	filter: blur(7px) grayscale(.8);
}

.imagesearch .oneimage.nsfw {
	filter: blur(3px) grayscale(.8);
}

.imagesearch:has(.nsfw),
.latest_img_slider .imagelistitem:has(.nsfw) {
	position: relative;
	display: inline-block;
	overflow: hidden;
	border-radius: 5px;
}

.embeddedmovie {
	display: inline-block;
	width: 100%;
	max-width: 100%;
	object-fit: contain;
}

blockquote.twitter-tweet,
blockquote.instagram-media {
	background-color: #f8f8f8;
	border-radius: var(--btn-radius);
	margin: .3em 0;
	padding: 1em;
	font-size: .8em;
	color: #999;
}

/* 記事リンク埋め込み引用 */
.inQ {
	display: block;
	color: var(--main-text-color);
}

/* 記事内ページリンク用区切り */
.deco-hr {
	margin: 1.5em 0;
	display: block;
	text-align: center;
}

.deco-hr+br {
	display: none;
}

/* B:太字 */
.decorationB {
	font-weight: bold;
}

/* D:削除 */
.decorationD {
	color: #888;
	text-decoration-line: line-through;
	text-decoration-color: var(--main-text-color)
}

.decorationD .decorationD {
	display: inline-block;
	position: relative;
}

.decorationD .decorationD {
	text-decoration: none;
}

.decorationD .decorationD::after {
	content: '';
	display: inline-block;
	width: 100%;
	height: .5em;
	background-color: rgba(0, 0, 0, .7);
	position: absolute;
	top: .6em;
	left: 0;
}

/* E:強調 */
.decorationE {
	text-decoration: underline wavy #900;
	font-style: normal;
	font-weight: bold;
}

/* I:斜体 */
.decorationI {
	font-style: italic;
}

.decorationI .decorationI {
	transform: skewX(-30deg);
	font-style: normal;
	display: inline-block;
	font-size: .94em;
}

/* Q:引用 */
.decorationQ {
	padding: 1em;
	border: 1px solid #ccc;
	background-color: #eee;
	font-size: .95em;
	display: block;
	position: relative;
}

.decorationQ::before {
	content: '';
}

.decorationQ::after {
	content: '"';
	font-family: 'Secular One', sans-serif;
	position: absolute;
	top: -.55em;
	right: 0;
	color: #ccc;
	font-size: 6em;
}

.decorationQ+br {
	display: none;
}

/* S:小文字 */
.decorationS {
	font-size: .8em;
}

/* T:極小文字 */
.decorationT {
	font-size: .6em;
}

/* U:下線 */
.decorationU {
	text-decoration-line: underline;
	text-decoration-style: dashed;
}

/* リスト */
.decorationL+br {
	display: none;
}

/* code */
.deco-code {
	padding: 0px 3px;
	display: block;
	color: #000;
	font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace;
	background-color: var(--light-bg-color);
}

/* ルビ */
ruby {
	position: relative;
}

ruby rt {
	position: relative;
	top: 1.4ex;
}

/* 鍵付き投稿 */
.passkeyform {
	display: inline-block;
	margin: 0;
	padding: .6em;
}

.passkeybox,
.passkeyguide {
	display: block;
}

.passkeyinput {
	width: 10em;
	margin: 0 0.25em 3px 0;
}

.passkeyerror,
.nodata,
.nolist {
	margin: 0 0 .2em;
	padding: 3px 3px 3px 13px;
	border: 1px solid #eab2b2;
	display: block;
	color: #900;
	background-color: #fbf0f0;
}

/* ▼検索語のハイライト */
.searchword {
	font-weight: bold;
	color: var(--dark-text-color);
	background: linear-gradient(transparent 70%, #ffafdc 30%);
}

/* 文字装飾領域内に含まれた画像を装飾 */
.decorationB img {}

.decorationD img {}

.decorationE img {}

.decorationI img {}

.decorationQ img {}

.decorationS img {}

.decorationT img {}

.decorationU img {}

/* いいねボタン・シェアリンク */
.response {
	width: 100%;
	list-style: none;
	display: flex;
	align-items: center;
}

article:not(.res_memo) .response {
	background-color: var(--light-bg-color);
}

.response li {
	flex: 1;
	padding-right: 2rem;
	text-align: right;
}

.newiine_btn {
	padding: 0;
	border: 0 none;
	background-color: transparent;
}

.iine_btn span,
details.sharelinks>summary span {
	display: none;
}

.iine_btn::before,
details.sharelinks>summary::before {
	font-family: var(--icon-font);
	font-size: 24px;
	color: var(--light-text-color);
}

.iine_btn::before {
	content: '\f004';
}

details.sharelinks>summary::before {
	content: '\f1e0';
	font-weight: 900;
}

.iine_btn,
details.sharelinks>summary {
	transition: .3s ease-in-out;
}

.newiine_clickedtoday .iine_btn::before {
	color: #d52c4d;
}

.newiine_count,
.share .text {
	font-size: 1.2rem;
	color: var(--light-text-color);
}

details.sharelinks {
	position: relative;
}

details.sharelinks>summary span {
	font-size: 1.2rem;
	color: var(--light-text-color);
}

details.sharelinks ul.sharelinks {
	padding: .6em;
	width: max-content;
	position: absolute;
	z-index: 1;
	right: 0;
	text-align: start;
	background: rgba(255, 255, 255, .8);
	font-size: .8em;
}

details.sharelinks[open] ul.sharelinks {
	animation: fadeIn .5s ease;
}

@keyframes fadeIn {
	0% {
		opacity: 0;
		transform: translate(0, -10px);
	}

	100% {
		opacity: 1;
		transform: translate(0, 0);
	}
}

ul.sharelinks li {
	display: inline-block;
}

ul.sharelinks li:not(:last-child) {
	margin-right: 2px;
}

ul.sharelinks li a {
	padding: 2px 4px;
	color: #fff;
	border-radius: 3px;
}

a.Twitter {
	background-color: #1DA1F2;
}

a.Facebook {
	background-color: #1877f2;
}

a.Hatena {
	background-color: #008fde;
}

a.LINE {
	background-color: #00b900;
}

a.Pocket {
	background-color: #ee4056;
}

a.copy {
	background-color: #555;
}

.url-copied {
	display: none
}

.url-copied span {
	background: #0009;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	width: 100%;
	height: 100%;
	color: #fff;
	padding: 2px 4px;
	box-sizing: border-box;
	line-height: 14px
}

/* 記事単体表示時のページ移動リンクをユーティリテイリンクの上に */
.onelog main {
	display: flex;
	flex-direction: column;
}

.onelog article {
	order: 1
}

.onelog .utilitylinks {
	order: 3
}

.onelog .pagenavi {
	order: 2;
}

/* 記事単体表示ページのユーティリティリンク群 */
.utilitylinks {
	margin: 2em auto 1em;
	padding: .5em;
	display: table;
	font-size: .8em;
}

.utilitylinks ul {
	list-style: none;
}

.utilitylinks ul ul {
	margin-left: 1em;
}

/* ページ移動リンク */
.pagenavi {
	margin: 1.5em 0px;
	padding: .5em 0px;
	text-align: center;
	display: flex;
	flex-direction: row;
	width: 100%;
	justify-content: center;
}

.pagehome a,
.prevlink,
.nextlink {
	margin: 0 .7em .2em .7em;
	padding: 0 .7em;
}

.pagehome a {
	display: inline-block;
}

.prevlink {
	order: 1
}

.linkseparator {
	display: none
}

.nextlink {
	order: 3
}

.pagenavi a {
	color: var(--main-text-color) !important;
	text-decoration: none;
	font-size: 1em;
	border-radius: 1em;
	transition: .5s;
	background-color: rgba(255, 255, 255, .3);
}

.pagenums {
	font-weight: bold;
	order: 2;
}

.pagenumlink {
	padding: .2em .5em;
	font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
	font-weight: bold;
}

.pagenavi a:hover {
	background-color: #333;
	color: #fff !important;
	border-radius: .3em;
}

.pagenavi .pagenumhere {
	background-color: var(--main-text-color);
	color: var(--main-bg-color) !important;
}

/* 記事単体 */
.onelog .pagenavi {
	flex-wrap: wrap;
}

.onelog .pagehome {
	margin-bottom: 1em;
	width: 100%;
	text-align: center;
}

.onelog .prevlink,
.onelog .nextlink {
	width: calc(50% - 1.4em);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
}

.onelog .prevlink {
	padding-left: 16px;
}

.onelog .prevlink::before,
.onelog .nextlink::before {
	display: block;
	content: '\f106';
	font-family: var(--icon-font);
	font-weight: 900;
}

.onelog .prevlink::before {
	margin-right: auto;
	transform: rotate(-90deg);
}

.onelog .nextlink {
	padding-right: 16px;
}

.onelog .nextlink::before {
	margin-left: auto;
	content: '\f106';
	transform: rotate(90deg);
}

@media (width <=490px) {
	.onelogbox {
		font-size: .9em;
	}

	.onelog .prevlink,
	.onelog .nextlink {
		width: 100%;
		-webkit-line-clamp: 2;
	}

	.onelog .nextlink {
		margin-top: 1em;
	}

	details.sharelinks ul.sharelinks {
		max-width: 150%;
	}
}

/* カテゴリIDに「novel」を含む記事 */
body:not(.home) .novel {
	border: 0;
	display: flex;
	flex-direction: column;
	background-color: transparent;
}

body:not(.home) .novel .post_content {
	margin: 0 auto;
	max-width: 40em;
	font-family: var(--novel-font);
}

body:not(.onelog) .novel .post_content {
	margin-bottom: 1.em;
	padding-bottom: :0;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 10;
	overflow: hidden;
}

body:not(.home) article.novel:not(.logstatus-lock) .post_content::first-line {
	font-size: var(--small-font-size);
}

body:not(.home) .novel .post_header {
	order: 1;
}

body:not(.home) .novel .post_footer {
	order: 3;
}

body:not(.home) .novel .post_content {
	order: 2;
}

body:not(.home) .novel .response {
	order: 4;
	background-color: transparent;
}

/* 記事内ページリンク */
.sep_link {
	padding: .5em;
	width: 100%;
	position: fixed;
	bottom: 0;
	left: 0;
	background: rgba(255, 255, 255, .6);
	text-align: center;
	transition: .5s;
}

.sep_link a {
	display: inline-block;
	color: #555;
	background: #e7e7eb;
	border-radius: 50%;
	height: 30px;
	width: 30px;
	line-height: 30px;
}

.sep_link a:hover {
	background: #fdeff2;
}

.sep_link a+a {
	margin-left: .5em;
}

.sep_link .active {
	background: #e4d2d8;
}

/* カテゴリIDに「memo」を含む記事 */
body:not(.home) .memo {
	margin-inline: auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	max-width: 600px;
	font-size: .9em;
}

body:not(.home) .memo .post_header {
	padding-right: 0;
	border-bottom: 0 none;
	width: min-content;
}

body:not(.home) .memo .post_header .user {
	width: 64px;
	display: block;
	line-height: 1;
	text-align: center;
}

body:not(.home) .memo .post_header .iconarea img {
	width: 50px;
	height: 50px;
}

body:not(.home) .memo .post_header .username {
	display: inline-block;
}

body:not(.home) .memo .post_title {
	display: none;
}

body:not(.home) .memo .post_footer {
	padding: 0;
	flex: 1;
}

body:not(.home) .memo .post_footer,
body:not(.home) .memo .post_footer time {
	text-align: left;
}

body:not(.home) .memo .post_content {
	padding-top: 0;
	width: 100%;
}

body:not(.home) .memo .response {}

/* カテゴリID「res_memo」 */
body:not(.home) article.res_memo {
	justify-content: flex-end;
	align-items: flex-start;
	border: 0 none;
	background: transparent;
}

body:not(.home) article.res_memo .post_header {
	order: 1;
	margin-right: auto;
	padding-left: 0;
	width: fit-content;
}

body:not(.home) article.res_memo .post_footer {
	order: 3;
	margin-left: 75px;
	padding: 0 .5em .5em;
	background: var(--box-bg-color);
	text-align: right !important;
	border-radius: 0 0 6px 6px;
}

body:not(.home) article.res_memo .post_footer>* {
	text-align: right !important;
}

body:not(.home) article.res_memo .post_content {
	order: 2;
	padding-top: 1em;
	width: calc(100% - 75px);
	position: relative;
	background: var(--box-bg-color);
	border-radius: 6px 6px 0 0;
}

body:not(.home) article.res_memo .post_content::before {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 17.3px 10px 0;
	border-color: transparent var(--box-bg-color) transparent transparent;
	content: '';
	display: block;
	position: absolute;
	left: -17px;
}

body:not(.home) article.res_memo .response {
	order: 4;
	margin-left: 75px;
	border: 0 none;
}

/* ====================== utility_links */
aside {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	width: 100%;
	gap: 16px;
	justify-content: center;
	background: rgba(255, 255, 255, .5);
	border-radius: .5em;
}

.subarea {
	width: calc((100% / 3) - 16px);
	padding: 0 1em;
}

@media (width <=480px) {
	.subarea {
		width: 100%;
	}
}

.cornertitle {
	font-size: 1.8rem;
}

.cornertitle+div {
	margin: .5em 0;
	padding: .5em;
}

.subarea ul {
	padding-left: 1em;
	line-height: 1.2;
}

.subarea .num {
	color: var(--light-text-color);
	margin-left: .3em;
}

/* 検索フォーム */
.siwtchsearchbox,
.searchtarget,
.latestpostlist span,
.datelimitsublist,
.datelimitboxoptions,
.subarea .num,
.totalimgsizes {
	font-size: .8em;
}

.subarea form {
	margin: .5em 0;
	padding: .9em .6em;
}

.subarea select {
	width: calc(100% - 50px);
	color: var(--light-text-color);
}

.subarea select option {
	color: var(--main-text-color);
}

.subarea .searchbox,
.subarea .complexsearch {
	margin: 0;
	padding: 0;
}

.queryinput {
	width: calc(100% - 50px);
}

.searchtarget {
	margin: 0;
}

.siwtchsearchbox a:last-child {
	display: none;
}

#complexsearch[style$="block;"]+.siwtchsearchbox a:first-child {
	display: none;
}

#complexsearch[style$="block;"]+.siwtchsearchbox a:last-child {
	display: inline;
}

#complexsearch {
	display: none;
}

.searchoptions {
	margin-top: .75em;
	padding-left: 1em;
	font-size: var(--small-font-size);
}

.solabel {
	display: inline-block;
	min-width: 5.5em;
}

.searchoptions select {
	max-width: 175px;
}

/* ハッシュタグ一覧 */
ul.hashtaglist {
	list-style: none;
	padding-left: 0;
	line-height: 1;
}

.hashtaglist li {
	display: inline;
}

/* カテゴリ一覧 */
.cattext {}

.caticon+.cattext,
cattext+.caticon {
	margin-left: 3px;
}

.catdescription {
	font-size: smaller;
	color: #555;
}

/* 新着画像一覧 */
.imagelistbox {
	margin: 0;
	text-align: center;
}

.imagelistbox .oneimage {
	width: 100%;
	height: auto;
	max-width: 100px;
	max-height: 100px;
	aspect-ratio: 1/1;
	object-fit: cover;
	margin: 1%;
	vertical-align: middle;
}

.imagesinfo {
	margin: .25em 0;
	text-align: right;
}

.totalimgfiles {
	font-size: .9em;
}

/* 新着投稿一覧 */
.latestpostlist :is(.postdate, .posttime, .postid, .length) {
	color: var(--light-text-color);
}

.latestpostlist .username {
	color: #555;
}

.latestpostlist .userid {
	color: #555588;
}

.datelimitlist .datelimitsublist .datelimit-month {
	display: inline-block;
	margin-right: .5em;
}

.datelimitsublist .year {
	display: none;
}

.datelimitboxoptions {
	display: block;
}

.datelimitboxoptions label {
	display: inline-block;
	margin-right: .5em;
}

/* フリースペース */
.freespaceedit {
	text-align: right;
}

/* カレンダー */
.calendar {
	border: 1px solid var(--light-text-color);
	width: 100%;
}

.calendar :is(th, td) {
	border: 1px solid var(--light-text-color);
	padding: 2px;
	text-align: center;
	font-size: .9em;
	line-height: 1;
}

.calendar :is(caption, th) {
	font-weight: 900;
}

.daysofweek th {
	background-color: var(--light-bg-color);
	font-weight: normal;
	padding: 6px 0;
	font-size: .8em;
	line-height: 1;
}

.calendar :is(a, .nolink) {
	display: inline-block;
	border-radius: 50%;
	width: 2em;
	height: 2em;
	line-height: 2;
}

.calendar td a {
	background-color: #d7e2ee;
	color: black;
}

tr[class^='week'] td:first-child {
	background-color: #ffebef
}

tr[class^='week'] td:last-child {
	background-color: #e0f6ff
}

.calendar td a:hover {
	background-color: var(--main-text-color);
	color: #fff;
}

.calendar .today {
	background-color: #ffffcc;
	font-weight: 900;
}

.calendarlinks {
	text-align: center;
	line-height: 1;
}

.calendarlinks a {
	font-size: .9em;
}

/* ====================== footer */
body>footer {
	margin-top: 2em;
	padding: 1em .5em;
	line-height: 1.2;
	color: var(--main-bg-color);
	background-color: var(--main-text-color);
}

body>footer :is(a, a:visited, a:hover) {
	color: var(--main-bg-color);
}

.copyright,
.modified,
.material {
	text-align: center;
}

.material li {
	display: inline-block;
	font-size: var(--small-font-size);
}

.material li:not(:last-child)::after {
	content: ' /';
}

.material a {
	font-weight: 900;
}

/* ====================== 認証モーダル */
dialog:modal {
	width: 100%;
	height: 100vh;
	max-width: 100vw;
	max-height: 100%;
	border: 0;
	position: fixed;
	top: 0;
	left: 0;
	background-color: transparent;
	display: grid;
	place-content: center;
	overscroll-behavior: contain;
}

dialog::backdrop {
	background-color: rgba(255, 255, 255, .7);
	backdrop-filter: blur(30px);
}

/* 認証メッセージボックス */
#gate .gate_content {
	margin: 0 1em;
	padding: 2em;
	width: fit-content;
	background-color: #fff;
	text-align: center;
	box-shadow: 0 0 20px rgba(150, 150, 150, .4);
}

.gate_btns {
	margin-top: 1em;
}

/* for js off user */
noscript p {
	width: 100%;
	height: 100vh;
	max-width: 100vw;
	max-height: 100%;
	display: grid;
	place-content: center;
	position: fixed;
	z-index: 99;
	background-color: #fff;
	text-align: center;
}

noscript p small {
	color: red;
}

/* ====================== 記事Noリンクポップアップ */
#popupContent {
	padding: 1em;
	max-width: 600px;
	line-height: 1.2;
	position: absolute;
	z-index: 1;
	background: rgba(255, 255, 255, .9);
	font-size: 1.3rem;
}

/* ====================== クイックポスト・管理用リンク */
.admin_link {
	position: fixed;
	z-index: 11;
	right: 20px;
	top: 20px;
}

#open_quickpost,
:is(#open_form, #close_form) span,
#quickpost {
	display: none;
}

#open_form,
.to_adminpage {
	display: grid;
	place-content: center;
	width: 60px;
	height: 60px;
	background-color: #fff;
	border-radius: 50%;
}

#open_form::before {
	content: '\f305';
	font-family: var(--icon-font);
	font-size: 36px;
	font-weight: 900;
}

.to_adminpage {
	margin-top: .5em;
	margin-left: auto;
	width: 36px;
	height: 36px;
}

.to_adminpage span {
	display: none;
}

.to_adminpage::before {
	content: '\f013';
	font-family: var(--icon-font);
	font-size: 24px;
	font-weight: 900;
}

#open_quickpost:checked~#quickpost {
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	display: block;
	background-color: rgba(0, 0, 0, .6);
}

.postarea {
	margin: 3em auto 0;
	padding: 1em;
	max-width: var(--contents-width);
	background-color: #fff;
}

.postform {
	padding: .5em 0;
}

.postform p {
	margin: 0;
}

#close_form {
	margin: 0 auto;
	display: block;
	position: relative;
	width: 36px;
	height: 36px;
	background-color: #fff;
	border-radius: 50%;
}

#close_form:hover {
	background-color: #555;
}

#close_form::before,
#close_form::after {
	content: '';
	display: block;
	width: 4px;
	height: 26px;
	position: absolute;
	top: 5px;
	left: 16px;
	background: #ccc;
	border-radius: 3px;
}

#close_form::before {
	transform: rotate(45deg);
}

#close_form::after {
	transform: rotate(-45deg);
}

/* ====================== ページ上部に戻る */
.go_page_top a {
	width: calc(1.4em + 10px);
	height: calc(1.4em + 10px);
	display: grid;
	place-content: center;
	position: fixed;
	z-index: 10;
	bottom: 15px;
	right: 15px;
	color: #000;
	background-color: #fff;
	font-size: 1.4em;
	border-radius: 50%;
	transition: all .3s ease-in-out;
}

.go_page_top span {
	display: none;
}

.go_page_top a:hover {
	bottom: 20px;
}

.go_page_top a::before {
	content: '\f102';
	font-family: var(--icon-font);
	font-weight: 900;
}

/* ------------------------------------ */
/* サイトマップモード                   */
/* ------------------------------------ */
.onelogbox.sitemap {}

.sitemap div {
	padding: .5em 1em;
	position: relative;
}

.sitemap .logtitle a {
	color: var(--main-text-color);
}

.sitemap .post_footer {
	padding: 0;
}

.sitemap .post_footer {
	padding: 0;
}

.sitemap div:not(:last-child) {
	border-bottom: 1px dashed var(--box-border-color);
}

.selected-cat .sitemap .post_footer time {}

/* ------------------------------------ */
/* ギャラリーモード                     */
/* ------------------------------------ */
.gallery {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	place-content: space-around start;
}

.gallery>div {
	background: #fff;
	position: relative;
	border-radius: 5px;
}

.gellery_header {
	position: relative;
}

.gallery_title a {
	display: block;
	color: var(--main-text-color);
}

.gallery>div> :is(.embeddedpictbox, .imagelink) {
	margin: 0 6px;
}

.gallery .embeddedimage {
	width: 100%;
	height: auto;
	aspect-ratio: 1/1;
	object-fit: cover;
	vertical-align: middle;
}

.one_pictbox {
	width: calc(25% - 10px);
}

.one_pictbox .gellery_header {
	min-height: calc(100% - 3.6em);
}

.one_pictbox .gallery_title {
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 100%;
}

.one_pictbox .gallery_title a {
	height: 100%;
}

.one_pictbox.logstatus-lock .gallery_title a::after {
	content: '\f023';
	display: grid;
	place-content: center;
	height: 100%;
	font-family: var(--icon-font);
	font-size: 3em;
	font-weight: 900;
}

.one_pictbox .gallery_title a span {
	padding: 1px 3px;
	display: block;
	width: 100%;
	position: absolute;
	bottom: 0;
	background-color: rgba(255, 255, 255, .7);
	font-size: .8em;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

.one_pictbox .imagelink {
	pointer-events: none;
	vertical-align: middle;
}

.one_pictbox .post_footer {
	padding: 0 6px 6px;
	line-height: 1;
}

.gallery_tags:not(:empty)::before {
	content: '\f02c';
	font-family: var(--icon-font);
	font-weight: 900;
}

.pictcount {
	font-size: 1.2rem;
	position: absolute;
	top: 0;
	right: 0;
	padding: 0 2px;
	background: #fff;
	border-radius: 0 5px;
	z-index: 1;
}

.gallery .newsign {
	padding: 0 5px;
	width: fit-content;
	top: -10px;
	left: -10px;
	color: var(--main-bg-color);
	background-color: #f32626;
	font-weight: 900;
	transform: rotate(-15deg);
	border-radius: 3px;
}

.pictcount::before {
	margin-right: 2px;
	content: '\f302';
	font-family: var(--icon-font);
}

.pictcount span {
	display: none;
}

.all_pictbox {
	width: 100%;
}

.all_pictbox .gallery_title a {
	padding-left: 6px;
}

.all_pictbox .post_content {
	padding: 0 6px 6px;
	line-height: 1.3;
	font-size: .8em;
}

.all_pictbox> :is(.embeddedpictbox, .imagelink) {
	max-width: calc(25% - 12px);
}

.all_pictbox {}

.all_pictbox .newsign {
	right: -10px;
	left: auto;
	transform: rotate(15deg);
}

@media (width <=480px) {
	.one_pictbox {
		width: calc(100% - 10px);
	}

	.all_pictbox> :is(.embeddedpictbox, .imagelink) {
		max-width: calc(50% - 12px);
	}
}

/* ---------------------------------------------------- */
/* ▼クイックポストフォーム周りはほぼ公式デフォルトです */
/* ---------------------------------------------------- */
textarea.tegalogpost {
	margin-bottom: .25em;
	padding: .5em;
	border: 2px solid;
	width: 100%;
	line-height: 1.3;
	background-color: #fff;
	border-radius: 6px;
}

.line-control {
	margin: .25em 0;
}

.postbutton[type="submit"] {
	font-weight: bold;
	padding: .25em 1em;
}

.postbutton[type="submit"]:hover {
	border: 1px solid green !important;
	color: #fff;
	background-color: #00cc00;
}

/* 掲載領域全体 */
.decoBtns {
	display: inline-block;
	margin-top: .5em;
}

/* 全ボタン装飾 */
.decoBtns input {
	min-width: 32px;
	min-height: 28px;
	margin: 1px;
	font-size: 14px;
	vertical-align: middle;
}

/* マウス載る際 */
.decoBtns input:hover {
	background-color: #e5f1fb;
	border-color: #0078d7;
}

/* 太字  :B */
.decoBtnB {
	font-weight: bold;
}

/* 取消線:D */
.decoBtnD {
	text-decoration: line-through;
	text-decoration-color: red;
	text-decoration-style: double;
}

/* 強調  :E */
.decoBtnE {
	font-weight: bold;
	color: blue;
}

/* 斜体  :I */
.decoBtnI {
	font-style: italic;
}

/* 引用  :Q */
.decoBtnQ {}

/* 小さめ:S */
.decoBtnS {}

/* 極小  :T */
.decoBtnT {
	font-size: 11px !important;
}

/* 下線  :U */
.decoBtnU {
	text-decoration: underline;
	text-decoration-color: red;
}

/* 文字色:C */
.decoBtnC {
	color: red;
}

/* 背景色:M */
.decoBtnM {
	color: blue;
}

.catChecks {
	font-size: .9em;
	padding-top: .5em;
}

.catChecks label {
	display: inline-block;
	cursor: pointer;
	margin: 0 .75em 0 0;
}

.catChecks label:hover {
	text-decoration: underline;
}

.catChecks input {
	min-width: 0;
	min-height: 0;
	margin-right: .2em;
}

#imglistButton,
#closeimglistButton {
	margin: 2px;
	position: relative;
	z-index: 4;
}

table.images th,
table.images td {
	border: 1px solid;
	font-size: .7em;
}

table.images img {
	width: 100px;
	height: auto;
}