@charset "utf-8";
/* --------------------------------------------

プレスリリース

---------------------------------------------- */

.selectYear {
	padding: 2em 0;
	text-align: center;
}

.selectYear select {
	width: 12em;
	padding: 0.3em 1em;
	margin: 0 0.5em;
	border: none;
}

.selectYear select * {
	font-weight: bold;
}

/* add_20250916 - お知らせページの新CSS */
.topics-contents-item {
	margin-bottom: 3.2rem;
	padding: 3rem;
	border: 1px solid var(--color-border-light);
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 1rem;
	color: var(--color-black);
	font-weight: 500;
	text-decoration: none;
	flex-wrap: wrap;

	& .date {
		font-size: 1.7rem;
		font-weight: 500;
		letter-spacing: 0.05em;
	}

	& .category {
		display: inline-block;
		width: auto;
		padding: 0.8rem 1.6rem;
		color: var(--color-white);
		font-size: 1.45rem;
		text-align: center;
		background-color: var(--color-primary);
		line-height: 1;
	}

	& .ttl {
		display: inline-block;
		width: 100%;
		padding-bottom: 1rem;
		margin-bottom: 0.5rem;
		font-size: 1.75rem;
		font-weight: 500;
		border-bottom: 1px dotted var(--color-border-dark);
	}

	& .body {
		width: 100%;
		color: var(--color-text);
		font-size: 1.5rem;
		font-weight: 400;

		& p {
			margin-bottom: 0.5em;

			&:last-child {
				margin-bottom: 0;
			}
		}
	}

	& .img-list {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		align-items: stretch;
		justify-items: flex-start;
		gap: 1.6rem;
		margin-top: 1rem;
		margin-bottom: 0;
		padding-left: 0;

		& .img-list-item {
			border: none;
			padding: 0;

			& img {
				width: 100%;
				height: auto;
				-o-object-fit: cover;
				object-fit: cover;
			}
		}
	}

	& .files {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
		gap: 1.6rem;
		margin-top: 1.6rem;

		& .btn_open-file {
			position: relative;
			display: inline-flex;
			justify-content: flex-start;
			padding: 1.45rem;
			width: 100%;
			max-width: 24rem;
			font-size: 1.7rem;
			color: #fff;
			text-decoration: none;
			background: linear-gradient(to right, #A01F00 50%, #A94019 100%);
			line-height: 1;
			filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#A01F00', endColorstr='#A94019', GradientType=0);
			transition: 0.3s;

			&:hover {
				color: #fff;
				transform: translateY(2px) scale(0.999);
				opacity: 0.8;
			}

			&::before {
				content: "";
				display: inline-block;
				width: 1em;
				height: 1em;
				margin: 0 0.5em 0 0;
				background: url("../img/arrowW.png");
				background-size: cover;
				border: 1px solid #fff;
				border-radius: 50%;
				vertical-align: middle;
				transition: 0.3s;
			}

			&:hover::before {
				vertical-align: middle;
				transform: translateX(1px);
			}
		}
	}
}

@media screen and (max-width: 1179px) {
	.topics-contents-item {
		font-size: clamp(1.4rem, 1rem + 0.49vw, 1.6rem);
	}
}

@media only screen and (max-width:1160px) {
	.btn_open-file {
		padding: 0.25em 1em;
	}
}

@media screen and (max-width: 1023px) {
	.topics-contents-item {
		flex-wrap: wrap;
		row-gap: 1.3rem;
		justify-content: flex-start;
		margin-bottom: 2rem;

		& .ttl {
			display: block;
			width: 100%;
			flex-grow: 3;
		}
	}
}

@media screen and (max-width: 820px) {
	.topics-contents-item {

		& .files {
			display: grid;
			justify-content: flex-start;
			grid-template-columns: repeat(3, 1fr);

			& .btn_open-file {
				max-width: 100%;
			}
		}
	}
}

@media screen and (max-width: 767px) {
	.topics-contents-item {
		margin-bottom: 2rem;
		row-gap: 1rem;
		font-size: 1.7rem;
		letter-spacing: 0;
		padding: 1.6rem;

		& .ttl {
			font-size: 1.6rem;
		}

		& .category {
			font-size: 1.45rem;
		}

		& .date {
			font-size: 1.6rem;
		}

		& .img-list {
			margin-top: 0.6rem;
			gap: 1rem;
			grid-template-columns: 1fr;
		}

		& .files {
			margin-top: 0.6rem;
			gap: 1rem;
			grid-template-columns: 1fr;
			justify-content: center;

			& .btn_open-file {
				max-width: 100%;
			}
		}
	}
}