@charset "UTF-8";

/*
 * Information
 */
[target="_blank"][rel="noopener"]::after {
    content: "\2009\e900";
    font-family: 'icons';
    font-size: 1em;
    vertical-align: -0.1rem;
}

#information+ol,
.important-notification+ol,
.information-filter+ol {
	letter-spacing: -1em;
	display: flex;
	flex-direction: column;
	padding: 0;
}

#information+article>div:first-child {
	display: flex;
	flex-direction: column-reverse;
	row-gap: 0.6em;
}

#information+article h2,
#information+article h3,
#information+article h4,
#information+article p {
	text-align: left;
}

#information+article .heading2 {
	padding-left: 0.7em;
	border-left: solid 5px var(--sub-color);
}

#information+article figure>img {
	display: inline-block;
	width: 100%;
	max-width: 600px;
}

#information+article figure>img:not(:has(+ figcaption)) {
	margin-bottom: 2rem;
}

#information+article .detail {
  display: flow-root;
	word-break: break-all;
}

/* 字下げは本文の全角スペースで調整 */
#information+article .detail p + p {
	text-indent: 0;
}

.infogroup {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 5px;
  padding-top: 3px;
}

.tag {
	display: inline-block;
	width: 8em;
	height: calc(1em + 0.5em);
	line-height: 1.5em;
	font-size: 0.75rem;
	text-align: center;
	color: var(--color-white);
	background-color: var(--tag-color);
}

/* カテゴリの絞り込み */
.information-filter {
	margin-bottom: 3.5rem;
	padding: 1.25rem 1.5rem;
	background-color: var(--color-pale-purple);
}

.information-filter__head {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1rem;
}

.information-filter__label {
	margin: 0;
	font-size: var(--x-small);
	font-weight: 700;
}

.information-filter__all-tag {
	display: inline-block;
	min-width: 6em;
	padding: 0.2em 1em;
	border: solid 1px var(--tag-color);
	color: var(--tag-color);
	font-size: 0.8125rem;
	text-align: center;
	text-decoration: none;
	transition: var(--hover-transition);
}

.information-filter__all-tag:hover,
.information-filter__all-tag[aria-current] {
	border-color: var(--filter-active-color);
	background-color: var(--filter-active-color);
	color: var(--color-white);
}

.information-filter__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.information-filter__list > li {
	margin: 0;
}

.information-filter__list label {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	font-size: var(--small);
	cursor: pointer;
}

.information-filter__list input {
	width: 1.1em;
	height: 1.1em;
	margin: 0;
	accent-color: var(--filter-active-color);
	cursor: pointer;
}

/* 読み込み中 */
.information-filter + ol[aria-busy="true"] {
	opacity: 0.4;
	transition: opacity 0.2s;
}

/* サムネイル（200px → 最小 160px） */
.card .card__thumbnail {
  position: relative;
	flex-shrink: 0;
	width: clamp(160px, 26vw, 200px);
  overflow: hidden;
	aspect-ratio: 5/3;
}

.card .card__thumbnail img {
	object-fit: cover;
	width: 100%;
	aspect-ratio: 5/3;
}
.card .card__thumbnail:after {
  position: absolute;
  content: "";
  inset: 0;
  box-shadow: 0 0 0 1px rgb(240 240 240) inset;
  mix-blend-mode: darken;
}

ol,ul {
  margin: 2rem 0;
  padding: 0 0 0 1em;
}

ol {
  list-style: decimal;
}

ol > li, ul > li {
  margin: 0 0 0.5em 0;
  padding: 0;
}

dl.custom-datalist {
	margin: 2rem 0;
}

dl.custom-datalist+dl.dl-item {
	margin-top: 0.5rem;
}

dl.custom-datalist>dd {
	margin: 0;
}

dl.custom-datalist>dt {
  white-space: nowrap;
}

dl.custom-datalist>dt,
dl.custom-datalist>dd {
	display: inline;
}

dl.custom-datalist>dt::after {
	content: '\3A';
	padding: 0 1em 0 0.2em;
	font-weight: bold;
}

dl.custom-datalist>div {
	display: flex;
	gap: 1rem 3rem;
	margin-bottom: 1rem;
}

dl.custom-datalist>div>dd {
	margin-left: 0;
}

dl.custom-datalist>div>dt {
	font-weight: 700;
	white-space: nowrap;
}

/* 添付ファイル */
.attachments {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	margin: 3rem 0;
}

.attachment {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
}

.attachment__thumb {
	flex-shrink: 0;
	width: 140px;
	line-height: 0;
	border: solid 1px var(--color-gray-30);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
	transition: var(--hover-transition);
}

.attachment__thumb:hover {
	opacity: 0.8;
}

.attachment__thumb::after {
	content: none !important;
}

.attachment__thumb img {
	width: 100%;
	height: auto;
}

.file-download-link {
	font-size: 75%;
	text-align: center;
}

@media screen and (max-width: 678px) {
	dl.custom-datalist>div {
		flex-direction: column;
	}
}

figure {
  margin: 0;
  text-align: center;
}

.pdf-container {
  max-width: 300px;
  text-align: center;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 10px;
}

.pdf-container a {
  color: #666;
  font-size: 14px;
}

.flex-container {
  display: flex;
  row-gap: 2rem;
  column-gap: 1rem;
}

.flex-container.flex-ratio-1-1 .flex-item {
  flex: 1;
}

.flex-container.flex-ratio-1-2 .flex-image {
  flex: 1;
}

.flex-container.flex-ratio-1-2 .flex-text {
  flex: 2;
}

.flex-container.flex-ratio-2-1 .flex-image {
  flex: 2;
}

.flex-container.flex-ratio-2-1 .flex-text {
  flex: 1;
}

.flex-container .flex-image,
.flex-container .flex-text {
  max-width: 100%;
}
