.p-techInfoList__header {
	margin-bottom: 28px;
}

.p-techInfoList__update {
	margin: 16px 0 0;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: right;
	white-space: nowrap;
}
.p-techInfoList__num {
	color: var(--color-nkblue);
	font-size: inherit;
	font-weight: bold;
}

/*-------------------------------------------
  ツールバー（件数・並び替え・ページャ）
-------------------------------------------*/
.p-techInfoList__toolbar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 18px 24px;
	margin-bottom: 24px;
}

.p-techInfoList__count {
	margin: 0 0 10px;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1.4;
}

.p-techInfoList__countRange {
	font-weight: normal;
}

/* 並び順切替ボタン */
.l-section .p-techInfoList__sort {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: 36px;
	padding: 0 14px;
	font-family: inherit;
	font-size: 0.9rem;
	font-weight: bold;
	line-height: 1;
	cursor: pointer;
}

.p-techInfoList__sort::after {
	margin-left: 6px;
	font-size: 0.8em;
}

.p-techInfoList__sort--to-asc::after {
	content: "\25B2";
}

.p-techInfoList__sort--to-desc::after {
	content: "\25BC";
}

/*-------------------------------------------
  ページャ
-------------------------------------------*/
.p-techInfoListPager {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 0 5px;
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.5;
}

.p-techInfoListPager a {
	color: inherit;
	text-decoration: none;
}

.p-techInfoListPager a:hover,
.p-techInfoListPager a:focus-visible {
	color: var(--color-nkblue);
	text-decoration: underline;
}

.p-techInfoListPager__current {
	color: var(--color-nkblue);
	font-weight: bold;
}

.p-techInfoListPager--bottom {
	margin-top: 28px;
	margin-bottom: 70px;
}

/*-------------------------------------------
  一覧テーブル
  （c-table--th-blue をベースに 5 列レイアウト用に上書き）
-------------------------------------------*/
.p-techInfoListTable {
	table-layout: fixed;
	font-size: 1rem;
}

.p-techInfoListTable col:nth-child(1) { width: 96px; }
.p-techInfoListTable col:nth-child(3) { width: 116px; }
.p-techInfoListTable col:nth-child(4) { width: 120px; }
.p-techInfoListTable col:nth-child(5) { width: 76px; }

.p-techInfoListTable thead th {
	padding: 0.45em 1em;
	font-size: calc(1rem - 1px);
	font-weight: normal;
	text-align: center;
}

.p-techInfoListTable tbody th,
.p-techInfoListTable tbody td {
	border-color: #ccc;
	vertical-align: middle;
}

.p-techInfoListTable tbody th {
	background-color: #f2f2f2;
	color: inherit;
	font-size: calc(1.35rem - 1px);
	text-align: center;
}

.p-techInfoListTable td.p-techInfoListTable__title,
.p-techInfoListTable td.p-techInfoListTable__file {
	padding: 0;
}

.p-techInfoListTable__mainRow td.p-techInfoListTable__title,
.p-techInfoListTable__mainRow td.p-techInfoListTable__file {
	border-bottom: 0;
}

.p-techInfoListTable__subRow td.p-techInfoListTable__title,
.p-techInfoListTable__subRow td.p-techInfoListTable__file {
	border-top: 1px dotted #bbb;
}

.p-techInfoListTable__subRow td:first-child {
	border-left: 1px solid #ccc;
}

.p-techInfoListTable__subRow td:last-child {
	border-right: 1px solid #ccc;
}

.p-techInfoListTable__line {
	display: flex;
	align-items: center;
	min-height: 48px;
	padding: 8px 14px;
	box-sizing: border-box;
}

.p-techInfoListTable__line + .p-techInfoListTable__line {
	border-top: 1px dotted #bbb;
}

.p-techInfoListTable__file .p-techInfoListTable__line {
	justify-content: center;
	padding-right: 8px;
	padding-left: 8px;
}

.p-techInfoListTable__date,
.p-techInfoListTable__dept {
	text-align: center;
	white-space: nowrap;
}

/* 横スクロール領域（c-tableScroll が <=1024px で overflow-x:auto を付与） */
@media screen and (max-width: 1024px) {
	.p-techInfoListTable {
		min-width: 900px;
	}
}

@media screen and (max-width: 640px) {
	.p-is-tech_ichiran .c-tableScroll {
		max-height: none;
		overflow-y: visible;
	}
}

@media screen and (max-width: 899px) {
	.p-techInfoList__toolbar {
		display: block;
		margin-bottom: 12px;
	}

	.p-techInfoList__update {
		margin-top: 16px;
		white-space: normal;
	}

	.p-techInfoListPager {
		justify-content: flex-end;
		margin-top: 8px;
	}
}

/*-------------------------------------------
  Tech Information search result cards
-------------------------------------------*/
.p-techMainHeader {
	margin-bottom: 18px;
}

.p-techMainHeader .p-techInfoList__update {
	margin-top: 0;
}

.p-techMainToolbar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas:
		"summary action"
		"note pager";
	gap: 12px 24px;
	align-items: end;
	margin-bottom: 24px;
}

.p-techMainToolbar__summary {
	grid-area: summary;
}

.p-techMainToolbar__action {
	grid-area: action;
	justify-self: end;
}

.p-techMainToolbar__note {
	grid-area: note;
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.6;
}

.p-techMainToolbar__pager {
	grid-area: pager;
}

.p-is-tech_main .p-techInfoListPager--bottom {
	margin-top: 38px;
}

.l-section .p-techMainSearchAgain {
	height: 34px;
	padding: 0 14px;
	font-size: 0.86rem;
	font-weight: bold;
	line-height: 34px;
}

.p-techMainResults {
	display: grid;
	gap: 28px;
}

.c-boxTechInfo {
	box-sizing: border-box;
	padding: 24px;
	background-color: #f2f2f2;
}

.c-boxTechInfo__status {
	margin: 0 0 8px;
	font-weight: bold;
	line-height: 1.6;
}

.l-section .c-boxTechInfo h4.c-boxTechInfo__title {
	margin: 0 0 12px;
	font-size: 1.1rem;
	line-height: 1.5;
}

.c-boxTechInfo__title a {
	color: var(--color-nkblue);
	text-decoration: none;
}

.c-boxTechInfo__title a:hover,
.c-boxTechInfo__title a:focus-visible {
	text-decoration: underline;
}

.c-boxTechInfo__excerpt {
	display: block;
	box-sizing: border-box;
	margin: 0;
	padding: 12px 24px;
	color: inherit;
	text-decoration: none;
	background-color: #fff;
	line-height: 1.8;
}

.c-boxTechInfo__meta {
	margin-bottom: 15px;
}

.c-boxTechInfo__excerpt,
.c-boxTechInfo__excerptText {
	min-width: 0;
	overflow-wrap: anywhere;
	word-break: normal;
}

.c-boxTechInfo__excerptText {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
}

.c-boxTechInfo__excerpt:hover,
.c-boxTechInfo__excerpt:focus-visible {
	color: inherit;
	text-decoration: none;
}

/*-------------------------------------------
  Tech Information shared meta layout
-------------------------------------------*/
.c-techMeta,
.c-boxTechInfo__meta,
.p-techTextArticle__meta {
	display: grid;
	grid-template-columns: minmax(0, 2.4fr) minmax(0, 0.5fr) minmax(0, 1.1fr);
	gap: 12px 24px;
	align-items: center;
	line-height: 1.6;
	min-width: 0;
}

.c-techMeta__item,
.c-boxTechInfo__metaItem,
.p-techTextArticle__metaItem {
	display: grid;
	grid-template-columns: 5.5em minmax(0, 1fr);
	column-gap: 7px;
	align-items: center;
	justify-items: start;
	margin: 0;
	min-width: 0;
	white-space: nowrap;
}

.c-techMeta__label,
.c-boxTechInfo__metaLabel,
.p-techTextArticle__metaLabel {
	justify-self: stretch;
	text-align: right;
	font-weight: bold;
}

.c-techMeta__contact,
.c-boxTechInfo__contactLink,
.p-techTextArticle__contact {
	justify-self: start;
	text-align: left;
}

.c-techMeta__item--pdfGroup,
.c-boxTechInfo__metaItem--pdfGroup,
.p-techTextArticle__metaItem--pdfGroup {
	min-width: 0;
}

.c-techMeta__pdfStack,
.c-boxTechInfo__pdfStack,
.p-techTextArticle__pdfStack {
	display: grid;
	grid-template-columns: minmax(0, 0.55fr) minmax(0, 0.45fr);
	gap: 6px 0;
	align-items: center;
	width: 100%;
	min-width: 0;
}

.c-techMeta__pdfLink,
.c-boxTechInfo__pdfLink,
.p-techTextArticle__pdfLink {
	display: inline-grid;
	grid-template-columns: 24px auto;
	column-gap: 7px;
	align-items: center;
	justify-self: start;
	max-width: 100%;
	min-width: 0;
	color: inherit;
	text-decoration: none;
}

.c-techMeta__pdfLink.c-icon--pdf-before::before,
.c-boxTechInfo__pdfLink.c-icon--pdf-before::before,
.p-techTextArticle__pdfLink.c-icon--pdf-before::before {
	margin: 0;
}

.c-boxTechInfo__issueLink {
	color: inherit;
	text-decoration: none;
}

.c-techMeta__pdfLink:hover,
.c-techMeta__pdfLink:focus-visible,
.c-boxTechInfo__pdfLink:hover,
.c-boxTechInfo__pdfLink:focus-visible,
.c-boxTechInfo__issueLink:hover,
.c-boxTechInfo__issueLink:focus-visible,
.c-boxTechInfo__contactLink:hover,
.c-boxTechInfo__contactLink:focus-visible,
.p-techTextArticle__contact:hover,
.p-techTextArticle__contact:focus-visible,
.p-techTextArticle__pdfLink:hover,
.p-techTextArticle__pdfLink:focus-visible {
	color: var(--color-nkblue);
}

.c-techMeta__pdfLink:hover,
.c-techMeta__pdfLink:focus-visible,
.c-boxTechInfo__pdfLink:hover,
.c-boxTechInfo__pdfLink:focus-visible,
.c-boxTechInfo__issueLink:hover,
.c-boxTechInfo__issueLink:focus-visible,
.p-techTextArticle__pdfLink:hover,
.p-techTextArticle__pdfLink:focus-visible {
	text-decoration: none;
}

.p-techTextArticle__contact:hover,
.p-techTextArticle__contact:focus-visible {
	text-decoration: underline;
}

.c-boxTechInfo__highlight {
	color: #c00;
	font-weight: bold;
}

.p-techMainEmpty {
	margin: 0;
	padding: 30px 16px;
	background-color: #f2f2f2;
}

@media screen and (max-width: 899px) {
	.p-techMainToolbar {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"summary action"
			"note note"
			"pager pager";
		gap: 8px 16px;
		margin-bottom: 18px;
	}

	.p-techMainToolbar__action {
		align-self: center;
		margin: 0;
	}

	.p-techMainToolbar__note {
		margin-bottom: 8px;
	}

	.c-boxTechInfo {
		padding: 18px;
	}

	.c-techMeta,
	.c-boxTechInfo__meta,
	.p-techTextArticle__meta {
		grid-template-columns: minmax(0, 0.45fr) minmax(0, 0.55fr);
		gap: 10px 18px;
	}
	.c-boxTechInfo__meta,
	.p-techTextArticle__meta {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 10px 28px;
	}
	.c-boxTechInfo__metaItem--pdfGroup,
	.p-techTextArticle__metaItem--pdfGroup {
		flex: 0 0 100%;
	}
	.c-boxTechInfo__metaItem:not(.c-boxTechInfo__metaItem--pdfGroup),
	.p-techTextArticle__metaItem:not(.p-techTextArticle__metaItem--pdfGroup) {
		flex: 0 0 auto;
	}

	.c-techMeta__item--pdfGroup,
	.c-boxTechInfo__metaItem--pdfGroup,
	.p-techTextArticle__metaItem--pdfGroup {
		grid-column: 1 / -1;
	}

	.c-techMeta__pdfStack,
	.c-boxTechInfo__pdfStack,
	.p-techTextArticle__pdfStack {
		grid-template-columns: minmax(0, 0.49fr) minmax(0, 0.51fr);
		column-gap: 18px;
	}
}

@media screen and (max-width: 639px) {
	.c-boxTechInfo__excerpt {
		padding: 10px 14px;
	}

	.c-boxTechInfo__excerptText {
		-webkit-line-clamp: 4;
		line-clamp: 4;
	}

	.c-techMeta,
	.c-boxTechInfo__meta,
	.p-techTextArticle__meta {
		grid-template-columns: 1fr;
	}

	.c-techMeta__item,
	.c-boxTechInfo__metaItem,
	.p-techTextArticle__metaItem {
		white-space: normal;
	}

	.c-techMeta__pdfStack,
	.c-boxTechInfo__pdfStack,
	.p-techTextArticle__pdfStack {
		grid-template-columns: 1fr;
		gap: 8px;
	}
}

/*-------------------------------------------
  Tech Information meta layout: contact on second row
-------------------------------------------*/
.c-techMeta--contactRow.c-boxTechInfo__meta,
.c-techMeta--contactRow.p-techTextArticle__meta {
	display: grid;
	grid-template-columns: minmax(0, 2.4fr) minmax(0, 1.1fr);
	gap: 0px 24px;
	align-items: center;
}

.c-techMeta--contactRow .c-techMeta__item--pdfGroup,
.c-techMeta--contactRow .c-boxTechInfo__metaItem--pdfGroup,
.c-techMeta--contactRow .p-techTextArticle__metaItem--pdfGroup {
	grid-column: 1;
	grid-row: 1;
}

.c-techMeta--contactRow .c-techMeta__item--issueDate,
.c-techMeta--contactRow .c-boxTechInfo__metaItem--issueDate,
.c-techMeta--contactRow .p-techTextArticle__metaItem--issueDate {
	grid-column: 2;
	grid-row: 1;
}

.c-techMeta--contactRow .c-techMeta__item--contact,
.c-techMeta--contactRow .c-boxTechInfo__metaItem--contact,
.c-techMeta--contactRow .p-techTextArticle__metaItem--contact {
	grid-column: 1 / -1;
	grid-row: 2;
	white-space: normal;
}

.c-techMeta--contactRow .c-techMeta__contact,
.c-techMeta--contactRow .c-boxTechInfo__contactLink,
.c-techMeta--contactRow .p-techTextArticle__contact {
	max-width: 100%;
	white-space: normal;
	overflow-wrap: anywhere;
}

@media screen and (min-width: 900px) {
	.c-techMeta--contactRow .c-techMeta__pdfStack,
	.c-techMeta--contactRow .c-boxTechInfo__pdfStack,
	.c-techMeta--contactRow .p-techTextArticle__pdfStack {
		grid-template-columns: minmax(0, 0.46fr) minmax(0, 0.54fr);
	}
}

@media screen and (max-width: 899px) {
	.c-techMeta--contactRow.c-boxTechInfo__meta,
	.c-techMeta--contactRow.p-techTextArticle__meta {
		grid-template-columns: 1fr;
		gap: 6px;
	}

	.c-techMeta--contactRow .c-techMeta__item--pdfGroup,
	.c-techMeta--contactRow .c-techMeta__item--issueDate,
	.c-techMeta--contactRow .c-techMeta__item--contact,
	.c-techMeta--contactRow .c-boxTechInfo__metaItem--pdfGroup,
	.c-techMeta--contactRow .c-boxTechInfo__metaItem--issueDate,
	.c-techMeta--contactRow .c-boxTechInfo__metaItem--contact,
	.c-techMeta--contactRow .p-techTextArticle__metaItem--pdfGroup,
	.c-techMeta--contactRow .p-techTextArticle__metaItem--issueDate,
	.c-techMeta--contactRow .p-techTextArticle__metaItem--contact {
		grid-column: 1;
		grid-row: auto;
	}
}

/*-------------------------------------------
  Tech Information text detail
-------------------------------------------*/
.p-is-tech_text .p-techTextLead {
	margin-top: 0;
	line-height: 1.7;
}

.p-is-tech_text .p-techTextArticle__title {
	margin-left: 50px;
	margin-bottom: 40px;
	color: var(--color-nkblue);
}

.p-techTextArticle__status {
	margin: 0 50px 12px;
	font-weight: bold;
	line-height: 1.6;
}

.p-techTextArticle__body {
	box-sizing: border-box;
	margin: 0 0 24px;
	padding: 50px;
	line-height: 1.8;
}

.p-techTextArticle__body p {
	margin: 0;
}

.p-techTextArticle__meta {
	margin-bottom: 15px;
	padding: 0 50px;
}

@media screen and (max-width: 899px) {
	.p-is-tech_text .p-techTextArticle__title {
		margin-left: 20px;
	}

	.p-techTextArticle__status {
		margin-right: 20px;
		margin-left: 20px;
	}

	.p-techTextArticle__body {
		padding: 28px 20px;
	}

	.p-techTextArticle__meta {
		padding: 0 20px;
	}
}

@media screen and (max-width: 639px) {
	.p-techTextArticle__body {
		margin: 18px 0;
		padding: 22px 20px;
	}

}
