@charset "utf-8";

section {
	border-top: 1px solid var(--gray);
}

.content>#ez-toc-container {
	display: none;
}

.template p,
.wp-block-table table td {
	line-height: var(--lh-md);
	font-weight: var(--wght-400);
	font-size: var(--font-h6);
}

.template h1 {
	font-size: var(--font-h2);
	font-weight: var(--wght-500);
	color: var(--navy);
	padding: 15px 0;
	letter-spacing: 2px;
}

.template h2 {
	background: var(--navy);
	padding: 15px 20px 17px 30px;
	margin: 0 0 20px;
	font-size: var(--font-h4);
	font-weight: var(--wght-500);
	letter-spacing: 2px;
	color: var(--white);
	border-radius: 5px;
	position: relative;
}

.template h2:before {
	content: "";
	background: var(--white);
	width: 4px;
	height: 40%;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 2%;
}

.template h3 {
	font-size: var(--font-h4);
	border-bottom: 1px solid var(--gray);
	padding: 15px 0 15px 15px;
	margin: 0 0 30px;
	color: var(--navy);
	font-weight: var(--wght-500);
	position: relative;
	letter-spacing: 2px;
}

.template h3:before {
	content: "";
	background: var(--navy);
	width: 100px;
	position: absolute;
	bottom: -1px;
	height: 1px;
	left: 0;
}

.template h3:after {
	content: "";
	background: var(--navy);
	width: 3px;
	position: absolute;
	bottom: 0;
	height: 40%;
	top: 0;
	margin: auto;
	left: 0;
}

.template h4 {
	font-size: var(--font-h4);
	margin: 0 0 20px;
	color: var(--navy);
	font-weight: var(--wght-500);
	position: relative;
	border-left: 4px solid var(--navy);
	);
	max-width: max-content;
	padding: 0 0 0 15px;
	line-height: 1.2;
}

.template h5 {
	color: var(--navy);
	font-weight: var(--wght-500);
	font-size: var(--font-h6);
	margin: 0 0 5px;
}

.templatebox {
	display: grid;
	grid-template-columns: 1fr;
	align-items: flex-start;
	justify-content: space-between;
}

.has-small-font-size {
	font-size: var(--font-em);
}

.has-medium-font-size {
	font-size: var(--font-h5);
}

.has-large-font-size {
	font-size: var(--font-h4);
}

.has-x-large-font-size {
	font-size: var(--font-h3);
}

.has-xx-large-font-size {
	font-size: var(--font-h2);
}

/*++++++++++++++
リスト
++++++++++++++*/

.wp-block-list {
	margin: 0;
	height: auto;
}

.wp-block-list li {
	position: relative;
	line-height: var(--lh-sm);
	padding: 0 0 0 15px;
	margin: 0 0 10px;

}

.wp-block-list li a {
	color: var(--blue);
	text-decoration: underline;
}

.wp-block-list li:before {
	content: "";
	background: var(--darkgray);
	position: absolute;
	top: 10px;
	width: 6px;
	height: 6px;
	border-radius: 100px;
	left: 0;
	margin: auto;
}


/*++++++++++++++
目次
++++++++++++++*/
/**/
#ez-toc-container {
	border: none;
	border-top: 1px solid var(--gray);
	/* border-bottom: 1px dashed var(--gray); */
	background: none;
	padding: 0;
	width: var(--flex-100);
	margin: 0 0 20px;
	border-radius: 0;
	box-shadow: none;
}

#ez-toc-container a {
	color: var(--black) !important;
	line-height: 2;
	padding: 7px 15px;
	display: block;
	position: relative;
}

#ez-toc-container a:before {
	content: "";
	background: var(--blue);
	width: 5px;
	height: 5px;
	position: absolute;
	border-radius: 100px;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 0;
}

#ez-toc-container a:after {
	content: "\f063";
	font-family: "Font Awesome 6 Free";
	font-weight: var(--wght-600);
	font-size: 10px;
	position: absolute;
	right: 5%;
	top: 0;
	bottom: 0;
	margin: auto;
	display: flex;
	align-items: center;
}

#ez-toc-container a:visited {
	/* text-decoration: none !important; */
	/* color: #0071C5 !important; */
}

#ez-toc-container a:hover {
	text-decoration: none !important;
}

.ez-toc-title-container {
	display: none !important;
}

#ez-toc-container .ez-toc-list-level-6 {
	margin: 0 0 0 5px;
}

#ez-toc-container .ez-toc-link.ez-toc-heading-1 {
	margin: 0;
}

#ez-toc-container .ez-toc-list-level-4,
#ez-toc-container .ez-toc-list-level-5 {
	margin: 0 0 0 15px;
}

#ez-toc-container li a::before {
	/* content:"・"; */
	list-style-type: none;
}

#ez-toc-container a.ez-toc-heading-4 {}

#ez-toc-container a.ez-toc-heading-6 {
	margin: 0 0 5px;
}

div#ez-toc-container ul li {
	border-bottom: 1px solid var(--gray);
	font-size: var(--font-em);
}

.ez-toc-link {
	padding: 0;
}

div#ez-toc-container ul li:last-child {
	border: none;
}

/*+++++++++++++++
breadcrumb
++++++++++++++++*/
.breadcrumb {
	max-width: var(--width-large) !important;
	padding: 0;
	bottom: 0;
	right: 0;
}

.breadcrumb ul {
	justify-content: left;
	align-items: center;
	display: flex;
}

.breadcrumb li {
	position: relative;
	padding: 3px 20px 0 0 !important;
	font-weight: 400;
	display: flex;
	color: var(--darkgray);
	align-items: center;
}

.breadcrumb li:before {
	content: "\f054";
	font-family: "Font Awesome 5 Free";
	font-weight: 600;
	font-size: 8px;
	position: absolute;
	top: 0;
	right: 8px;
	bottom: 0;
	margin: auto;
	line-height: 1;
	height: 3px;
}

.breadcrumb li:last-child:before {
	display: none;
}

.breadcrumb li,
.breadcrumb li:last-child {
	font-size: var(--font-mc);
}

.breadcrumb.inner i {
	font-size: 11px;
	margin: 2px 0 0;
	display: block;
}

/*+++++++++++++++
table
++++++++++++++++*/
.wp-block-table table,
.wp-block-table tbody {
	border: 1px solid var(--gray);
}

.wp-block-table thead {
	border: 1px solid var(--gray);
}

.wp-block-table thead th {
	border: 1px solid var(--gray);
	text-align: center;
}

.wp-block-table table tr:first-child {
	border-top: 1px solid var(--gray);
}

.wp-block-table table tr:nth-child(odd) {
	border-bottom: 1px solid var(--gray);
}

.wp-block-table table th {
	/* border: none; */
	background: var(--lightgray);
	border: none;
	width: var(--flex-30);
	border-bottom: 1px solid var(--gray);
	padding: 10px 20px;
	font-size: var(--font-h6);
}

.wp-block-table table td {
	border: 1px solid var(--gray);
	font-size: var(--font-h6);
	padding: 10px;
	line-height: var(--lh-md);
}




@media screen and (min-width: 1024px) {

	.template p,
	.wp-block-table table td {
		font-size: inherit;
	}

	/*++++++++++++++
目次
++++++++++++++*/
	/**/
	#ez-toc-container {
		margin: 0 0 50px;
	}

	#ez-toc-container a:visited {
		/* text-decoration: none !important; */
		/* color: #0071C5 !important; */
	}

	#ez-toc-container a:hover {
		text-decoration: none !important;
	}

	.ez-toc-title-container {
		display: none !important;
	}

	#ez-toc-container .ez-toc-list-level-6 {
		margin: 0 0 0 5px;
	}

	#ez-toc-container .ez-toc-link.ez-toc-heading-1 {
		margin: 0;
	}

	#ez-toc-container .ez-toc-list-level-4,
	#ez-toc-container .ez-toc-list-level-5 {
		margin: 0 0 0 15px;
	}

	#ez-toc-container li a::before {
		/* content:"・"; */
		list-style-type: none;
	}

	#ez-toc-container a.ez-toc-heading-2 {
		/* margin: 0 0 5px; */
	}

	#ez-toc-container a.ez-toc-heading-3 {
		/* margin: 0 0 5px; */
	}

	#ez-toc-container a.ez-toc-heading-4 {}

	#ez-toc-container a.ez-toc-heading-6 {
		margin: 0 0 5px;
	}

	div#ez-toc-container ul li {}

	.ez-toc-link {
		padding: 0;
	}

	div#ez-toc-container ul li:last-child {
		border: none;
	}


	aside {
		position: sticky;
		position: -webkit-sticky;
		top: 100px;
		z-index: 10;
	}

	.has-small-font-size {
		font-size: var(--font-h6);
	}

	.has-medium-font-size {
		font-size: var(--font-h4);
	}

	.has-large-font-size {
		font-size: var(--font-h3);
	}

	.has-x-large-font-size {
		font-size: var(--font-h2);
	}

	.has-xx-large-font-size {
		font-size: var(--font-h1);
	}

	.template p {}

	.template h1 {
		font-size: var(--font-h1);
	}

	.template h2 {
		padding: 18px 20px 20px 30px;
		margin: 0 0 40px;
		font-size: var(--font-h3);
	}

	.template h2:before {
		content: "";
		background: var(--white);
		width: 4px;
		height: 40%;
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		left: 2%;
	}

	.template h3 {
		font-size: var(--font-h3);
		/* border-top: 1px solid var(--gray); */
		border-bottom: 1px solid var(--gray);
		padding: 15px 0 15px 15px;
		margin: 0 0 30px;
		color: var(--navy);
		font-weight: var(--wght-500);
		position: relative;
		letter-spacing: 2px;
	}

	.template h3:before {
		content: "";
		background: var(--navy);
		width: 100px;
		position: absolute;
		bottom: -1px;
		height: 1px;
		left: 0;
	}

	.template h3:after {
		content: "";
		background: var(--navy);
		width: 3px;
		position: absolute;
		bottom: 0;
		height: 40%;
		top: 0;
		margin: auto;
		left: 0;
	}


	.template h5 {
		color: var(--navy);
		font-weight: var(--wght-500);
		font-size: var(--font-h5);
		margin: 0 0 5px;
	}

	.templatebox {
		grid-template-columns: 25% 70%;
	}


}