#main {
	position: relative;
}

.listbox li:not(:last-child) {
	border-bottom: 1px dotted rgba(0,0,0,.5);
}
.topicsbox,
.topicsbox * {
	color: #1a1a1a;
	margin: 0!important;
	line-height: 1!important;
}
.topicsbox {
	position: relative;
	overflow: hidden;
}
.topicsbox:last-of-type {
	border: none;
}
.topicsbox .date {
	background-color: #eee;
	padding: 0 1em;
	line-height: 1;
	font-weight: 600;
	font-size: 80%;
	white-space: nowrap;
}
.topicsbox .title {
	font-weight: 500!important;
	line-height: 1.2!important;
}
@media(min-width:768px) {
	.topicsbox {
	}
	.topicsbox a {
		display: flex;
		align-items: flex-start;
		gap: 1em;
		position: relative;
		padding: 2em 2em 2em 0;
	}
	.topicsbox a::before {
		content: '〉';
		position: absolute;
		right: 1em;
		top: 50%;
		transform: translateY(-50%);
		transition: .3s all;
	}
}
@media(max-width:767px) {
	.topicsbox {
	}
	.topicsbox a {
		display: block;
		padding: 1em 0;
	}
	.topicsbox .date {
		padding: 0 .5em;
		display: inline-block;
		margin-bottom: 1em!important;
	}
	.topicsbox .title {
		padding-left: .5em;
		padding-right: 1.5em;
		position: relative;
	}
	.topicsbox  .title::before {
		content: '〉';
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		transition: .3s all;
	}
}
@media(hover:hover) {
	.topicsbox::before {
		content: '';
		display: block;
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,.03);
		position: absolute;
		left: -105%;
		top: 0;
		transition: .3s all;
	}
	.topicsbox:hover::before {
		left: 0;
	}
	.topicsbox a:hover::before {
		right: .5em;
	}
}



.newsbox h6 {
	margin-bottom: 10px;
}
.newsbox h6 span {
	display: inline-block;
	font-size: 16px;
	line-height: 1;
	padding: 0 1em;
	background-color: #1a1a1a;
	color: #fff;
	font-weight: 600;
}
.newsbox h5 {
	font-size: 20px;
	line-height: 1.2;
	line-height: 1.2;
	font-weight: 500;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(0,0,0,.5);
	margin-bottom: 30px;
}
.newsbox .txt .imgbox {
	text-align: center;
	margin-bottom: 1em;
}
.newsbox .txt,
.newsbox .linkbox {
	margin-bottom: 60px;
}
.newsbox .linkbox li:not(:last-child) {
	margin-bottom: 15px;
}

@media(min-width:1024px) {
	.newsbox h5 {
		font-size: min(2vw, 32px);
	}
	.newsbox .linkbox {
		max-width: 800px;
		margin: 0 auto 60px;
	}
}
@media(max-width:1023px) {
}
@media(max-width:767px) {
}



