.mod_newslist {
	--background: rgba(255,255,255,0.8);
	--border_width: 1px;
	--padding: 15px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 20px;
	@media(max-width:1023px){ gap: 10px; }
	@media(max-width:700px){ grid-template-columns: 1fr 1fr; }
	@media(max-width:512px){ grid-template-columns: 1fr; }
	.layout_latest {
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		align-content: flex-start;
		position: relative;
		background: var(--background);
		border: var(--border_width, 0) solid #ddd;
		border-radius: 2px;
		line-height: 1.4;
		transition: all 0.3s ease;
		padding-bottom: 10px;
		&:not(:has(figure)) { flex-direction: row; align-content: end; }
		@media(max-width:1023px){ margin-bottom: 30px; }
		&:hover { 
			box-shadow: 0 0 10px rgba(0,0,0,0.1); 
			transform: scale(1.01);
		}
		& > *:not(figure) { padding: 0 var(--padding); }
		p.info { 
			order: 4;
			font-size: 0;
			color: var(--color_1);
			time { font-size: 1rem; }
		}
		figure { order: 1; width: 100%; 
			img { width: 100%; height: auto; object-fit: cover; }
		}
		h2 { order: 2; margin: 0.4em 0; font-size: 1.625rem; }
		.ce_text { 
			order: 3; 
			padding-bottom: 20px;
			flex-grow: 1;
			& > * { width: 100%; }
		}
		p.more { order: 5; margin: 0;
			a { font-size: 0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
		}
	}
}
.mod_article:has(.mod_newsreader) { @media(max-width:1023px){ background: #fff; } }
.mod_newsreader {
	--background: rgba(255,255,255,0.8);
	--border_width: 1px;
	--padding: 30px 40px;
	width: 100%;
	@media(max-width:1023px){
		--background: #fff;
		--border_width: 0px;
		--padding: 20px 10px;
	}
	& > figure { 
		width: 100%; 
		& img { 
			width: 100%;
			max-height: calc(100vh - var(--header_height));
			object-fit: cover; 
		}
	}
	.layout_full {
		width: calc(var(--content_width) + var(--content_margin) * 2);
		max-width: 100%;
		margin: auto;
		border: var(--border_width) solid #ddd;
		padding: var(--padding);
		background: var(--background);
		@media(max-width:1023px){ margin-top: 0; }
		& h1 { margin-bottom: 0;}
		p.info { 
			order: 4;
			font-size: 0;
			color: var(--color_1);
			margin-bottom: 20px;
			time { font-size: 1rem; }
		}
	}
	p.back { 
		width: calc(var(--content_width) + var(--content_margin) * 2);
		max-width: 100%;
		margin: 20px auto 0 auto;
		padding: 0 10px;
	}
}