:root {
	--editor-block-gap: 3rem;
}

.single .entry-title {
	margin: 0;
}

.single .entry-content {
	color: var(--color-text-primary);
}

/* ==========================================================
gutenberg
=========================================================== */
.single-post .post-thumbnail {
	padding-top: 2.25rem;
}

.entry-content,
.entry-header {
	word-wrap: break-word;
}

.entry-content {
	font-family: var(--font-main);
}

/* キャプション統一
--------------------------------------------- */
.entry-content figcaption {
	font-size: 13px;
	line-height: 1.5em;
}

.entry-content .wp-element-caption::before,
.entry-content .wp-block-image figcaption::before,
.entry-content .blocks-gallery-caption::before,
.entry-content .wp-block-audio figcaption::before,
.entry-content .wp-block-embed figcaption::before,
.entry-content .wp-block-flexible-table-block-table figcaption::before {
	content: '\f0d8';
	font-family: var(--fontawesome);
	font-weight: 700;
	color: var(--color-primary);
	padding-right: .5em;
}

/* 見出し
--------------------------------------------- */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
	font-family: var(--font-main);
	margin: 0 0 2.25rem;
}

.entry-content h1:not(:first-child),
.entry-content h2:not(:first-child),
.entry-content h3:not(:first-child),
.entry-content h4:not(:first-child),
.entry-content h5:not(:first-child),
.entry-content h6:not(:first-child) {
	margin-top: 3.75rem;
}

.entry-content h1 {
	font-size: 2rem;
}

.entry-content h2 {
	font-size: 1.5rem;
	font-weight: 700;
	background: var(--border-color);
	background: var(--color-background-sub);
	color: var(--color-primary);
	padding: .5em;
	border-left: 5px solid var(--color-secondary);
	line-height: 1.75em;
}

.entry-content h3 {
	position: relative;
	font-size: 1.5rem;
	line-height: 1.75em;
	padding-bottom: .25em;
	border-bottom: 2px solid var(--border-color);
}

.entry-content h3::after {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 2px var(--color-secondary);
	bottom: -2px;
	width: 15%;
}

.entry-content h4 {
	font-size: 1.5rem;
	line-height: 1.75em;
	margin-bottom: 1.5rem;
}

.entry-content h5 {
	font-size: 1.25rem;
	line-height: 1.75em;
}

.entry-content h6 {
	font-size: 1rem;
}

/* 段落
--------------------------------------------- */
.entry-content p {
	line-height: 2em;
}

.entry-content p:not(:last-child) {
	margin-bottom: 1em;
}

/* テキストリンク
--------------------------------------------- */
.entry-content p a,
.entry-content h1 a,
.entry-content h2 a,
.entry-content h3 a,
.entry-content h4 a,
.entry-content h5 a,
.entry-content h6 a,
.entry-content ul li a,
.entry-content ol li a,
.entry-content tr a,
.entry-content cite a {
	display: inline;
	text-decoration: underline;
	text-decoration-color: var(--color-primary);
	text-decoration-skip-ink: none;
	transition: .2s;
}

.entry-content p a:hover,
.entry-content h1 a:hover,
.entry-content h2 a:hover,
.entry-content h3 a:hover,
.entry-content h4 a:hover,
.entry-content h5 a:hover,
.entry-content h6 a:hover,
.entry-content ul li a:hover,
.entry-content ol li a:hover,
.entry-content tr a:hover,
.entry-content cite a:hover {
	color: var(--color-primary);
}

/* リスト
--------------------------------------------- */
.entry-content ol,
.entry-content ul {
	margin: .75em 0;
	padding-left: 1.5em;
}

.entry-content ul li::marker,
.entry-content ol li::marker {
	color: var(--color-primary);
	font-weight: 700;
}

/* 引用
--------------------------------------------- */
.entry-content .wp-block-quote {
	margin: 2rem 0 2rem .25rem;
	padding-left: 1.25em;
	border-left: solid 4px var(--color-primary);
}

.entry-content .wp-block-quote cite {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-size: 1rem;
	font-style: normal;
}

.entry-content .wp-block-quote cite::before {
	content: '';
	display: block;
	width: 1.75em;
	margin-right: .5em;
	border-bottom: 1px solid var(--color-secondary);
}

/* プルクオート
--------------------------------------------- */
.entry-content .wp-block-pullquote {
	font-size: 1rem;
	line-height: 2em;
	text-align: left;
	margin-top: var(--editor-block-gap);
	margin-bottom: var(--editor-block-gap);
	padding: 0;
}

.entry-content .wp-block-pullquote blockquote {
	display: flex;
	flex-direction: column;
	background: var(--color-background-sub);
	margin: 0;
	padding: 1.25rem;
	border-radius: 4px;
}

.entry-content .wp-block-pullquote blockquote::before {
	content: "\f10d";
	font-family: var(--fontawesome);
	font-weight: 700;
	color: var(--color-primary);
	font-size: 2.75rem;
	margin-bottom: 1.25rem;
	text-align: left;
	line-height: 1em;
}

.entry-content .wp-block-pullquote blockquote cite {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	font-style: normal;
	font-size: .9em;
}

.entry-content .wp-block-pullquote blockquote cite::before {
	content: '';
	display: block;
	width: 1.75em;
	margin-right: .5em;
	border-bottom: 1px solid var(--color-secondary);
}

/* 整形済みテキスト
--------------------------------------------- */
.entry-content .wp-block-code {
	margin-top: var(--editor-block-gap);
	margin-bottom: var(--editor-block-gap);
}

/* 整形済みテキスト
--------------------------------------------- */
.entry-content .wp-block-preformatted {
	background: var(--color-background-sub);
	line-height: 2em;
	margin-top: var(--editor-block-gap);
	margin-bottom: var(--editor-block-gap);
}

/* 詩
--------------------------------------------- */
.entry-content .wp-block-verse {
	background: var(--color-background-sub);
	line-height: 2em;
	margin-top: var(--editor-block-gap);
	margin-bottom: var(--editor-block-gap);
	border-radius: 4px;
}

/* テーブル
--------------------------------------------- */
.entry-content .wp-block-table {
	margin: 2.25rem 0;
}

.entry-content .wp-block-table table {
	width: 100%;
	box-sizing: border-box;
	margin-bottom: 1em;
}

.entry-content .wp-block-table.is-style-stripes {
	border: none;
}

.entry-content .wp-block-table th,
.entry-content .wp-block-table td {
	padding: .25em;
	word-break: break-all;
	border-color: var(--color-secondary);
	box-sizing: border-box;
}

.entry-content .wp-block-table thead {
	background: var(--color-primary);
	color: var(--color-background);
	border-color: var(--color-secondary);
}

.entry-content .wp-block-table thead th {
	border-color: var(--color-secondary);
}

.entry-content .wp-block-table tfoot {
	background-color: var(--color-text-primary);
	color: var(--color-background);
	font-weight: 700;
}

.entry-content .wp-block-table tfoot td,
.entry-content .wp-block-table.is-style-stripes tfoot td {
	box-sizing: border-box;
}

.entry-content .wp-block-table.is-style-stripes tbody tr:nth-child(even) {
	background: var(--color-background-sub);
}

.entry-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background: transparent;
}

/* Flexible Table
--------------------------------------------- */
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tr th {
	background: var(--color-primary);
	color: var(--color-background);
}

.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tfoot tr td {
	background: #ddd;
}

.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th, .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td {
	border-color: var(--border-color);
}

.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.is-style-stripes tbody tr:nth-child(odd) td {
	background: var(--color-background-sub);
}


/* メディアギャラリー
--------------------------------------------- */
.entry-content .wp-block-gallery ul,
.entry-content .wp-block-gallery ol {
	padding: 0;
}

.entry-content .wp-block-gallery {
	margin-top: var(--editor-block-gap);
	margin-bottom: var(--editor-block-gap);
}

.entry-content .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	position: relative;
	flex: initial;
	color: var(--color-text-primary);
	background: initial;
}

@media screen and (max-width: 767px) {
	.entry-content .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
		width: 100%;
	}
}

/* 複数ページ
--------------------------------------------- */
.entry-content .page-links {
	font-weight: 700;
	background: var(--border-color);
	margin-top: 3.25rem;
	padding: .25rem .5rem;
	border-radius: 4px;
}

.entry-content .page-links .post-page-numbers {
	font-size: 1.25em;
}

.entry-content .page-links .post-page-numbers {
	margin: 0 .5em 0 .25em;
}

.entry-content .page-links a.post-page-numbers {
	color: var(--color-primary);
	font-weight: 700;
	transition: color .2s;
}

.entry-content .page-links .post-page-numbers.current {
	color: var(--color-text-primary);
}

.entry-content .page-links a.post-page-numbers:hover {
	color: var(--color-text-primary);
}

/* 動画
--------------------------------------------- */
.entry-content .wp-block-embed iframe {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}

/* ファイル
--------------------------------------------- */
.entry-content .wp-block-file {
	font-size: 1rem;
	background: var(--color-background-sub);
	margin-top: var(--editor-block-gap);
	margin-bottom: var(--editor-block-gap);
	padding: .75rem 1rem;
	border-radius: 4px;
}

.entry-content .wp-block-file a:not(.wp-block-file__button) {
	font-weight: 700;
}

.entry-content .wp-block-file a:not(.wp-block-file__button)::before {
	content: '\f15b';
	font-family: var(--fontawesome);
	font-weight: 400;
	padding-right: .5em;
}

.entry-content .wp-block-file a.wp-block-file__button {
	background: var(--color-text-primary);
	color: var(--color-background);
	padding: .25em .75em;
	text-decoration: none;
	border-radius: 8px;
}

.entry-content .wp-block-file a.wp-block-file__button::after {
	content: '\e053';
	font-family: var(--fontawesome);
	font-weight: 400;
	padding-left: .5em;
}

/* 画像
--------------------------------------------- */
.entry-content .wp-block-image {
	margin-top: var(--editor-block-gap);
	margin-bottom: var(--editor-block-gap);
}

/* ボタン
--------------------------------------------- */
.entry-content .wp-block-buttons {
	margin-top: var(--editor-block-gap);
	margin-bottom: var(--editor-block-gap);
}

.entry-content .wp-block-buttons .wp-block-button__link {
	transition: opacity .2s;
}

.entry-content .wp-block-buttons .wp-block-button__link:hover {
	opacity: .7;
}

/* 詳細(アコーディオン)
--------------------------------------------- */
.entry-content .wp-block-details {
	background: transparent;
	margin-top: var(--editor-block-gap);
	margin-bottom: var(--editor-block-gap);
	border: var(--border-dashed-primary);
	border-radius: 4px;
}

.entry-content .wp-block-details > * {
	padding-right: 1rem;
	padding-left: 1rem;
}

.entry-content .wp-block-details > *:nth-child(2) {
	margin-top: 1rem;
}

.entry-content .wp-block-details > *:last-child {
	padding-bottom: 1rem;
}

.entry-content .wp-block-details summary {
	color: var(--color-primary);
	font-weight: 700;
	padding: 1rem;
}

.entry-content .wp-block-details summary::before {
	content: '\f0da';
	display: inline-block;
	font-family: var(--fontawesome);
	font-weight: 700;
	color: var(--color-secondary);
	margin-right: .75em;
	transition: transform .2s;
}

.entry-content .wp-block-details summary:hover {
	background: var(--color-background-sub);
}

.entry-content .wp-block-details[open] summary::before {
	transform: rotate(90deg);
}

.entry-content summary::-webkit-details-marker {
	display: none;
}

@media screen and (min-width: 768px) {
	.entry-content .wp-block-details > * {
		padding-right: 2rem;
		padding-left: 2rem;
	}

	.entry-content .wp-block-details > *:last-child {
		padding-bottom: 2rem;
	}
}

/* AIOSEO - FAQ
--------------------------------------------- */
.entry-content .wp-block-aioseo-faq {
	margin-top: var(--editor-block-gap);
	margin-bottom: var(--editor-block-gap);
}

.entry-content .wp-block-aioseo-faq .aioseo-faq-block-question {
	font-size: 1rem;
	font-weight: 700;
	line-height: 2em;
	margin-bottom: 1rem;
	border: none;
}

.entry-content .wp-block-aioseo-faq .aioseo-faq-block-question::before {
	content: 'Q';
	display: inline-flex;
	justify-content: center;
	align-items: center;
	background: var(--color-primary);
	font-family: var(--font-accent);
	font-weight: 700;
	color: var(--color-background);
	width: 2rem;
	height: 2rem;
	line-height: 2rem;
	margin-right: .5rem;
	border: var(--border-solid-primary);
	border-radius: 50%;
}

.entry-content .wp-block-aioseo-faq .aioseo-faq-block-question::after {
	content: none;
}

.entry-content .wp-block-aioseo-faq .aioseo-faq-block-answer::before {
	content: 'A';
	display: inline-flex;
	justify-content: center;
	align-items: center;
	color: var(--color-secondary);
	font-family: var(--font-accent);
	font-weight: 700;
	width: 2em;
	height: 2em;
	margin-right: .5rem;
	border: 2px solid var(--color-secondary);
	border-radius: 50%;
}

.entry-content .wp-block-aioseo-faq .aioseo-faq-block-answer p {
	display: inline;
}

.entry-content div.pdfemb-viewer {
	margin-top: var(--editor-block-gap);
	margin-bottom: var(--editor-block-gap);
}