@charset "utf-8";

/********************************************************
Design spacing
*********************************************************/

:root {
	--theme-main-content-gutter: clamp(var(--space-md), 2vw, var(--space-xl));
	--theme-main-block-padding: clamp(var(--space-md), 1.5vw, var(--space-lg));
}

/* コンテナ/カラムの外側余白 */
.contents-container {
	margin-block: clamp(var(--space-lg), 3vw, var(--space-xl));
}

.column-container {
	gap: var(--theme-column-gap);
}

/* メインカラム内の共通余白 */
.main-section {
	box-sizing: border-box;
	padding-inline: var(--theme-main-content-gutter);
}

.single-main-contents,
.page-main-contents,
.archive-main-contents {
	padding-block: var(--space-xl);
}

.main-section > .page-feed,
.main-section > .pagination,
.main-section > .related-article,
.main-section > .comment-lists-section {
	box-sizing: border-box;
	margin-inline: 0;
	margin-top: var(--space-xl);
	padding-inline: var(--theme-main-block-padding);
}

.main-section > .related-article {
	padding-block: var(--theme-main-block-padding);
}

.main-section > .main-class {
	box-sizing: border-box;
	padding-inline: var(--theme-main-block-padding);
}

.page-feed {
	gap: var(--space-xs);
}

.related-title {
	margin-bottom: var(--space-md);
}

.related-post {
	padding-top: 0;
}

.related-layout-vertical {
	padding-inline: 0;
}

.comment-lists-section {
	padding-block: var(--space-md);
}

.sidebar-container {
	gap: var(--space-lg);
	padding: var(--space-md);
}

/* WordPress基本ブロック/通常本文の余白 */
h1.has-background,
h2.has-background,
h3.has-background,
h4.has-background,
h5.has-background,
h6.has-background,
p.has-background {
	padding: .75em .5em !important;
	margin-bottom: var(--space-sm);
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
	margin-bottom: 0;
}

.page-content-section h1,
.single-content-section h1 {
	margin-top: var(--space-2xl);
	margin-bottom: var(--space-lg);
	padding-block: 0.5em;
	padding-inline: 0;
}

.page-content-section h2,
.single-content-section h2 {
	margin-top: var(--space-2xl);
	margin-bottom: var(--space-lg);
	padding-block: 0.5em;
	padding-inline: 0;
}

.page-content-section h3,
.single-content-section h3 {
	margin-top: var(--space-xl);
	margin-bottom: var(--space-md);
	padding-block: 0.5em;
	padding-inline: 0;
}

.page-content-section h4,
.single-content-section h4 {
	margin-top: var(--space-lg);
	margin-bottom: var(--space-sm);
	padding-block: 0.5em;
	padding-inline: 0;
}

.page-content-section h5,
.single-content-section h5 {
	margin-top: 1.25rem;
	margin-bottom: var(--space-xs);
	padding-block: 0.375em;
	padding-inline: 0;
}

.page-content-section h6,
.single-content-section h6 {
	margin-top: var(--space-md);
	margin-bottom: var(--space-xs);
	padding-block: 0.375em;
	padding-inline: 0;
}

.page-content-section > :is(h1, h2, h3, h4, h5, h6):first-child,
.single-content-section > :is(h1, h2, h3, h4, h5, h6):first-child {
	margin-top: 0;
}

.page-content-section p,
.single-content-section p,
.page-content-section :is(ul, ol),
.single-content-section :is(ul, ol) {
	margin-bottom: var(--space-lg);
}


.page-content-section figure,
.single-content-section figure,
.page-content-section table,
.single-content-section table {
	margin-block: var(--space-xl);
}

.page-content-section figure table,
.single-content-section figure table {
	margin-block: 0;
}

/* 記事一覧: 共通 */
.article-list {
	gap: var(--space-lg);
	margin-bottom: var(--space-xl);
}

.list-articles-card {
	margin: 0;
}

/* 記事一覧: 区切り線型 */
.article-list:has(.design-border-separator-updown-line-middle),
.article-list:has(.design-border-separator-line-updown) {
	row-gap: 0;
}

.article-list:has(.design-border-separator-updown-line-middle) .articles-post-class,
.article-list:has(.design-border-separator-line-updown) .articles-post-class {
	padding-block: var(--space-lg);
}

/* サイドバー: ウィジェット間は親gapで管理し、外周と末尾余白を整える */
.sidebar h1,
.sidebar h2,
.sidebar h3,
.sidebar h4,
.sidebar h5,
.sidebar h6 {
	margin-top: 0;
	margin-bottom: var(--space-sm);
	padding-block: var(--space-xs);
	padding-inline: var(--space-sm);
}

.sidebar .widget p {
	margin-bottom: var(--space-md);
}

.sidebar .widget p:last-child {
	margin-bottom: 0;
}

.sidebar .widget :is(ul, ol) {
	margin-top: 0;
	margin-bottom: var(--space-md);
	padding-left: 0;
}

.sidebar .widget :is(ul, ol) :is(ul, ol) {
	padding-left: 1.25em;
}

.sidebar .widget li {
	padding-block: 0.25rem;
}

.sidebar .widget li + li {
	margin-top: 0;
}

.sidebar .widget > :last-child {
	margin-bottom: 0;
}

@media (max-width: 768px) {
	.sidebar-container {
		padding: var(--space-sm);
	}
}

/* フッター */
.footer-menu-standard {
	margin: 0;
	padding: 0;
}

.footer-menu-standard ul {
	align-items: stretch;
	margin: 0;
	padding: 0;
}

.footer-menu-standard li {
	padding: 0;
}

.footer-menu-standard a {
	display: flex;
	align-items: center;
	min-height: 2.5rem;
	padding-inline: var(--space-sm);
	text-decoration: none;
}

.site-footer {
	padding-block-start: var(--space-lg);
	padding-block-end: var(--space-xl);
}

@media (min-width: 769px) {
	.site-footer.has-footer-fixed-menu-pc {
		padding-bottom: max(var(--space-xl), 4.5rem);
	}
}

@media (max-width: 768px) {
	.site-footer.has-footer-fixed-menu-mobile {
		padding-bottom: max(var(--space-xl), 4.5rem);
	}
}

.copyright {
	padding-block: var(--space-sm);
	padding-inline: var(--space-md);
}
