@charset "UTF-8";

/* アイコン表示に対するカスタマイズ */
.admonitionblock>table td.icon {
	text-align: center;
	width: 80px
}

.admonitionblock>table td.icon img {
	max-width: none
}

@media screen and (max-width: 480px) {
	.admonitionblock>table td.icon {
		text-align: center;
		width: 60px
	}
}

.admonitionblock>table {
	border: 2px #808080 solid;
	border-radius: 5px;
	width: 95%;
	padding: 10px 10px 10px 0;
	margin: 1em auto;
}

.warning table {
	/*background: coral;*/
	border: 2px #ff0000 solid;
	font-weight: bold;
}

table td:first-child {
	/*
	background: gray;
	*/
}






img {
	display: inline-block;
	line-height: 0;
}

img,
video {
	height: auto;
	max-width: 100%;
}

.main a,
.main a:visited {
	color: var(--custom-link-text-color, #2e7eb3);
	text-decoration: none;
	word-break: break-all;
	/* URL強制改行 */
}

.main a:focus,
.main a:active,
.main a:hover {
	color: var(--custom-link-text-hover-color, #38a0e4);
	text-decoration: underline;
}

main ul {
	list-style: disc;
	padding-left: 40px;
}

/*-----------------------*
		Structure
*-----------------------*/

.content-container {
	display: flex;
	/*
	justify-content: center;
	*/
	max-width: 1200px;
	margin: 0 auto;
}

.main {
	margin: 0 1em;
	flex: 1;
}

.menu {
	order: -1;
	/*
	overflow-x: hidden;
	overflow-y: auto;
	*/
	/*max-width: 25%;*/
	width: 25%;

}

.sticky {
	max-height: 90vh;
	position: sticky;
	top: 20px;
	overflow-y: scroll;
}


@media screen and (max-width: 480px) {
	.content-container {
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column nowrap;
		flex-flow: column nowrap;
	}

	.main {
		margin: 0 0.5em;
	}

	.menu {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		-webkit-box-flex: 0;
		-ms-flex: 0 0 auto;
		flex: 0 0 auto;
		-webkit-box-ordinal-group: 2;
		-ms-flex-order: 1;
		order: 1;
		width: 100%;
	}

	.sticky {
		max-height: 100%;
		position: static;
		/*top: 20px;*/
		overflow-y: auto;
	}
}

/* 下部の余白 */

.content-container {
	padding-bottom: 3rem;
}

@media screen and (max-width: 480px) {
	.content-container {
		padding-bottom: 1rem;
	}
}

/* 目次のスタイル */
.table_of_contents {
	font-size: 90%;
	padding: 1.28rem;
	border: 4px solid #f0f0f0;
}

.table_of_contents ul {
	list-style: none;
	padding-left: 0;
}

.table_of_contents li {
	border-top: 1px solid #f0f0f0;
}

.table_of_contents>nav>ul>li:first-child {
	border-top: unset;
}

.table_of_contents ul>li li a {
	margin-left: 2rem;
}

/*
.table_of_contents ul ul > li li a {
  margin-left: 4rem;
}
*/
/* 改行揃え */
.table_of_contents ul ul>li li {
	margin-left: 4rem;
	text-indent: -2rem;
}

.table_of_contents ul ul ul>li li a {
	margin-left: 6rem;
}

.table_of_contents ul ul ul ul>li li a {
	margin-left: 8rem;
}

.table_of_contents ul ul ul ul ul>li li a {
	margin-left: 10rem;
}

/* メニューのスタイル */
.menu {
	font-size: 90%;
	line-height: 1.8;
	/*
  background: #f9f9f9;
  border-right: 1px solid #eee;
  */
}

.menu ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.menu a {
	position: relative;
	display: block;
	color: #404040;
	text-decoration: none;
	padding: 0.2rem 1rem;
	border-left: solid 4px #f9f9f9;

	border-bottom: solid 1px #eee;

}

.menu a:hover {
	color: #404040;
	background: #eee;
	border-left: solid 4px #ccc;
}

.menu nav>ul>li li a {
	padding-left: 2rem;
}

.menu nav>ul ul>li li a {
	padding-left: 3rem;
}

.menu nav>ul ul ul>li li a {
	padding-left: 4rem;
}

.menu nav>ul ul ul ul>li li a {
	padding-left: 5rem;
}

.menu nav>ul ul ul ul ul>li li a {
	padding-left: 6rem;
}

@media screen and (max-width: 480px) {
	.menu nav>ul>li:first-child a {
		border-top: solid 1px #eee;
	}
}

/* 見出し等 */
h1:not(.site_logo) {
	/*border-bottom: solid 3px black;*/
	text-align: center;
	padding: 2rem;
}

@media screen and (max-width: 480px) {
	h1:not(.site_logo) {
		padding: 1rem;
	}
}

h2 {
	padding: 0.25em 0.5em;
	/*上下 左右の余白*/
	/*color: #494949;*/
	/*文字色*/
	color: black;
	/*background: transparent;*/
	/*背景透明に*/
	border-left: solid 5px #e60000;
	/*左線*/
	/*border-left: solid 5px #7db4e6;*/
	border-top: solid 2px #e60000;
	/*左線*/
	/*border-top: solid 2px #7db4e6;*/
	/*margin: 0.25em;*/
	margin: 5em 0.25em 0.25em;
	/*上 左右 下*/
}

h3 {
	/*線の種類（点線）2px 線色*/
	border-bottom: dashed 2px #e60000;
	/*border-bottom: dashed 2px #6594e0;*/

	/*margin: 0.5em;*/
	margin: 4em 0.5em 0.5em;
	counter-reset: counter-h4;
}

h4 {
	counter-increment: counter-h4;
}

/*廃止*/
h4_old::before {
	content: "手順" counter(counter-1)" ";
	font-size: 120%;

	padding: 0.25em 0.5em;
	/*上下 左右の余白*/
	color: #404040;
	/*文字色*/
	background: transparent;
	/*背景透明に*/
	border-left: solid 5px #404040;
	/*左線*/
}

h5 {
	font-size: 120%;
	line-height: 1.8333333333;
}

/*h3に該当*/
.sect2 {
	counter-reset: counter-1;
	counter-reset: counter-2;
}

/*branchクラスに含まれないsect3(h4)*/
.sect3:not(.branch .sect3) {
	counter-increment: counter-1;
}

.branch {
	counter-increment: counter-2;
	counter-reset: counter-3;
}

.branch .sect3 {
	counter-increment: counter-3;
}

.branch summary::before {
	content: counter(counter-1)"-" counter(counter-2)" ";
}

h4::before {
	content: "手順" counter(counter-1)" ";
	font-size: 120%;

	padding: 0.25em 0.5em;
	/*上下 左右の余白*/
	color: #404040;
	/*文字色*/
	background: transparent;
	/*背景透明に*/
	border-left: solid 5px #404040;
	/*左線*/
}

.branch h4::before {
	content: counter(counter-1)"-" counter(counter-2)"(" counter(counter-3)") ";
}

.faq h4::before {
	content: "Q" counter(counter-h4)" ";
}



/* 手順 */
.sect3 {
	/*margin-left: 1em;*/
	/* margin: 2em 0 1em 1em; */
	margin: 2em 1em 1em 1em;
}

/* 画像など */
.content {
	margin-left: 1em;
}

@media screen and (max-width: 480px) {
	.sect1 {
		margin-right: 0.5em;
	}
	.sect3 {
		margin: 2em 0 1em 0.5em;
	}
	.content {
		margin-left: 0;
	}
	details {
		padding-right: 0.5em;
	}
}

.paragraph {
	/*
	text-indent: 1em;
	*/
	margin-left: 1em;
}

p:not(.tableblock) {
	/* 表以外のpに適用する */
	/*
	line-height: 1em;
	*/
	margin-top: 1em;
	margin-bottom: 1em;
}

.indent {
	margin-left: 4em;
}

.underline {
	text-decoration: underline;
}

/* アコーディオン表示のスタイル */
details {
	/*
	margin-left: 1em;
	*/
	border: solid 2px #404040;
	/*線 #6091d3*/
	border-radius: 5px;
	/*角の丸み*/
	margin-top: 1em;
	margin-bottom: 1em;
}

details:hover {
	/*
    border: solid 2px #404040;
    border-radius: 5px;
    */
}

details[open] {
	/*有効に効いていない*/
	/*background-color: powderblue;*/
	/*
	border: solid 2px #6091d3;
    border-radius: 5px;
    */
}

summary:hover {
	cursor: pointer;
}

summary {
	/*background-color: powderblue;*/
	border-bottom: 5px solid #909090;
	/*background: linear-gradient(transparent 90%, #909090 90%);*/
	/* #a7d6ff */
	padding: 0.25em 0.5em;
	/*上下 左右の余白*/
	margin: 0.25em;

	counter-reset: counter-operation;
}

.version { 
    font-size: 50%;
    font-weight: normal;
}