/*
----------------------------------------

post-styles

----------------------------------------
*/

.wp-block-image,
.wp-block-table,
.wp-block-embed,
.linkcard,
.wp-block-shortcode {
	margin-block-start: 2em;
	margin-block-end: 0;
}


/* heading
---------------------------------------- */

.post-styles h2.wp-block-heading,
.post-styles h3.wp-block-heading,
.post-styles h4.wp-block-heading,
.post-styles h5.wp-block-heading,
.post-styles h6.wp-block-heading,
.post-type-news.editor-styles-wrapper h2.wp-block-heading,
.post-type-news.editor-styles-wrapper h3.wp-block-heading,
.post-type-news.editor-styles-wrapper h4.wp-block-heading,
.post-type-news.editor-styles-wrapper h5.wp-block-heading,
.post-type-news.editor-styles-wrapper h6.wp-block-heading {
	font-family: var(--wp--preset--font-family--noto-sans-jp);
	font-weight: normal;
	margin-block-start: 2em;
}

.post-styles h2.wp-block-heading,
.post-type-news.editor-styles-wrapper h2.wp-block-heading {
	border-top: solid 2px var(--wp--preset--color--primary);
	border-bottom: solid 2px var(--wp--preset--color--primary);
	padding: .8em 0;
	font-size: var(--wp--preset--font-size--24-px);
	text-align: center;
}

.post-styles h3.wp-block-heading,
.post-type-news.editor-styles-wrapper h3.wp-block-heading {
	background: var(--wp--preset--color--light-gray);
	padding: .6em .8em;
	font-size: var(--wp--preset--font-size--24-px);
}

.post-styles h4.wp-block-heading,
.post-type-news.editor-styles-wrapper h4.wp-block-heading {
	border-left: solid 4px var(--wp--preset--color--primary);
	padding: .4em .8em;
	font-size: var(--wp--preset--font-size--20-px);
}

.post-styles h5.wp-block-heading,
.post-type-news.editor-styles-wrapper h5.wp-block-heading {
	padding-bottom: .6em;
	border-bottom: solid 1px var(--wp--preset--color--gray);
	font-size: var(--wp--preset--font-size--20-px);
}

.post-styles h6.wp-block-heading,
.post-type-news.editor-styles-wrapper h6.wp-block-heading {
	padding-left: 24px;
	position: relative;
	font-size: var(--wp--preset--font-size--20-px);
}

.post-styles h6.wp-block-heading::before,
.post-type-news.editor-styles-wrapper h6.wp-block-heading::before {
	content: '';
	width: 16px;
	height: 4px;
	background: var(--wp--preset--color--primary);
	position: absolute;
	top: .8em;
	left: 0;
}

:where(body .is-layout-constrained) > * {
	margin-block-start: 1.5em;
	margin-block-end: 0;
}


@media ( max-width: 1000px ) {

	.post-styles h2.wp-block-heading,
	.post-styles h3.wp-block-heading,
	.post-styles h4.wp-block-heading,
	.post-styles h5.wp-block-heading,
	.post-styles h6.wp-block-heading,
	.post-type-news.editor-styles-wrapper h2.wp-block-heading,
	.post-type-news.editor-styles-wrapper h3.wp-block-heading,
	.post-type-news.editor-styles-wrapper h4.wp-block-heading,
	.post-type-news.editor-styles-wrapper h5.wp-block-heading,
	.post-type-news.editor-styles-wrapper h6.wp-block-heading {
		margin-block-start: 1.5em !important;
	}

}


/* ul / ol
---------------------------------------- */

.post-styles .post ul:not( .ez-toc-list ),
.post-styles .post ol,
.post-type-news.editor-styles-wrapper ul,
.post-type-news.editor-styles-wrapper ol {
	list-style: none;
	padding: 0;
}

.post-styles .post ul:not( .ez-toc-list ) li,
.post-styles .post ol li,
.post-type-news.editor-styles-wrapper ul li,
.post-type-news.editor-styles-wrapper ol li {
	padding-left: 1.4em;
	position: relative;
	line-height: 1.6;
}

.post-styles .post ul:not( .ez-toc-list ) li + li,
.post-styles .post ol li + li,
.post-type-news.editor-styles-wrapper ul li + li,
.post-type-news.editor-styles-wrapper ol li + li {
	margin-top: var(--wp--preset--spacing--20);
}

.post-styles .post ul:not( .ez-toc-list ) li::before,
.post-type-news.editor-styles-wrapper ul li::before {
	content: '';
	width: 6px;
	height: 6px;
	background: var(--wp--preset--color--primary);
	border-radius: 50%;
	position: absolute;
	top: .6em;
	left: .4em;
}

.post-styles .post ol,
.post-type-news.editor-styles-wrapper ol {
	counter-reset: ol;
}

.post-styles .post ol li::before,
.post-type-news.editor-styles-wrapper ol li::before {
	content: counters( ol, '.') '. ';
	counter-increment: ol;
	display: inline-block;
	min-width: 1em;
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--roboto);
	font-size:  1.1em;
	position: absolute;
	top: -.1em;
	left: .2em;
}


/* table
---------------------------------------- */

.wp-block-table thead {
	border-bottom: none !important;
}

.wp-block-table td, .wp-block-table th {
	border-color: var(--wp--preset--color--gray);
}

/* blockquote
---------------------------------------- */

.post-styles blockquote {
	position: relative;
	border: none;
	background: var(--wp--preset--color--light-gray);
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
	margin: 3.2em 0 0 !important;
}

.post-styles blockquote::before {
	content: '“';
	position: absolute;
	top: -24px;
	left: var(--wp--preset--spacing--20);
	color: var(--wp--preset--color--primary);
	font-size: 112px;
	line-height: 1;
	font-family: serif;
}


/* pagination
---------------------------------------- */

.pagination.wp-block-query-pagination {
	width: initial;
	position: relative;
	padding: 0 120px;
}


.pagination .wp-block-query-pagination-previous,
.pagination .wp-block-query-pagination-next {
	position: absolute;
	top: 0;
	margin: 0;
	line-height: 48px;
	color: var(--wp--preset--color--contrast);
}

.pagination .wp-block-query-pagination-previous {
	left: 0;
	padding-left: 20px;
}

.pagination .wp-block-query-pagination-next {
	right: 0;
	padding-right: 20px;
}

.pagination .wp-block-query-pagination-numbers {
	margin: 0;
}

.pagination .wp-block-query-pagination-previous::before,
.pagination .wp-block-query-pagination-next::before {
	font-family: 'Material Symbols Outlined';
	line-height: 20px;
	position: absolute;
	top: calc( 50% - 10px );
	color: var(--wp--preset--color--contrast);
	transition: all .2s;
}

.pagination .wp-block-query-pagination-previous::before {
	content: '\e5cb';
	left: 0;
}

.pagination .wp-block-query-pagination-next::before {
	content: '\e5cc';
	right: 0;
}

.pagination .wp-block-query-pagination-numbers .page-numbers {
	display: inline-block;
	width: 48px;
	height: 48px;
	line-height: 48px;
	text-align: center;
}

.pagination .wp-block-query-pagination-numbers .page-numbers {
	background: var(--wp--preset--color--light-gray);
}

.pagination .wp-block-query-pagination-numbers a.page-numbers {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

@media ( min-width: 751px ) {

	.pagination .wp-block-query-pagination-numbers a.page-numbers:hover {
		background: var(--wp--preset--color--primary);
	}

	.pagination .wp-block-query-pagination-previous:hover,
	.pagination .wp-block-query-pagination-next:hover {
		color: var(--wp--preset--color--primary);
	}

	.pagination .wp-block-query-pagination-previous:hover::before {
		left: -5px;
		color: var(--wp--preset--color--primary);
	}

	.pagination .wp-block-query-pagination-next:hover::before {
		right: -5px;
		color: var(--wp--preset--color--primary);
	}

}


/* prev / next
---------------------------------------- */

.prev-btn a,
.next-btn a {
	display: block;
	color: var(--wp--preset--color--contrast);
	position: relative;
}

.prev-btn a::after,
.next-btn a::after {
	font-family: 'Material Symbols Outlined';
	line-height: 20px;
	position: absolute;
	top: calc( 50% - 10px );
	color: var(--wp--preset--color--primary);
	transition: all .2s;
}

.prev-btn a {
	padding-left: 20px;
}

.next-btn a {
	padding-right: 20px;
}

.prev-btn a::after {
	content: '\e5cb';
	left: 0;
}

.next-btn a::after {
	content: '\e5cc';
	right: 0;
}

.back-btn .wp-block-button,
.back-btn .wp-block-button__link {
	width: 100%;
}

.back-btn .wp-block-button__link {
	padding-right: var(--wp--preset--spacing--40);
	padding-left: var(--wp--preset--spacing--40);
}


@media ( max-width: 750px ) {

	.page-nav {
		gap: 0 !important;
	}

	.prev-btn,
	.next-btn {
		border-top: solid 1px var(--wp--preset--color--gray);
	}

	.prev-btn a,
	.next-btn a {
		display: block;
		padding-top: var(--wp--preset--spacing--40);
		padding-bottom: var(--wp--preset--spacing--40);
	}

	.back-btn {
		order: 3;
	}

	.back-btn * {
		width: 100%;
	}

}


@media ( min-width: 751px ) {

	.prev-btn a:hover,
	.next-btn a:hover {
		color: var(--wp--preset--color--primary);
	}

	.prev-btn a:hover::after {
		left: -6px;
	}

	.next-btn a:hover::after {
		right: -6px;
	}

}


/* post
---------------------------------------- */

.post-header {
	width: 100%;
}

.wp-block-group:has( > .wp-block-post-date ) {
	flex-wrap: wrap !important;
}

.post-header .wp-block-post-terms {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20);
}

.post-header .wp-block-post-terms a {
	padding: 5px 15px;
}

.post-header .wp-block-post-terms .wp-block-post-terms__separator {
	display: none;
}

.wp-block-post-date__modified-date time::before {
	content: '更新日: ';
	font-family: var(--wp--preset--font-family--noto-sans-jp) !important;
	font-size: var(--wp--preset--font-size--14-px);
}

.post-archive .thumb {
	overflow: hidden;
	line-height: .5;
	margin: 0 0 var(--wp--preset--spacing--20);
}

.post-archive .thumb img {
	width: 100%;
	transition: all .6s;
}


@media ( max-width: 750px ) {

	.wp-block-group:has( > .wp-block-post-date ) {
		gap: var(--wp--preset--spacing--20);
	}

	.post-header .wp-block-post-terms {
		width: 100%;
		gap: 8px;
	}

	.post-header .wp-block-post-terms a {
		padding: 5px 10px;
	}

}


@media ( min-width: 751px ) {

	.post-archive .post:hover {
		background: var(--wp--preset--color--light-gray);
	}

	.post-archive .post:hover .thumb img {
		transform: scale( 1.1 );
	}

	.post-archive .post:hover .ttl {
		color: var(--wp--preset--color--primary);
	}

	.post-header .wp-block-post-terms a:hover {
		color: var(--wp--preset--color--base);
		background: var(--wp--preset--color--primary);
		transition: all .2s;
	}

}


/* rank-list
---------------------------------------- */

.sidebar .post-list .post + .post {
	margin-top: var(--wp--preset--spacing--40);
}

.sidebar .rank-list .post::before {
	content: '01';
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.sidebar .rank-list .post:nth-child( 2 )::before {
	content: '02';
	background: var(--wp--preset--color--dark-gray);
}

.sidebar .rank-list .post:nth-child( 3 )::before {
	content: '03';
	background: var(--wp--preset--color--contrast);
}


@media ( max-width: 750px ) {

	.sidebar .post-list .post {
		display: flex;
		align-items: center;
		gap: 0;
		padding: var(--wp--preset--spacing--30) 0;
	}

	.sidebar .post-list .post::before {
		width: 32px;
		height: 32px;
		line-height: 32px;
		top: var(--wp--preset--spacing--30);
		font-size: var(--wp--preset--font-size--14-px);
		transform: translate( -5px, -5px );
	}

	.sidebar .post-list .post + .post {
		margin: 0;
		border-top: solid 1px var(--wp--preset--color--gray);
	}

	.sidebar .post-list .post .thumb {
		width: 120px;
		margin: 0;
	}

	.sidebar .post-list .post .txt {
		width: calc( 100% - 120px );
		padding-left: var(--wp--preset--spacing--30);
	}

}


/* relation-box
---------------------------------------- */

.relation-box .main-ttl {
	font-size: var(--wp--preset--font-size--24-px);
	text-align: center;
	font-weight: normal;
	margin: 0;
}

.relation-box .relation-list {
	display: flex;
	margin-top: var(--wp--preset--spacing--40);
}

.relation-box .relation-list .post {
	width: calc( ( 100% - var(--wp--preset--spacing--40) * 2 ) / 3 );
	padding: 0 !important;
}

.relation-box .relation-list .post + .post {
	margin-left: var(--wp--preset--spacing--40);
}


@media ( max-width: 750px ) {

	.relation-box .relation-list {
		flex-direction: column;
	}

	.relation-box .relation-list .post {
		width: 100% !important;
		display: flex;
		align-items: center;
		gap: var(--wp--preset--spacing--30);
		border-bottom: solid 1px var(--wp--preset--color--gray);
		padding: var(--wp--preset--spacing--30) 0;
	}

	.relation-box .relation-list .post + .post {
		margin: 0 !important;
	}

	.relation-box .relation-list .thumb {
		width: 120px;
		margin: 0;
	}

}


/* writer-box
---------------------------------------- */

.writer-box {
	border: solid 1px var(--wp--preset--color--gray);
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
}

.writer-box .main-ttl {
	font-size: var(--wp--preset--font-size--24-px);
	text-align: center;
	font-weight: normal;
	margin: 0;
}

.writer-box > .writer-wrap {
	display: flex;
	align-items: center;
	margin-top: var(--wp--preset--spacing--40);
}

.writer-box > .writer-wrap + .writer-wrap {
	padding-top: var(--wp--preset--spacing--40);
	border-top: solid 1px var(--wp--preset--color--gray);
}

.writer-box .thumb {
	width: 200px;
	padding: 0;
	margin: 0;
	line-height: .5;
	border-radius: 50%;
}

.writer-box .thumb img {
	width: 200px;
	height: 200px;
}

.writer-box .txt {
	width: 100%;
}

.writer-box .thumb + .txt {
	width: calc( 100% - 200px );
	padding: 0 0 0 var(--wp--preset--spacing--40);
}

.writer-box .name {
	font-size: var(--wp--preset--font-size--20-px);
	font-weight: normal;
	margin: 0;
}

.writer-box .read {
	margin: var(--wp--preset--spacing--20) 0 0;
}

.writer-box .sns {
	margin: var(--wp--preset--spacing--20) 0 0;
	line-height: .5;
}

.writer-box .sns ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: flex-end;
}

.writer-box .sns li {
	margin-left: 16px;
}

.writer-box .sns a {
	display: block;
	width: 36px;
	height: 36px;
	padding: 6px;
	border-radius: 50%;
	text-align: center;
	background: #000;
	transition: all .2s;
}

.writer-box .sns .instagram a {
	background: #ff0069;
}

.writer-box .sns .facebook a {
	background: #1877F2;
}


@media ( max-width: 1000px ) {

	.writer-box {
		padding: var(--wp--preset--spacing--30);
	}

	.writer-box > .writer-wrap {
		margin-top: var(--wp--preset--spacing--30);
	}

	.writer-box > .writer-wrap + .writer-wrap {
		padding-top: var(--wp--preset--spacing--30);
	}

	.relation-box .relation-list .post {
		width: calc( ( 100% - var(--wp--preset--spacing--30) * 2 ) / 3 );
	}

	.relation-box .relation-list .post + .post {
		margin-left: var(--wp--preset--spacing--30);
	}

	.wp-block-columns:has( > .main-contents ) {
		flex-direction: column;
	}

	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.main-contents,
	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.sidebar {
		flex-basis: 100% !important;
		width: 100% !important;
	}

	.sidebar .post-list {
		display: flex;
		gap: 2em;
		flex-wrap: wrap;
	}

	.sidebar .post-list .post {
		width: calc( ( 100% - 4em ) / 3 );
		margin-top: 0 !important;
		padding: 0 !important;
	}

}


@media ( max-width: 750px ) {

	.writer-box .thumb {
		width: 120px;
	}

	.writer-box .thumb img {
		width: 120px;
		height: 120px;
	}

	.writer-box .thumb + .txt {
		width: calc( 100% - 120px );
		padding: 0 0 0 var(--wp--preset--spacing--30);
	}

	.writer-box .read {
		font-size: var(--wp--preset--font-size--14-px);
		line-height: 1.5;
	}

	.writer-box .sns ul {
		justify-content: flex-start;
	}

	.writer-box .sns li {
		margin: 0 10px 0 0;
	}

	.sidebar .post-list {
		flex-direction: column;
		gap: 0;
	}

	.sidebar .post-list .post {
		width: 100%;
		padding: 1em 0 !important;
	}

}


@media ( min-width: 751px ) {

	.writer-box .sns a:hover {
		transform: scale( 1.15 );
	}

}
