@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap');

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box；
}

html {
	height: auto;
}

body {
	font-family: 'Noto Sans JP', sans-serif;
}

:root {
	--base-color: #00667F;
	--accent-color: #0097BA;
	--pdf-color: #FF0000;
}

/* *********************************************** */
/* header */
/* *********************************************** */
#header {
	z-index: 999;
	top: 0;
	left: 0;
	width: 100%;
	height: 130px;
	background-color: #000000;
	position: fixed;
}

#header .h-content {
	position: relative;
	width: 100%;
	max-width: 1280px;
	height: 100%;
	margin: auto;

	& .logo {
		position: absolute;
		top: 50%;
		left: 0%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
	}

	& .search-wrap {
		position: absolute;
		top: 50%;
		right: 0%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
	}

	& .search-wrap p:first-of-type {
		color: #ffffff;
		font-size: 13px;
		font-weight: 400;
		text-align: right;
	}

	& .search-box {
		font-size: 14px;
		font-weight: 400;
	}

	& .search-box #search-category {
		width: 140px;
		height: 40px;
		padding-left: 10px;
		appearance: none;
		border-radius: 5px 0px 0px 5px;
		background-color: #E7E7E8;
	}

	& .search-box::after {
		content: '';
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 6px 0 6px 8px;
		border-color: transparent transparent transparent var(--base-color);
		transform: rotate(90deg);
		position: absolute;
		top: 42px;
		left: 25%;
		margin-top: -6px;
		pointer-events: none;
	}

	& .search-box #search-text {
		width: 250px;
		height: 40px;
		border-radius: 0px 5px 5px 0px;
		padding: 0px 42px 0 10px;
	}

	& .search-box #search-button {
		position: absolute;
		top: 45px;
		right: 10px;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		border: 0;
		background-color: #ffffff;
		cursor: pointer;
	}

	& .search-settings {
		color: #ffffff;
		font-size: 13px;
		font-weight: 400;
	}
}

#header .title {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);

	& p {
		color: #ffffff;
		text-align: center;
		font-size: 28px;
		font-weight: 700;
	}

	& .ver {
		font-size: 28px;
	}

	& .manual {
		font-size: 28px;
	}
}

/* *********************************************** */
/* sub-header（検索エリア） */
/* *********************************************** */
#sub-header {
	height: 210px;
	background: linear-gradient(90deg, var(--base-color), var(--accent-color));
	margin-top: 200px;
}

#sub-header .sh-content {
	position: relative;
	width: 100%;
	max-width: 1280px;
	height: 100%;
	margin: auto;
	padding: 50px 0;
}

/* バージョン選択 */
#sub-header .prev {
	color: #ffffff;
	font-size: 16px;
	text-decoration: none;
	display: flex;
	align-items: center;
	width: fit-content;
}

#sub-header .prev:hover {
	text-decoration: underline;
}

.left-arrow {
	display: inline-block;
	vertical-align: middle;
	color: #ffffff;
	line-height: 1;
	position: relative;
	width: .6em;
	height: .6em;
	transform: translateX(25%) rotate(-135deg);
	margin-right: 10px;
}

.left-arrow::before,
.left-arrow::after {
	content: '';
	position: absolute;
	background: currentColor;
	border-radius: 0.1em;
}

.left-arrow::before {
	top: 0;
	left: 0;
	right: 0;
	height: 0.1em;
}

.left-arrow::after {
	top: 0;
	right: 0;
	bottom: 0;
	width: 0.1em;
}

/* *********************************************** */
/* content */
/* *********************************************** */
#content {
	background-color: #ffffff;
	position: relative;
	width: 100%;
	max-width: 1280px;
	margin: auto;
	margin-top: 200px;
}

#sub-header+div {
	margin-top: 0;
}

/* トップページ　リード文 */
.lead {
	color: #000000;
	text-align: center;
	font-size: 32px;
	padding: 80px 0 40px;
}

/* トップページ　Ver選択エリア */
.ver-sel {
	display: flex;
	justify-content: center;
	padding: 40px 0;
}

/* トップページ　Verボタン */
.ver-btn {
	background-color: var(--base-color);
	padding: 40px;
	text-align: center;
	text-decoration: none;
	margin: 0 80px;
}

.ver-btn p {
	color: #ffffff;
	font-size: 32px;
}

.ver-btn:hover {
	background-color: var(--accent-color);
}

/* マニュアルの見かた */
.howto {
	border: 2px solid var(--accent-color);
	border-radius: 10px;
	padding: 30px;
	margin: 40px 0 80px;
}

/* エラーページ */
.lead-error {
	font-size: 1.2rem;
	text-align: center;
	padding: 80px 0 40px;
}

/* カテゴリーから探す */
.find-by-category {
	padding: 30px 0;
}

.find-by-category h2 {
	padding-bottom: 1em;
}

.category-link ul {
	list-style: none;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}

.category-link__btn a {
	display: block;
	width: auto;
	font-size: 22px;
	margin: 2.5px;
	padding: 0.2em 1em;
	border-radius: 5px;
	text-align: left;
	color: var(--base-color) !important;
	text-decoration: none;
}

.category-link__btn:hover {
	background-color: rgb(198, 221, 235);
}

.category-link__r-arrow {
	display: inline-block;
	vertical-align: middle;
	color: var(--base-color);
	line-height: 1;
	position: relative;
	width: 1em;
	height: 0.1em;
	background: var(--base-color);
	margin-left: 1em;
}

.category-link__r-arrow::before {
	content: '';
	width: 0.6em;
	height: 0.6em;
	border: 0.15em solid var(--base-color);
	border-left: 0;
	border-bottom: 0;
	transform: rotate(45deg);
	transform-origin: top right;
	position: absolute;
	top: 50%;
	right: -0.1em;
	box-sizing: border-box;
}

/* 一覧から探す */
.find-by-categorylist {
	margin: 0 0 30px;
}

.find-by-categorylist h2 {
	padding-bottom: 1.5em;
}

#content a {
	color: var(--accent-color);
}

#content a:hover {
	text-decoration: none;
}

#content a img:hover {
	opacity: 0.5;
}

#content .menu-category {
	border: 1px solid #33758C;
	margin-bottom: 30px;
}

#content .menu-category__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: #F3F7F8;
}

#content .menu-category__title {
	display: flex;
	align-items: center;
}

#content .menu-category__number {
	display: block;
	background-color: var(--base-color);
	color: #FFFFFF;
	padding: 20px 60px 20px 25px;
	clip-path: polygon(0 0, 100% 0, 70% 100%, 0 100%);
}

#content .menu-category__name {
	margin-left: 5px;
}

#content .menu-category__icons {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#content .menu-category__html-icon {
	border: 1px solid var(--accent-color);
	padding: 2px 4px;
	margin-right: 30px;
	font-size: 12px;
}

#content .menu-category__pdf-icon {
	border: 1px solid #F11A1A;
	color: #F11A1A;
	padding: 2px 4px;
	margin-right: 30px;
	font-size: 12px;
}

#content .menu-category__icons .close-icon {
	position: relative;
	display: block;
	width: 35px;
	height: 35px;
	background-color: var(--base-color);
	border-radius: 50%;
	cursor: pointer;
	margin-right: 15px;
}

#content .menu-category__icons .close-icon::before {
	content: "";
	position: absolute;
	display: block;
	width: 8px;
	height: 8px;
	border-left: 3px solid #FFFFFF;
	border-bottom: 3px solid #FFFFFF;
	top: 28%;
	left: 35%;
	transform: rotate(-45deg);
}

#content .menu-category__icons .open-icon {
	position: relative;
	display: block;
	width: 35px;
	height: 35px;
	background-color: var(--accent-color);
	border-radius: 50%;
	cursor: pointer;
	margin-right: 15px;
}

#content .menu-category__icons .open-icon::before {
	content: "";
	position: absolute;
	display: block;
	width: 8px;
	height: 8px;
	border-left: 3px solid #FFFFFF;
	border-bottom: 3px solid #FFFFFF;
	top: 40%;
	left: 35%;
	transform: rotate(135deg);
}

#content .menu-category__contents {
	display: none;
	padding: 35px 20px 20px 20px;
}

#content .menu-category__contents-title {
	font-weight: bold;
	margin-bottom: 15px;
}

#content .menu-category__contents-title:not(:first-of-type) {
	margin-top: 30px;
	padding-top: 30px;
	background-image: linear-gradient(to right, #8A8686, #8A8686 2px, transparent 2px);
	background-size: 4px 2px;
	background-position: left top;
	background-repeat: repeat-x;
}

#content .menu-category__contents-links {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	list-style-type: none;
	flex-direction: row;
}

#content .menu-category__link-item {
	width: calc(25% - 5px);

	& a {
		color: var(--base-color);
		text-decoration: none;
	}

	& a:hover {
		text-decoration: underline;
	}
}

/* パンくず */
.breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 2em 0;

	& li {
		font-size: 14px;
	}

	& li a {
		color: var(--base-color);
	}

	& li a:hover {
		text-decoration: none;
	}
}

.breadcrumb li:not(:last-of-type)::after {
	content: ">";
	margin: 0 .6em;
	color: #000000;
}

/* 詳細ページ　目次 */
.toc__title {
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 10px;
}

.toc__list {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 2em;
}

.one-column {
	font-size: 15px;

	& ul {
		margin-left: 20px;
	}

	& a {
		color: var(--base-color);
		text-decoration: none;
	}

	& a:hover {
		text-decoration: underline;
	}
}

.three-column {
	font-size: 13px;

	& ul {
		margin-left: 20px;

		& ul {
			column-count: 3;

			& li {
				width: calc(100% - 80px / 3);
			}

			& ul {
				column-count: 1;
			}
		}
	}

	& a {
		color: var(--base-color);
		text-decoration: none;
	}

	& a:hover {
		text-decoration: underline;
	}

	& div {
		width: 100%;
	}
}

.four-column {
	font-size: 14px;

	& ul {
		margin-left: 20px;

		& ul {
			column-count: 4;

			& li {
				width: calc(100% - 80px / 4);
			}
		}
	}

	& a {
		color: var(--base-color);
		text-decoration: none;
	}

	& a:hover {
		text-decoration: underline;
	}
}

.category-detail-wrap #content {
	margin-top: 0;
}

.category-detail-wrap h1 {
	width: 100%;
	font-size: 32px;
	border-top: none;
	border-bottom: 1px solid #6B6969;
	border-image: none;
	line-height: 1;
	margin-bottom: 1em;
	color: #000000;
	text-align: left;
	padding-top: 1em;

	& .category-num {
		color: #ffffff;
		display: inline-block;
		background-color: var(--base-color);
		border-image: linear-gradient(to right, var(--accent-color), #A5D867) 1;
		padding: .2em .5em;
		margin-right: .5em;
	}
}

.category-detail-wrap h1:not(:has(span)) {
	padding: .2em 0;
}

.category-detail-wrap h2, h2 {
	width: 100%;
	font-size: 20px;
	font-weight: 500;
	border-left: 3px solid var(--accent-color);
	padding-left: 10px;
	margin-bottom: 1em;
	border-top: none;
	border-image: none;
	display: block;
	padding-top: 0;
}

.category-detail-wrap h2:not(:first-of-type) {
	margin: 2em 0 1em;
}

.category-detail-wrap h3 {
	font-size: 18px;
	font-weight: 400;
	color: #ffffff;
	background: linear-gradient(90deg, var(--accent-color), rgb(255, 255, 255));
	padding: 5px 10px;
	margin: 2em 0 1em;
}

.category-detail-wrap h3:first-of-type {
	margin-top: 0;
}

.category-detail-wrap p+h3 {
	margin-top: 1em !important;
}

.category-detail-wrap h3+p {
	margin-bottom: 1em;
}

.details {
	width: 100%;

	& p {
		font-size: 15px;
		font-weight: 400;
	}

	& .details__list {
		margin-left: 30px;
	}
}

.details .step {
	padding: 20px 0 0 40px;

	&>li {
		padding: .5em 0 1em;
	}

	&>li::marker {
		font-size: 32px;
	}

	&>li>p {
		padding-bottom: 1em;
	}
}

.details .char-table {
	border: 1px solid #000000;
	display: table;
	border-collapse: collapse;

	& div {
		display: table-row;
	}

	& div>div {
		display: table-cell;
		border: 1px solid #999;
		padding: 5px;
	}

	& .char-table__title {
		background-color: #E7E7E8;
	}

	& .char-table__title div {
		display: table-cell;
	}

	& .char-table__contents div {
		display: table-cell;
	}

	& .char-table__contents div .bullet li {
		padding: 3px;
	}

	& .char-table__contents div .reference {
		border: none;
		display: block;
		margin: 1em 0;
		padding: 0;
	}

	& .char-table__contents div .caution {
		border: none;
		display: block;
		margin: 1em 0;
		padding: 0;
	}

	& .char-table__contents div .description {
		border: none;
		display: block;
		margin: 1em 0;
		padding: 0;
	}
}

.details table {
	width: 100%;
	min-width: 50%;
	border: 1px solid var(--base-color);
	border-collapse: collapse;
	font-size: 14px;
	font-weight: 400;
	margin-bottom: 20px;

	& th {
		color: #ffffff;
		border-right: 1px solid #ffffff;
		background-color: var(--base-color);
		padding: 10px;
	}

	& th:first-child {
		border-left: 0;
	}

	& th:last-child {
		border-right: 0;
	}

	& th:has(+ td) {
		border-bottom: 1px solid #ffffff;
		border-right: 0;
	}

	& tr:last-child>th:has(+ td) {
		border-bottom: 0;
	}

	& tr:has(th)+tr:has(th) {
		border-top: 1px solid #ffffff;
	}

	& tr:has(th)>th:last-child,
	& tr:has(th)+tr:has(th)>th:last-child {
		border-left: 1px solid #ffffff;
	}

	& td {
		border: 1px solid var(--base-color);
		padding: 10px;
		vertical-align: top;
	}

	& caption {
		text-align: left;
	}

	& p {
		font-size: 14px;
	}

	& .subheading {
		margin-top: 20px;
		font-weight: 700 !important;
	}

	& .th-fixed {
		width: 100px;
	}
	
	& .twidth5 {
		width: 5%;	
	}
	
	& .twidth10 {
		width: 10%;
	}
		}
	
	& .twidth20 {
		width: 20%;	
	}
	
	& .twidth30 {
		width: 30%;
	}

	& .twidth40 {
		width: 40%;
		
	}
	& .twidth50 {
		width: 50%;
	}
	
	& .cell__gray {
		background-color: #E7E7E8;
	}

	& .cell__blue {
		background-color: rgb(0, 151, 186, .25);
	}
}

.table-grid {
	text-align: center;
	counter-reset: cnt -1;
	list-style: none;
	margin-bottom: 20px;

	& li::before {
		counter-increment: cnt;
		content: counter(cnt);
		font-weight: bold;
	}

	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));

	& li {
		display: grid;
		justify-content: center;
		border: 1px solid #cacaca;
		font-size: 15px;
		font-weight: 700;

		img {
			max-width: 100%;
		}
	}
}

.details .caption {
	font-size: 13px;
	font-weight: 400;
	padding-bottom: 0 !important;
}

.details .list-image {
	margin-bottom: 20px;

	& .caption {
		font-size: 15px;
		font-weight: 700;
	}
}

.details .bold {
	font-weight: 700;
}

p+div.reference {
	margin-top: 20px;
}

.bullet {
	padding-left: 30px;
	list-style-type: disc;
	font-size: 15px;
	font-weight: 400;

	& ul {
		padding-left: 30px;
		list-style-type: disc;
	}

	& ul ul {
		padding: 0 30px;
		list-style-type: disc;
	}

	& li {
		padding: 10px 0;
	}
}

.bullet.three-column {
	& ul {
		margin-left: 0;
		padding-left: 0;
	}

	& ul ul {
		padding-left: 20px;
		list-style-type: circle;
	}
}

.reference,
ul .reference,
ol .reference {
	background-color: #F5F5F5;
	border-radius: 10px 10px 0 0;
	margin-bottom: 20px;

	& ul {
		padding: 20px 20px 20px 50px;
		list-style-type: disc;
		font-size: 15px;
		font-weight: 400;
	}

	& li {
		padding: 0 !important;
	}

	& ul li::marker {
		font-size: 15px;
	}

	& ul li .code-area {
		display: inline-block;
		background-color: #FFFFFF;
		width: 80%;
		font-family: 'Courier New', Courier, monospace;
		padding: 20px;
	}

	& ul ul {
		padding: 0 30px;
		list-style-type: disc;
	}
}

.reference>p:first-child {
	display: inline-block;
	background-color: var(--accent-color);
	border-radius: 10px 0 0 0;
	font-size: 15px;
	font-weight: 600;
	color: #FFFFFF;
	padding: 5px 20px;
}

p+div.caution {
	margin-top: 20px;
}

.caution {
	background-color: #F5F5F5;
	border-radius: 10px 10px 0 0;
	margin-bottom: 20px;

	& ul {
		padding: 20px 20px 20px 50px;
		list-style-type: disc;
		font-size: 15px;
		font-weight: 400;
	}

	& ul li::marker {
		font-size: 15px;
	}

	& li {
		padding: 0 !important;
	}

	& ul li .code-area {
		display: inline-block;
		background-color: #FFFFFF;
		width: 80%;
		font-family: 'Courier New', Courier, monospace;
		padding: 20px;
	}

	& p.bullet-header {
		padding: 20px 20px 0px 20px;
	}
}

.caution>p:first-child {
	display: inline-block;
	background-color: #F11A1A;
	border-radius: 10px 0 0 0;
	font-size: 15px;
	font-weight: 600;
	color: #FFFFFF;
	padding: 5px 20px;
}

p+div.description {
	margin-top: 20px;
}

.description {
	background-color: #F5F5F5;
	border-radius: 10px 10px 0 0;
	margin-bottom: 20px;

	& ul {
		padding: 20px 20px 20px 50px;
		list-style-type: disc;
		font-size: 15px;
		font-weight: 400;
	}

	& ul li::marker {
		font-size: 15px;
	}

	& ul li .code-area {
		display: inline-block;
		background-color: #FFFFFF;
		width: 80%;
		font-family: 'Courier New', Courier, monospace;
		padding: 20px;
	}
}

.description>p:first-child {
	display: inline-block;
	background-color: #A5D867;
	border-radius: 10px 0 0 0;
	font-size: 15px;
	font-weight: 600;
	color: #FFFFFF;
	padding: 5px 20px;
}

.decimal {
	padding-left: 30px;
	list-style-type: decimal;
	font-size: 15px;
	font-weight: 400;

	& ul {
		padding-left: 30px;
		list-style-type: disc;
	}

	& ul ul {
		padding-left: 30px;
		list-style-type: disc;
	}

	& li {
		padding: 10px 0;
	}
}

.screen_description {
	font-size: 15px;
	font-weight: 400;
	list-style: none;

	& li {
		padding: 10px 0;

		& p:not(:first-of-type) {
			padding-left: 3em;
		}

		& .caution,
		table {
			margin-left: 3em;
		}


		& ul.screen_description {
			margin-left: 3em;

			& p:not(:first-of-type) {
				padding-left: 1em;
			}

			& .caution {
				margin-left: 1em;
			}
		}

	}
}

ol.bracket-number {
	font-size: 15px;
	font-weight: 400;
	margin-left: 2em;
	counter-reset: cnt;
}

ol.bracket-number>li {
	padding: 10px 0;
	list-style-type: none;
	counter-increment: cnt;
}

ol.bracket-number>li::before {
	content: "(" counter(cnt) ")";
	display: inline-block;
	margin-left: -2em;
	width: 2em;
}

ul.round-number,
ol.bracket-number>ul.round-number {
	list-style: none;

	& li p:not(:first-child) {
		padding: 10px 0 10px 1em;
	}
}

.list-no-mark {
	list-style: none;

	& li {
		padding: 10px 0;
	}
}

/* 横並び */
.side-by-side {
	display: flex;
	border: none !important;
}

/* 検索用テキスト */
.txt-for-search {
	color: gray;
	font-size: 0.5em !important;
}

/* 参考資料 */
.reference-materials {
	border: 1px solid var(--base-color);
	padding: 20px;

	& .reference-materials-title {
		font-size: 1.17em;
		font-weight: 400;
	}

	& .reference-materials-links {
		margin: 20px 30px;
	}

	& .reference-materials__link-item a {
		text-decoration: none;
		color: var(--base-color);
	}
}

.table-header-gray {
	background: #f5f5f5;
}

/* *********************************************** */
/* footer */
/* *********************************************** */
#footer {
	height: 80px;
	background-color: #000000;
}

#footer .f-content {
	width: 100%;
	max-width: 1280px;
	height: 80px;
	position: relative;
	margin: auto;
	padding: auto;
}

a#page-top {
	display: none;
	width: 75px;
	height: 75px;
	position: fixed;
	right: 20px;
	bottom: 100px;
	text-align: center;
	text-decoration: none;
	background-color: #F5F5F5;
	border-radius: 37.5px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
}

a#page-top.show {
	display: block;
}

a#page-top::before {
	font-size: 30px;
	font-weight: 900;
	content: '';
	display: inline-block;
	vertical-align: middle;
	color: #1C1B1F;
	line-height: 1;
	position: relative;
	margin-top: 0.8em;
	width: 0.1em;
	height: 1em;
	background: #1C1B1F;
}

a#page-top::after {
	content: '';
	width: 1em;
	height: 1em;
	border: 0.2em solid #1C1B1F;
	border-left: 0;
	border-bottom: 0;
	transform: rotate(-45deg);
	transform-origin: top right;
	position: absolute;
	top: 1.3em;
	right: 50%;
	box-sizing: border-box;
	font-size: 16px;
}

.copyright {
	position: absolute;
	top: 50%;
	left: 0%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	font-size: 12px;
	color: #ffffff;
}

/* *********************************************** */
/* htmlサンプル サイドメニューレイアウト用  */
/* *********************************************** */
.category-detail-wrap {
	display: flex;
	flex-direction: row-reverse;
	max-width: 1280px;
	margin: auto;
	margin-top: 130px;

	& main {
		width: calc(100% - 290px);
		/* asideの幅＋右マージン*/
	}
}

main {
	padding-bottom: 80px;
}

aside {
	width: 250px;
	padding: 30px 0 80px;
	border-right: 3px solid #DCD9D9;
	margin-right: 40px;
	position: sticky;
	top: 130px;
	height: calc(100vh - 240px);
	overflow-y: scroll;
	scrollbar-color: #8FC2D0;

	& .top {
		font-size: 16px;
		font-weight: 400;

		& a {
			color: #000000;
			font-weight: 500;
			text-decoration: none;
			display: flex;
			align-items: center;
		}

		& a:hover {
			color: var(--accent-color);
		}

		& a:hover svg path {
			fill: var(--accent-color);
		}
	}

	& .menu-title {
		display: flex;
		align-items: flex-start;
		font-size: 18px;
		font-weight: 500;
		padding-bottom: 20px;
	}

	& .menu-title:hover {
		color: var(--accent-color);
	}

	& .menu-title:hover svg path {
		fill: var(--accent-color);
	}

	& .menu>.menu-items {
		font-size: 15px;
		font-weight: 400;
		margin-left: 30px;
		list-style-type: none;
	}

	& .menu-item {
		padding-bottom: 20px;
	}

	& .menu-item>.menu-items {
		list-style-type: none;
		margin: 20px 0 20px 10px;
		padding: 0 0 0 10px;
		border-left: 3px solid #DCD9D9;
	}

	& .menu-item>.menu-items>.menu-item a {
		color: #565454;
	}

	& .menu-item>.menu-items>.menu-item a:hover {
		color: var(--accent-color);
	}

	& .menu-item>.menu-items>.menu-item:last-child {
		padding-bottom: 0;
	}

	& .menu-item a {
		color: #000000;
		text-decoration: none;
		display: inline-block;
		width: calc(100% - 15px);
	}

	& .menu-item a:hover {
		color: var(--accent-color);
	}
}

aside::-webkit-scrollbar {
	width: 5px !important;
}

aside::-webkit-scrollbar-thumb {
	background-color: #8FC2D0;
	border-radius: 2.5px;
}

#side-menu {
	padding: 30px 20px 30px 0;
	display: block;
}

/* *********************************************** */
/* 詳細ページ 左メニュー */
/* *********************************************** */
.js-op-close {
	display: none !important;
}

.js-op-open {
	display: block !important;
}

.menu-item p {
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.menu-item p .menu-cate-text {
	width: 180px;
}

.menu-item p:hover .menu-cate-text {
	color: var(--accent-color);
}

.menu-item .close-icon {
	position: relative;
	display: inline-block;
	width: 15px;
	height: 15px;
	float: right;
}

.menu-item .close-icon::before {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: var(--base-color);
	position: absolute;
	top: 20%;
	left: 50%;
	cursor: pointer;
}

.menu-item .close-icon::after {
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	border-top: 1.5px solid #fff;
	border-right: 1.5px solid #fff;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	position: absolute;
	top: 45%;
	left: 80%;
	cursor: pointer;
}

.menu-item .open-icon {
	position: relative;
	display: inline-block;
	width: 15px;
	height: 15px;
	float: right;
}

.menu-item .open-icon::before {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: var(--accent-color);
	position: absolute;
	top: 15%;
	left: 50%;
	cursor: pointer;
}

.menu-item .open-icon::after {
	content: "";
	display: inline-block;
	width: 4px;
	height: 4px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	top: 60%;
	left: 85%;
	cursor: pointer;
}

.menu-title {
	cursor: pointer;
}

.menu-items {
	display: none;
}

.menu-item .current {
	color: var(--accent-color) !important;
}

/* *********************************************** */
/* 詳細ページ キーワードハイライト */
/* *********************************************** */
.search-highlight {
	background-color: #f9f938;
}

/* *********************************************** */
/* Verトップ・検索結果ページ検索エリア */
/* *********************************************** */
main:has(#search-result) {
	background-color: #ffffff;
	position: relative;
	width: 100%;
	max-width: 1280px;
	margin: auto;
	margin-top: 80px;
}

#warp #sub-header,
#search-result-page #sub-header {
	margin-top: 130px;
}

#warp #sub-header .sh-content,
#search-result-page #sub-header .sh-content {
	position: relative;
	width: 100%;
	max-width: 1280px;
	height: 100%;
	margin: auto;

	& div {
		text-align: center;
	}

	& div>p {
		color: #FFFFFF;
		font-size: 20px;
		font-weight: 400;
		margin-top: -30px;
		margin-bottom: 20px;
	}

	& .search-box {
		font-size: 14px;
		font-weight: 400;
		position: relative;
		width: fit-content;
		margin: auto;
	}

	& .search-box #search-category {
		width: 140px;
		height: 45px;
		padding-left: 10px;
		appearance: none;
		border-radius: 5px 0px 0px 5px;
		background-color: #E7E7E8;
	}

	& .search-box::after {
		content: '';
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 6px 0 6px 8px;
		border-color: transparent transparent transparent var(--base-color);
		transform: rotate(90deg);
		position: absolute;
		top: 48.5%;
		left: 20.5%;
		margin-top: -6px;
		pointer-events: none;
	}

	& .search-box #search-text {
		width: 350px;
		height: 45px;
		border-radius: 0px 5px 5px 0px;
		padding: 0px 42px 0 10px;
		border: none;
	}

	& .search-box #search-button {
		position: absolute;
		top: 23px;
		right: 10px;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		border: 0;
		background-color: #ffffff;
		cursor: pointer;
	}

	& .search-settings {
		color: #ffffff;
		font-size: 14px;
		font-weight: 400;
	}

	& .search-settings label {
		padding: 5px;
	}
}

/* *********************************************** */
/* 検索結果ページ */
/* *********************************************** */
#search-result div {
	margin-top: 30px;
}

#search-result-page .search-result-num {
	color: var(--accent-color);
}

#search-result-page .search-highlight {
	font-weight: bold;
	background-color: transparent;
}

#search-result-page .search-result__title {
	font-size: 16px;
	font-weight: 400;
}

#search-result-page a {
	font-size: 20px;
	font-weight: 400;
	color: var(--accent-color);
}

/* *********************************************** */
/* PDF閲覧用HTML用 */
/* *********************************************** */
#pdf-viewer-page main {
	position: relative;
}

#pdf-viewer-page #viewer {
	width: 100%;
	margin-top: 1rem;
}

/* *********************************************** */
/* 印刷用 */
/* *********************************************** */
@page {
	margin: 10mm;
	size: 210mm 297mm;
}

@media print {
	body {
		print-color-adjust: exact;
		zoom: 0.8;
	}

	#header {
		position: absolute;
	}

	/* 左メニュー、ナビリンク、検索機能を非表示 */
	aside,
	.breadcrumb,
	.search-wrap,
	#footer {
		display: none;
	}

	.toc__list,
	.toc__title {
		margin: 20px 20px 0;
	}

	/* mainを幅100% */
	.category-detail-wrap main {
		width: 100%;
	}

	/* ロゴの位置調整 */
	.logo {
		padding-left: 10mm;
	}

	/* ページトップに戻るボタンの非表示 */
	a#page-top.show {
		display: none;
	}

	/* ページトップに戻るボタンの非表示 */
	.off-page-link {
		color: #000000 !important;
		text-decoration: none;
	}
}