/*-----------------------------------------------------	*/
/* WordPress Native CSS
/*-----------------------------------------------------	*/

.aligncenter {
	display: block;
	margin: 0px auto;
}

.alignleft {
	display: block;
	float: left;
	margin-bottom: 16px;
	margin-right: 16px;
}

.alignnone {
	display: block;
	margin: 0px auto;
}

.alignright {
	display: block;
	float: right;
	margin-bottom: 16px;
	margin-left: 16px;
}

.bypostauthor article.comment-body {
	background: #efefef;
	padding: 8px 16px;
}

.gallery-caption {
	text-align: center;
}

.sticky {}

.screen-reader-text {}

.wp-caption {
	text-align: center;
	width: auto !important;
}

.wp-caption-text {
	font-size: 0.75rem;
}

.clearfix {
	display: block;
}

.clearfix::after {
	clear: both;
	content: "";
	display: block;
}

.clearfix:before {
	clear: both;
	content: "";
	display: block;
}

/*-----------------------------------------------------	*/
/* All
/*-----------------------------------------------------	*/

* {
	box-sizing: border-box;
}

body {
	background-color: #ffffff;
	color: #000000;
	font-family: "Arial", "Yu Gothic", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
	font-size: 0.875rem;
}

a {
	color: #00a7ea;
}

a:hover {
	opacity: 0.75;
	text-decoration: none;
}

a:hover img {
	opacity: 0.75;
}

div.flex-container {
	margin: 0px auto;
	margin-bottom: 32px;
}

body.sidebar div.flex-container {
	display: flex;
	gap: 0px 32px;
	justify-content: center;
	padding: 0px 32px;
}

body.sidebar-left div.flex-container {
	flex-direction: row-reverse;
}

body.sidebar-right div.flex-container {
	flex-direction: row;
}

/*-----------------------------------------------------	*/
/* Admin Bar
/*-----------------------------------------------------	*/

body.admin-bar header {
	top: 32px;
}

body.admin-bar header div.overlay {
	padding: 96px 24px 16px 24px;
}

@media screen and (max-width: 782px) {

	body.admin-bar header {
		top: 46px;
	}

	body.admin-bar header div.overlay {
		padding: 110px 15px 15px 15px;
	}

}

/*-----------------------------------------------------	*/
/* Header
/*-----------------------------------------------------	*/

header {
	background: rgba(0, 0, 0, 0.8);
	font-size: 0.75rem;
	position: fixed;
	top: 0px;
	width: 100%;
	z-index: 1;
}

header nav ul {
	display: flex;
}

header nav ul li {
	align-items: center;
	display: flex;
	font-weight: bold;
	margin: 0px 8px 0px 0px;
	min-height: 63px;
}

header nav ul li:last-child {
	margin: 0px 64px 0px 0px;
}

header nav ul li a {
	color: #ffffff;
	display: block;
	text-decoration: none;
}

header nav ul li a::before {
	color: #ffffff;
	content: "\f054";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin: 0px 4px 0px 0px;
	position: relative;
}

header nav ul li.logo {
	margin-right: auto;
}

header nav ul li.logo a {
	padding: 16px;
}

header nav ul li.logo a::before {
	content: none;
}

header nav ul li.logo a img {
	max-height: 30px;
	width: auto;
}

header div.menu-btn {
	display: table;
	font-size: 2.0rem;
	position: absolute;
	right: 8px;
	top: 10px;
	z-index: 999;
}

header div.menu-btn button.btn-open,
header div.menu-btn button.btn-close {
	background: none;
	border: none;
	cursor: pointer;
	display: block;
	font-size: 32px;
	margin: 0px 8px;
	padding: 0px;
	text-align: center;
	text-decoration: none;
}

header div.menu-btn button.btn-open {
	color: #ffffff;
}

header div.menu-btn button.btn-open::before {
	content: "\f0c9";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}

header div.menu-btn button.btn-close {
	color: #ffffff;
}

header div.menu-btn button.btn-close::before {
	content: "\f00d";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}

header div.menu-btn button.btn-open:hover,
header div.menu-btn button.btn-close:hover {
	opacity: 0.75;
}

header div.menu-btn button.btn-open span,
header div.menu-btn button.btn-close span {
	display: block;
	font-size: 0.5rem;
	position: relative;
}

header div.menu-btn ul.lang {
	display: table-cell;
	font-size: 0rem;
	text-align: center;
	vertical-align: middle;
}

header div.menu-btn ul.lang li {
	background: #f5f5f5;
	color: #c0c0c0;
	display: contents;
	font-size: 0.5rem;
	padding: 8px;
}

header div.menu-btn ul.lang a {
	color: #ffffff;
	text-decoration: none;
}

header.jp div.menu-btn ul.lang li.en,
header.en div.menu-btn ul.lang li.jp {
	padding: 0px;
}

header.jp div.menu-btn ul.lang li.en a,
header.en div.menu-btn ul.lang li.jp a {
	background: #000000;
	padding: 5px 8px 6px 8px;
}

header.jp div.menu-btn ul.lang li.en a:hover,
header.en div.menu-btn ul.lang li.jp a:hover {
	opacity: 0.75;
}

header div.overlay {
	background: #333333;
	display: none;
	height: 100%;
	overflow: auto;
	padding: 64px 15px 15px 15px;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 99;
}

/* Overlay Header */


body.overlay-header header {
	background: none;
}

body.overlay-header header.fade-in {
	background: rgba(0,0,0,0.8);
	transition: 0.25s;
}

body.overlay-header header.fade-out {
	background: linear-gradient(rgba(0,0,0,0.3),rgba(0,0,0,0));
	transition: 0.25s;
}

/*-----------------------------------------------------	*/
/* Main Visual & Visual
/*-----------------------------------------------------	*/

section.main-visual {
	margin-top: 63px;
}

section.main-visual,
main section.visual {
	display: block;
	position: relative;
	padding: 0px;
}

body.home.blog.paged section.main-visual,
body.single-post section.main-visual,
body.page section.main-visual,
body.archive section.main-visual,
body.search section.main-visual,
body.error404 section.main-visual {
	min-height: calc(50vh);
	min-height: calc(var(--vh, 1vh) * 50);
}

body.home section.main-visual,
main section.visual {
	min-height: calc(100vh - 63px);
	min-height: calc(var(--vh, 1vh) * 100 - 63px);
}

/* Overlay Header ------------------------------------- */

body.overlay-header section.main-visual {
	margin-top: 0px;
}

body.overlay-header.home.blog.paged section.main-visual,
body.overlay-header.single-post section.main-visual,
body.overlay-header.page section.main-visual,
body.overlay-header.archive section.main-visual,
body.overlay-header.search section.main-visual,
body.overlay-header.error404 section.main-visual {
	min-height: calc(50vh);
	min-height: calc(var(--vh, 1vh) * 50);
}

body.overlay-header.home section.main-visual {
	min-height: calc(100vh);
	min-height: calc(var(--vh, 1vh) * 100);
}

/* Admin Bar ------------------------------------------ */

body.admin-bar.home.blog.paged section.main-visual,
body.admin-bar.single-post section.main-visual,
body.admin-bar.page section.main-visual,
body.admin-bar.archive section.main-visual,
body.admin-bar.search section.main-visual,
body.admin-bar.error404 section.main-visual {
	min-height: calc(50vh - 32px);
	min-height: calc(var(--vh, 1vh) * 50 - 32px);
}

body.admin-bar.home section.main-visual {
	min-height: calc(100vh - 63px - 32px);
	min-height: calc(var(--vh, 1vh) * 100 - 63px - 32px);
}

@media screen and (max-width: 782px) {

	body.admin-bar.home.blog.paged section.main-visual,
	body.admin-bar.single-post section.main-visual,
	body.admin-bar.page section.main-visual,
	body.admin-bar.archive section.main-visual,
	body.admin-bar.search section.main-visual,
	body.admin-bar.error404 section.main-visual {
		min-height: calc(50vh - 46px);
		min-height: calc(var(--vh, 1vh) * 50 - 46px);
	}

	body.admin-bar.home section.main-visual {
		min-height: calc(100vh - 63px - 46px);
		min-height: calc(var(--vh, 1vh) * 100 - 63px - 46px);
	}

}

/* Overlay Header + Admin Bar ------------------------- */

body.overlay-header.admin-bar.home.blog.paged section.main-visual,
body.overlay-header.admin-bar.single-post section.main-visual,
body.overlay-header.admin-bar.page section.main-visual,
body.overlay-header.admin-bar.archive section.main-visual,
body.overlay-header.admin-bar.search section.main-visual,
body.overlay-header.admin-bar.error404 section.main-visual {
	min-height: calc(50vh - 32px);
	min-height: calc(var(--vh, 1vh) * 50 - 32px);
}

body.overlay-header.admin-bar.home section.main-visual {
	min-height: calc(100vh - 32px);
	min-height: calc(var(--vh, 1vh) * 100 - 32px);
}

@media screen and (max-width: 782px) {

	body.overlay-header.admin-bar.home.blog.paged section.main-visual,
	body.overlay-header.admin-bar.single-post section.main-visual,
	body.overlay-header.admin-bar.page section.main-visual,
	body.overlay-header.admin-bar.archive section.main-visual,
	body.overlay-header.admin-bar.search section.main-visual,
	body.overlay-header.admin-bar.error404 section.main-visual {
		min-height: calc(50vh - 46px);
		min-height: calc(var(--vh, 1vh) * 50 - 46px);
	}

	body.overlay-header.admin-bar.home section.main-visual {
		min-height: calc(100vh - 46px);
		min-height: calc(var(--vh, 1vh) * 100 - 46px);
	}

}

/* Catch Copy ----------------------------------------- */

section.main-visual div.catch-copy,
main section.visual div.catch-copy {
	color: #ffffff;
	left: 50%;
	line-height: 1.5;
	padding: 0px 32px;
	position: absolute;
	text-align: center;
	transform: translateY(-50%) translateX(-50%);
	width: 100%;
}

body.single-post section.main-visual div.catch-copy,
body.page section.main-visual div.catch-copy,
body.page-child section.main-visual div.catch-copy,
body.archive section.main-visual div.catch-copy,
body.search section.main-visual div.catch-copy,
body.error404 section.main-visual div.catch-copy {
	top: calc(50%);
}

body.home section.main-visual div.catch-copy,
main section.visual div.catch-copy {
	top: 50%;
}

section.main-visual div.catch-copy h1,
section.main-visual div.catch-copy p.title,
main section.visual div.catch-copy p.title {
	font-size: clamp(24px, 4.98vw, 64px);
}

section.main-visual div.catch-copy h1 {
	text-align: center;
	text-shadow: 1px 2px 10px #808080;
	word-wrap: break-word;
	-ms-word-wrap: break-word;
}

section.main-visual div.catch-copy p.title,
main section.visual div.catch-copy p.title {
	font-weight: bold;
	line-height: 1.0;
	margin-bottom: 16px;
	text-shadow: 1px 2px 10px #808080;
}

section.main-visual div.catch-copy p.txt,
main section.visual div.catch-copy p.txt {
	font-size: 0.75rem;
	text-shadow: 1px 2px 10px #808080;
}

section.main-visual div.catch-copy ul.btn,
main section.visual div.catch-copy ul.btn {
	margin-bottom: 0px;
	margin-top: 16px;
}

/* Meta Data ------------------------------------------ */

ul.metadata {
	line-height: 1.5;
	margin-top: 8px;
	text-shadow: 1px 2px 10px #808080;
	word-wrap: break-word;
}

ul.metadata li {
	display: inline;
	margin: 0px 8px 0px 0px;
}

ul.metadata li:last-child {
	margin: 0px;
}

ul.metadata li i {
	margin: 0px 4px 0px 0px;
}

ul.metadata li ul {
	display: inline;
}

ul.metadata li ul li a {
	color: #ffffff;
	text-decoration: none;
}

/*-----------------------------------------------------	*/
/* Breadcrumb
/*-----------------------------------------------------	*/

section.breadcrumb {
	font-size: 0.75rem;
	padding: 10px 24px;
}

section.breadcrumb ul {
	list-style-type: none;
}

section.breadcrumb ul li {
	display: inline;
}

section.breadcrumb ul li::after {
	content: "\f054";
	font-family: "Font Awesome 5 Free";
	font-size: 0.625rem;
	font-weight: 900;
	margin: 0px 0px 0px 8px;
}

section.breadcrumb ul li:last-child {
	color: #555555;
	margin: 0px 0px 0px 8px;
}

section.breadcrumb ul li:last-child::after {
	content: none;
}

section.breadcrumb ul li a {
	color: #000000;
	padding: 8px;
	text-decoration: none;
}

section.breadcrumb ul li br {
	display: none;
}

/*-----------------------------------------------------	*/
/* Main
/*-----------------------------------------------------	*/

main {
	flex-basis: 100%;
	line-height: 2.0;
}

main section.table-of-contents {
	background: #f8f8f8;
	margin: 64px 0px 0px 0px;
}

main section.table-of-contents div {
	font-size: 1.25rem;
	margin: 0px auto;
	text-align: center;
}

main section.table-of-contents ol {
	counter-reset: count 0;;
	list-style-type: none;
	margin: 0px auto;
}

main section.table-of-contents ol > li {
	margin: 16px 0px 16px 0px;
}

main section.table-of-contents ol li:before {
	counter-increment : count 1;
	content : '― ' counters( count, '-' ) '. ';
}

main section.table-of-contents ol li a {
	color: #000000;
	padding: 8px;
	text-decoration: none;
}

main section.table-of-contents ol li ol {
	margin: 0px 0px 0px 25px;
}

main section.table-of-contents ol li ol > li {
	padding: 0%;
}

main section {
	padding: 64px 32px;
}

main section.content > * {
	margin-bottom: 32px;
}

main section.content > *:last-child {
	margin-bottom: 0px !important;
}

main section.content ul.linkpages {
	list-style-type: none;
	text-align: center;
}

main section.content ul.linkpages li {
	display: inline-block;
	margin: 0px 16px;
}

main section.content ul.linkpages li a {
	display: block;
}

main section.content ul.linkpages li a i {
	margin: 0px 4px;
}

main section.post-navigation {
	padding-bottom: 0px;
}

main section.post-navigation ul {
	align-items: center;
	border-bottom: 1px solid #d9d9d9;
	border-top: 1px solid #d9d9d9;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	line-height: 1.5;
	list-style-type: none;
	padding: 16px 0px;
}

main section.post-navigation ul li {
	width: 50%;
	word-break: break-word;
}

main section.post-navigation ul li.next {
	text-align: right;
}

main section.post-navigation ul li a {
	display: inline-block;
	position: relative;
}

main section.post-navigation ul li.prev a {
	padding-left: 16px;
}

main section.post-navigation ul li.next a {
	padding-right: 16px;
}

main section.post-navigation ul li.prev a::before {
	content: '\f104';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	left: 0px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

main section.post-navigation ul li.next a::after {
	content: '\f105';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	right: 0px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

main section.author {
	padding: 50px 32px 64px 32px;
}

main section.author span {
	background: #231815;
	color: #ffffff;
	display: inline-block;
	padding: 0px 18px;
	position: relative;
	top: 14px;
}

main section.author ul {
	list-style-type: none;
	text-align: center;
}

main section.author ul li a {
	color: #000000;
	display: block;
	text-decoration: none;
}

main section.author > ul {
	background: #efefef;
	display: flex;
	flex-direction: column;
	padding: 32px;
}

main section.author > ul li {
	margin: 0px;
}

main section.author > ul li img {
	border-radius: 50%;
}

main section.loop-relation-category,
main section.loop-relation-tag,
main section.loop-relation-taxonomy {
	padding: 0px 32px;
}

main section.loop-relation-category h2 i,
main section.loop-relation-tag h2 i,
main section.loop-relation-taxonomy h2 i {
	margin-right: 4px;
}

main section.loop-relation-tag h2 ul,
main section.loop-relation-taxonomy h2 ul {
	display: inline;
	list-style-type: none;
}

main section.loop-relation-tag h2 ul li,
main section.loop-relation-taxonomy h2 ul li {
	display: inline;
}

main section.loop-relation-tag h2 ul li::after,
main section.loop-relation-taxonomy h2 ul li::after {
	content: "・";
}

main section.loop-relation-tag h2 ul li:last-child::after,
main section.loop-relation-taxonomy h2 ul li:last-child::after {
	content: none;
}

main section div.relation-list {
	margin: 0px auto;
	margin-bottom: 64px;
}

main section div.relation-card {
	margin: 0px auto;
	margin-bottom: 48px;
}

main section div.relation-list ul {
	margin: 0px;
}

main section div.relation-card ul {
	font-size: 0rem;
	margin: 0px -8px;
}

main section div.relation-list ul li,
main section div.relation-card ul li {
	list-style-type: none;
}

main section div.relation-list ul li {
	border-top: 1px solid #d9d9d9;
	margin: 0px;
	padding: 16px 8px;
}

main section div.relation-list ul li:last-child {
	border-bottom: 1px solid #d9d9d9;
}

main section div.relation-list ul li article span.category {
	display: inline-block;
	margin: 0px 8px 0px 0px;
}

main section div.relation-list ul li article span.category a {
	background: rgba(4, 4, 4, 0.8);
	border-radius: 2px;
	display: block;
	font-size: 0.625rem;
	padding: 8px;
	text-align: center;
	width: 85px;
}

main section div.relation-list ul li article span.category a,
main section div.relation-card ul li article span.category a {
	color: #ffffff;
}

main section div.relation-list ul li article a,
main section div.relation-card ul li article a {
	color: #000000;
	position: relative;
	text-decoration: none;
}

main section div.relation-card ul li article a,
main section div.relation-card ul li article a picture {
	display: block;
}

main section div.relation-list ul li article a picture {
	display: none;
}

main section div.relation-list ul li article a ul.metadata {
	display: inline-block;
	font-size: 0.625rem;
	margin: 0px;
	min-width: 96px;
	text-shadow: none;
	vertical-align: middle;
	width: auto;
}

main section div.relation-list ul li article a ul.metadata li {
	border: none;
	display: block;
	margin: 0px;
	padding: 0px;
}

main section div.relation-list ul li article a span.title {
	display: inline;
	line-height: 1.5;
}

main section div.relation-list ul li article a span.title br,
main section div.relation-card ul li article a span.title br {
	display: none;
}

main section div.relation-list ul li article a p,
main section div.relation-card ul li article a p {
	font-size: 0.75rem;
	line-height: 1.5;
	margin-top: 4px;
}

main section div.relation-card ul li {
	display: inline-block;
	margin: 0px 8px 16px 8px;
	vertical-align: top;
	width: calc(100% / 3 - 16px);
}

main section div.relation-card ul li article {
	position: relative;
	z-index: 0;
}

main section div.relation-card ul li article span.category {
	position: absolute;
	z-index: 1;
}

main section div.relation-card ul li article span.category a {
	background: rgba(4, 4, 4, 0.8);
	font-size: 0.625rem;
	padding: 4px 16px;
}

main section div.relation-card ul li article a picture {
	position: relative;
	width: 100%;
}

main section div.relation-card ul li article a picture::before {
	content:"";
	display: block;
	padding-top: 70%;
}

main section div.relation-card ul li article a picture img {
	height: 100%;
	left: 0;
	object-fit: cover;
	position: absolute;
	top: 0;
	width: 100%;
}

main section div.relation-card ul li article a ul.metadata {
	margin: 0px;
	text-shadow: none;
	width: auto;
}

main section div.relation-card ul li article a ul.metadata li {
	color: #666666;
	font-size: 0.625rem;
	margin: 8px 8px 0px 0px;
	width: auto;
}

main section div.relation-card ul li article a span.title {
	display: block;
	font-size: 0.875rem;
	line-height: 1.5;
	word-wrap: break-word;
}

main section ul.page-numbers {
	display: block;
	font-size: 0rem;
	text-align: center;
}

main section ul.page-numbers li {
	font-size: 1.0rem;
	display: inline-block;
	margin: 4px;
	width: auto;
}

main section ul.page-numbers li a,
main section ul.page-numbers li span {
	color: #ffffff;
	display: block;
	line-height: 48px;
	width: 48px;
}

main section ul.page-numbers li a {
	background: #cccccc;
	text-decoration: none;
}

main section ul.page-numbers li span {
	background: #999999;
}

main section ul.page-numbers li span.dots {
	background: #cccccc;
}

div.wpcf7 { background:#fafafa; border:1px solid #ddd; padding:5vh 5vw; margin:5vh auto 30px auto; box-sizing: border-box; }
div.wpcf7 { max-width: 680px; }
div.wpcf7 p { padding:20px 20px 0; margin:0; font-size:11px; }
div.wpcf7 input, .wpcf7 textarea { border:1px solid #ccc; padding:8px; font-size:14px; }
div.wpcf7 textarea { width:97.5%; height:300px; }
div.wpcf7 input.wpcf7-submit { cursor:pointer; color:#fff; font-weight:bold; font-size:14px; width:200px; height:45px; margin:0 auto; display:block; -moz-border-radius:5px; -khtml-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; background:#333; box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.5), inset 0px 32px 0px -12px #808080; border:1px solid #666; }
div.wpcf7 input.wpcf7-submit:hover { background:#006080; box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.5), inset 0px 32px 0px -12px #007ea8; border:1px solid #006080; }
.wpcf7 input.wpcf7-submit:active { box-shadow:none; bottom:-2px; position:relative; }
.wpcf7 input:focus, .wpcf7 textarea:focus { border:1px solid #009de1; }
.wpcf7-captchac { border:1px solid #ccc; }
.wpcf7 .wpcf7-not-valid { background: #ffb6c1; }
.wpcf7 span.wpcf7-not-valid-tip { font-size: 80%; }
.wpcf7 .wpcf7-response-output { margin: 10px 0 0; padding: 8px 35px 8px 14px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
.wpcf7 .wpcf7-validation-errors { color: #B94A48; background-color: #F2DEDE; border: 1px solid #EED3D7; }
.wpcf7 .wpcf7-mail-sent-ok { color: #3A87AD; background-color: #D9EDF7; border: 1px solid #BCE8F1; }
.wpcf7 .required { color: #f00;}
.wpcf7 .any{ color: #080;}
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="url"], .wpcf7 input[type="password"], .wpcf7 textarea { padding: 8px; width: 100%; line-height: 1.6; border: 1px solid #ddd; -moz-box-sizing: border-box; box-sizing: border-box; }

/* Markup html tags and formatting -------------------- */

main section h1,
main section h2 {
	font-size: clamp(24px, 3.28vw, 36px);
	margin-bottom: 96px !important;
	position: relative;
	text-align: center;
}

main section h1::after,
main section h2::after {
	background: #000;
	border-radius: 3px;
	bottom: -32px;
	content: '';
	height: 2px;
	left: calc(50% - 50px);
	position: absolute;
	width: 100px;
}

main section h1 span,
main section h2 span {
	color: #00a7ea;
	display: block;
	font-size: 1.0rem;
	margin-bottom: 8px;
}

main section.content h3 {
	font-size: clamp(18px, 2.32vw, 24px);
	text-align: center;
}

main section.content h4,
main section.content h5,
main section.content h6 {
	font-size: 1.0rem;
	text-align: center;
}

main section.content blockquote {
	background: #efefef;
	border-left: 0.25em solid;
	box-sizing: border-box;
	font-style: italic;
	padding: 48px 16px 16px 16px;
	position: relative;
}

main section.content blockquote:before {
	color: #ddd;
	content: "\f10d";
	font-family: "Font Awesome 5 Free";
	font-size: 1.75rem;
	font-weight: 900;
	left: 16px;
	line-height: 1.0;
	position: absolute;
	top: 16px;
}

main section.content blockquote p {
	margin: 0px 0px 16px 0px;
}

main section.content blockquote cite {
	display: block;
	font-size: 0.75rem;
	text-align: right;
}

main section.content div.gallery {
	background: #efefef;
	font-size: 0rem;
	padding: 32px;
}

main section.content div.gallery figure.gallery-item {
	display: inline-block;
	margin: 4px;
	text-align: center;
	vertical-align: top;
	width: calc(25% - 8px);
}

main section.content div.gallery figure.gallery-item div.gallery-icon a {
	display: inline-block;
}

main section.content div.gallery figure.gallery-item div.gallery-icon a img {
	height: auto;
	width: 100%;
}

main section.content div.gallery figure.gallery-item figcaption {
	line-height: 1.5;
}

main section.content code {
	background: #f0f0f0;
	font-size: 0.875rem;
	padding: 2px;
}

main section.content table {
	border-collapse: separate;
	border-spacing: 2px;
	display: block;
	overflow-x: auto;
	white-space: nowrap;
}

main section.content table thead {
	background: #efefef;
}

main section.content table tbody {
	background: #f8f8f8;
	-webkit-text-size-adjust: 100%;
}

main section.content table thead tr th,
main section.content table thead tr td,
main section.content table tbody tr th,
main section.content table tbody tr td {
	padding: 4px 16px;
}

main section.content dl {
	border: 1px solid;
	border-bottom: none;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
}

main section.content dl dt,
main section.content dl dd {
	border-bottom: 1px solid;
	box-sizing: border-box;
	padding: 8px;
}

main section.content dl dt {
	background: #efefef;
	width: 100%;
}

main section.content dl dd {
	background: #f8f8f8;
	width: 100%;
}

main section.content ul,
main section.content ol {
	margin: 0px 0px 32px -16px;
}

main section.content ul li,
main section.content ol li {
	margin: 16px 0px 16px 32px;
}

main section.content ul li ul,
main section.content ol li ol {
	margin-bottom: 0px;
}

main section.content pre {
	white-space: pre-wrap;
}

main section.content sub {
	font-size: smaller;
	vertical-align: sub;
}

main section.content sup {
	font-size: smaller;
	vertical-align: super;
}

main section.content iframe {
	aspect-ratio: 16 / 9;
	height:100%;
	width: 100%;
}

/* Block Editor --------------------------------------- */

/*-----------------------------------------------------	*/
/* Sidebar
/*-----------------------------------------------------	*/

aside#sidebar {
	flex-basis: 300px;
	flex-shrink: 0;
	line-height: 2.0;
	padding: 64px 0px 0px 0px;
}

aside#sidebar > * {
	margin-bottom: 32px;
}

aside#sidebar > *:last-child {
	margin-bottom: 0px !important;
}

aside#sidebar h2 {
	font-size: 18px;
	margin-bottom: 32px !important;
	position: relative;
	text-align: center;
}

aside#sidebar h2::after {
	background: #000;
	border-radius: 3px;
	bottom: -16px;
	content: '';
	height: 2px;
	left: calc(50% - 50px);
	position: absolute;
	width: 100px;
}

aside#sidebar ul,
aside#sidebar ol {
	list-style: revert;
	margin: 0px 0px 32px -16px;
}

aside#sidebar ul li,
aside#sidebar ol li {
	margin: 8px 0px 8px 32px;
}

aside#sidebar ul li ul,
aside#sidebar ol li ol {
	margin-bottom: 0px;
}

/*-----------------------------------------------------	*/
/* Footer
/*-----------------------------------------------------	*/

footer {
	background: #333333;
	color: #ffffff;
	padding: 24px 24px 16px 24px;
}

footer #page-top {
	background: rgba(0, 0, 0, 0.85);
	bottom: 0px;
	display: none;
	height: 48px;
	position: fixed;
	right: 0px;
	width: 48px;
}

footer #page-top a {
	display: block;
	position: relative;
	text-decoration: none;
	height: 50px;
	width: 50px;
}

footer #page-top a::after {
	color: #ffffff;
	content: "\f062";
	font-family: "Font Awesome 5 Free";
	font-size: 1.5rem;
	font-weight: 900;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%) translateX(-50%);
}

/*-----------------------------------------------------	*/
/* Menu All
/*-----------------------------------------------------	*/

.menu-all div.container {
	margin: 0px auto;
	max-width: 1280px;
}

.menu-all div.container a:hover {
	opacity: 0.75;
}

.menu-all div.container ul {
	background: #2c2c2c;
	font-size: 0rem;
	padding: 8px;
}

.menu-all div.container ul li {
	display: inline-block;
	font-size: 0.75rem;
	vertical-align: top;
	width: 25%;
}

.menu-all div.container ul li a {
	color: #ffffff;
	display: inline-block;
	margin: 8px;
	text-decoration: none;
}
.menu-all div.container div.wrapper {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.menu-all div.container div.wrapper ul {
	background: none;
	font-size: 0rem;
	padding: 0px;
	width: 100%;
}

.menu-all div.container div.wrapper ul li {
	display: inline-block;
	font-size: 0.75rem;
	text-align: center;
	vertical-align: top;
	width: calc(25% - 16px);
}

.menu-all div.container div.wrapper ul li a {
	background: #494949;
	color: #ffffff;
	display: block;
	padding: 8px 16px;
	text-decoration: none;
}

.menu-all div.container div.wrapper div.left,
.menu-all div.container div.wrapper div.right {
	padding: 8px 0px;
}

.menu-all div.container div.wrapper div.left div,
.menu-all div.container div.wrapper div.left ul,
.menu-all div.container div.wrapper div.left span {
	display: inline-block;
	vertical-align: middle;
}

.menu-all div.container div.wrapper div.left ul,
.menu-all div.container div.wrapper div.left ul li,
.menu-all div.container div.wrapper div.right ul,
.menu-all div.container div.wrapper div.right ul li {
	width: auto;
}

.menu-all div.container div.wrapper div.left div.logo a {
	display: inline-block;
}

.menu-all div.container div.wrapper div.left div.logo a img {
	max-height: 30px;
	width: auto;
}

.menu-all div.container div.wrapper div.right {
	margin-right: 64px;
	text-align: right;
}


.menu-all div.container div.wrapper div.right ul li {
	margin: 8px;
}

.menu-all div.container div.wrapper div.right ul li:last-child {
	margin-right: 0px;
}

.menu-all div.container div.wrapper div.right ul li a {
	background: none;
	margin: 0px;
	padding: 0px;
}

.menu-all div.container div.wrapper div.right small {
	color: #ffffff;
	font-size: 0.5rem;
}

.menu-all div.container div.wrapper div.right small a {
	color: #ffffff;
	text-decoration: none;
}

/*-----------------------------------------------------	*/
/* Floating CTA
/*-----------------------------------------------------	*/

div.floating-cta {
	align-items: center;
	background: #494949;
	bottom: 0px;
	display: flex;
	flex-direction: row;
	font-size: 0.75rem;
	gap: 8px;
	padding: 8px;
	position: fixed;
	right: 56px;
	height: 48px;
}

div.floating-cta div.left {
	color: #ffffff;
	font-weight: bold;
	text-align: center;
	text-shadow: 1px 1px #000000;
	width: calc(100% - 120px);
}

div.floating-cta div.right {
	width: 120px;
}

div.floating-cta div.right ul.btn {
	text-align: center;
}

div.floating-cta div.right ul.btn li {
	display: inline-block;
	width: 100%;
}

div.floating-cta div.right ul.btn li span a {
	background: #00a7ea;
	border-radius: 16px;
	color: #ffffff;
	display: block;
	padding: 4px 8px;
	text-decoration: none;
}

div.floating-cta div.right ul.btn li span a::before {
	color: #ffffff;
	content: "\f054";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	position: relative;
	margin: 0px 4px 0px 0px;
}

div.floating-cta div.right ul.btn li span a:hover {
	opacity: 0.75;
}

/*-----------------------------------------------------	*/
/* search
/*-----------------------------------------------------	*/

body.search main section p.search-no-results {
	text-align: center;
}

/*-----------------------------------------------------	*/
/* 404
/*-----------------------------------------------------	*/

body.error404 main section.lightgray {
	background: #f8f8f8;
}

body.error404 main section p {
	margin: 0px auto;
	max-width: 1024px;
	text-align: center;
	width: 100%;
}

body.error404 main section nav {
	margin: 0px auto;
	max-width: 1024px;
}

body.error404 main section nav ul {
	margin: 0px 32px;
	text-align: center;
}

body.error404 main section nav ul li {
	display: inline-block;
	margin: 8px 16px;
}

body.error404 main section nav ul li a {
	color: #000000;
	text-decoration: none;
}

body.error404 main section nav ul li a::before {
	content: "\f054";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin: 0px 4px 0px 0px;
	position: relative;
}