@charset "utf-8";



h2{
	font-size: 1rem;
	font-weight: normal;
}
header{
	margin: 0 auto;
	max-width: 600px;
}
header details{
	text-align: left;
}
.hashtaglist li {
	display: inline-block;
	padding-right: 0.5em;
	font-size: 0.85rem;
	font-weight: bold;
}
.hashtaglist li:before{
	content: '#';
	color: var(--text-color-06);
}




.articlelist {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 2rem 1rem; /* 縦と横の間隔 */
    margin: 0 auto 5rem;
    max-width: 1200px;
}

.articlelist article {
    background-color: var(--article-bg-color);
    box-shadow: var(--shadow);
    display: flex; /* Flexboxコンテナにする */
    flex-direction: column; /* 子要素を縦に並べる */
    height: 100%; /* 高さを親要素に合わせる */
    margin-bottom: 0; /* 不要なマージンを削除 */
    padding: 0; /* パディングをリセット */
	/* 以下のコメントアウトを外す */
	border: 1px solid #ddd; /* 枠線（必要に応じて） */
	overflow: hidden; /* 内容がはみ出さないように */
}

.articlelist article > a {
    aspect-ratio: 1 / 1; /* 正方形を維持 */
    display: block; /* ブロックレベル要素にする */
}

.articlelist .imagearea img {
    aspect-ratio: 1 / 1;
    object-fit: cover; /* 画像をトリミングして領域に合わせる */
    object-position: top center; /* 画像の上部中央を基準に配置 */
    width: 100%; /* 幅を親要素に合わせる */
	height: 100%;
	/*PROTECT*/
	pointer-events: none;
	-webkit-touch-callout:none;
	-webkit-user-select:none;
	-moz-touch-callout:none;
	-moz-user-select:none;
	user-select:none;
}

.articlelist .articleinfo {
    flex-grow: 1; /* 残りのスペースを埋める */
    font-size: 0.85rem;
    line-height: 1.5;
    padding: 0.7em 1em;
}

.articlelist .date {
    color: var(--text-color-05);
    font-size: 0.75rem;
    padding: 0 1em 0.7em;
    display: flex;
    justify-content: space-between;
}

/* OLD -------------------------------------------- */

figure{
	display: block;
	margin: 0 0;
	padding: 0 0;
}
figure.nsfw{
	overflow: hidden;
	width: 100%;
}
div.imagearea{
	aspect-ratio: 1 / 1;
	background-color: var(--text-color-03);
	overflow: hidden;
	position: relative;
}
article.logstatus-lock div.imagearea::before{
	content: "\f023";
	font-family: 'Line Awesome Free';
	font-size: 2rem;
	font-weight: bold;
	line-height: 1;
	position: absolute;
	top: calc(50% - 0.5em);
	left: calc(50% - 0.5em);
}
a.imagelink.nsfw,
a[data-flag*="nsfw"],
a:has( > img.nsfw ){
	overflow: hidden;
	position: relative;
	text-decoration: none;
}
div.imagearea:has(img.nsfw)::before{
	content: "\f06a";
	font-family: 'Line Awesome Free';
	font-size: 2rem;
	font-weight: bold;
	line-height: 1;
	position: absolute;
	top: calc(50% - 0.5em);
	left: calc(50% - 0.5em);
	z-index: 1000;
}
img.nsfw,
.thumbnails a[data-flag*="nsfw"] img{
	filter: blur(10px);
	opacity: 0.5;
}
figcaption{
	display: none;
}
.backto{
	text-align: center;
}

.taglink[title="R18"] + .imagebox img { filter: blur(.5rem); }


@media (max-width: 599px) {
    .articlelist {
        grid-template-columns: repeat(2, minmax(140px, 1fr)); /* 140px以上の幅を確保 */
        gap: 0.5rem; /* カラム間の間隔 */
        padding: 0 1rem; /* 左右の余白 */
    }
}