@charset "UTF-8";

/*
Theme Name: TOI BLOG Theme 2
Author: TOI
Description: Original theme for TOI BLOG.
Version: 2.1.0
*/

/* ========================================
   Design Tokens
======================================== */

:root {
	--color-primary: #2e7d32;

	--color-text: #3a3a3a;
	--color-subtext: #666666;

	--color-link-content: #a9552f;
	--color-link-content-hover: #8f3f1f;

	--color-background: #fafafa;
	--color-surface: #ffffff;
	--color-border: #e2e2e2;

	--space-sm: 8px;
	--space-md: 16px;
	--space-lg: 24px;

	--radius-sm: 3px;
	--radius-md: 5px;

	--font-size-body: 16px;
	--font-size-h1: 22px;
	--font-size-h2: 19px;
	--font-size-h3: 16px;

	--line-height-body: 1.55;
	--line-height-heading: 1.5;
	--letter-spacing-body: 0.02em;
}


/* ========================================
   リンク
======================================== */

a {
	color: inherit;
	text-decoration: none;
}

a:visited {
	color: inherit;
}

a:hover {
	color: var(--color-primary);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

article p a,
article li a {
	color: var(--color-link-content);
}

article p a:visited,
article li a:visited {
	color: var(--color-link-content);
}

article p a:hover,
article li a:hover {
	color: var(--color-link-content-hover);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.toi-quote-source a {
	color: var(--color-text);
}

.toi-quote-source a:hover {
	color: var(--color-primary);
	text-decoration: underline;
}


body {
	margin: 0;

	background-color: var(--color-background);
	color: var(--color-text);

	font-family:
		"Hiragino Sans",
		"Hiragino Kaku Gothic ProN",
		Meiryo,
		sans-serif;

	font-size: var(--font-size-body);
	line-height: var(--line-height-body);
	letter-spacing: var(--letter-spacing-body);
}

.icon-clock, .icon-folder {
    width: 1em;
    height: 1em;
    vertical-align: -0.15em;
    margin-right: 0.2em;
}

.icon-chevron-left,
.icon-chevron-right {
    width: 1em;
    height: 1em;
    vertical-align: -0.15em;
}

/*　ヘッダー画像　*/
.top {
	max-width: 100%;
	width: auto;
	height: auto;
	margin-bottom: 20px;
	vertical-align: bottom;
	z-index: -1;
}


/*　グリッド　*/
body {
	display: grid;
	grid-template-columns:
	[left]minmax(20px,1fr)
	[main]minmax(200px, 1440px)
	[main-end]minmax(20px,1fr)
	[right];
	grid-template-rows:
	[head]auto
	[head]auto
	[img]auto
	[main]auto
	[foot]auto
	[foot]auto
	[bottom];
}

.top {
	grid-column-start: main;
	grid-row-start: img;
}

header {
	width: auto;
	grid-column-start: main;
	grid-row-start: head;
	margin-left: 20px;
}

.contents {
	grid-column-start: main;
	grid-row-start: main;
	width: 78%;
	box-sizing: border-box;
}


/*　ヘッダー　*/

header a	{
	color: #444444;
	text-decoration: none;
}

header h1	{
	font-size: 35px;
	font-weight: normal;
	text-shadow: 2px 2px 4px #CCC;
}


/*　記事関連　*/
.front-page-contents {
    width: 100%;
}

.front-content {
	box-sizing: border-box;
	width: min(100%, 1491px);
	margin: 0 auto;
	padding: 5px;

	display: grid;
	grid-template-columns:
		minmax(0, 957fr)
		minmax(0, 514fr);

	gap: var(--space-lg);

	align-items: start;
}

.front-diary-tabs {
	display: flex;
	flex-wrap: wrap;

	margin: 0 0 var(--space-md);
	padding-left: var(--space-sm);

	border-bottom: 1px solid var(--color-border);
}

.front-diary-tab {
	margin-right: 3px;
	margin-bottom: -1px;
	padding: 6px 12px;

	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm) var(--radius-sm) 0 0;

	background-color: #f4f5f3;

	color: var(--color-text);
	text-decoration: none;

	font-size: 14px;
	font-weight: 400;
}

.front-diary-tab:hover {
	background-color: #edf5ee;
	color: var(--color-primary);
}

.front-diary-tab.is-active {
	border-top-color: var(--color-primary);
	border-bottom-color: var(--color-background);

	background-color: var(--color-background);

	color: var(--color-primary);
	font-weight: 600;
}


.front-diary {
	box-sizing: border-box;
	padding: var(--space-sm);

	background-color: var(--color-background);
}

.front-column-area {
	box-sizing: border-box;

	padding: 0 0 var(--space-md);
	margin-bottom: var(--space-md);

	border-bottom: 1px solid var(--color-border);
}

.front-column-list {
	margin: 0;
	padding: 0;

	list-style: none;
}

.front-side {
	display: flex;
	flex-direction: column;
	gap: 0;
}

/* ========================================
   サイドバー見出し
======================================== */

.front-side-heading {
	display: flex;
	align-items: center;
	gap: var(--space-sm);

	margin: 0 0 var(--space-md);
	padding: 0;

	color: var(--color-text);

	font-size: 18px;
	font-weight: 600;
	line-height: var(--line-height-heading);
}

.front-side-heading-icon {
	display: block;
	flex: 0 0 auto;

	width: 18px;
	height: 18px;

	color: var(--color-primary);
}

.front-site-info {
	padding: 0 0 var(--space-md);
	margin-bottom: var(--space-md);

	border-bottom: 1px solid var(--color-border);
}

.front-diary article > .postinfo {
    padding: 0 10px;
}

.diary-title {
	margin: 0 0 var(--space-sm);
	padding: 4px 8px;

	border-left: 4px solid var(--color-primary);
	border-bottom: 1px solid var(--color-border);

	font-size: 18px;
	font-weight: 600;
	line-height: var(--line-height-heading);
}

.diary-title a {
	color: var(--color-text);
	text-decoration: none;
}

.diary-title a:hover {
	color: var(--color-primary);
}

.front-tools {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 10px;
	margin-bottom: var(--space-md);
}

.front-search {
	display: flex;
	justify-content: flex-end;
	min-width: 0;
}

.front-search-form {
	display: flex;
	align-items: flex-end;
	gap: 4px;

	min-width: 0;
}

.front-search-field {
	min-width: 0;
}

.front-archive-select,
.front-search-field,
.front-search-button {
	box-sizing: border-box;
	height: 28px;

	border: 1px solid #cfcfcf;
	border-radius: var(--radius-sm);

	background-color: var(--color-surface);
	color: var(--color-subtext);

	font: inherit;
	font-size: 14px;
}

.front-archive-select:focus,
.front-search-field:focus,
.front-search-button:focus {
	outline: none;

	border-color: #8faf91;
	box-shadow: 0 0 0 2px #e1ece2;
}

.front-search-field::placeholder {
    color: #999;
}

.front-search-button {
	padding: 0 8px;

	flex-shrink: 0;
	white-space: nowrap;
}

.front-site-info .widget_categories ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px 12px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.front-site-info .widget_categories li {
    text-align: center;
}

/* カテゴリーウィジェット標準の見出しは非表示 */
.front-site-info .widget_categories .front-widget-title {
	display: none;
}

/*　カレンダー　*/
.front-calendar-section {
	padding-bottom: var(--space-md);
	margin-bottom: var(--space-md);

	border-bottom: 1px solid var(--color-border);
}

.front-calendar-section .calendar {
	width: 60%;
	margin: 0 auto;
	padding: 0;
}


/* ========================================
   つぶやき
======================================== */

.microblog-archive {
	width: min(100%, 760px);
	margin: 0 auto;
}

.microblog-archive-header {
	margin-bottom: var(--space-lg);
}

.microblog-back-link,
.page-back-link {
	display: inline-block;
	margin-bottom: var(--space-sm);

	color: var(--color-subtext);

	font-size: 14px;
	text-decoration: none;
}

.microblog-back-link:hover,
.page-back-link:hover {
	color: var(--color-primary);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.microblog-archive-title,
.page-title {
	margin: 0;
	padding: 0;

	color: var(--color-text);

	font-size: var(--font-size-h1);
	font-weight: 600;
	line-height: var(--line-height-heading);
	text-align: center;

	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.12);
}

.page-main .page-title {
	margin: 0;
	padding: 0;

	border: none;
	background: none;

	color: var(--color-text);

	font-size: var(--font-size-h1);
	font-weight: 600;
	line-height: var(--line-height-heading);
	text-align: center;

	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.12);
}

.microblog-timeline {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.microblog-card {
	box-sizing: border-box;
	margin: 0;
	padding: 14px 16px;

	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);

	background-color: var(--color-surface);

	letter-spacing: normal;
}

.microblog-card-header {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) auto;
	gap: 10px;
	align-items: center;
}

.microblog-avatar {
	display: block;

	width: 44px;
	height: 44px;

	border-radius: 50%;
	object-fit: cover;
}

.microblog-user {
	min-width: 0;
}

.microblog-author {
	font-weight: bold;
}

.microblog-handle {
	margin-left: 4px;

	color: var(--color-subtext);
	font-size: 14px;
}

.microblog-date {
	color: var(--color-subtext);
	font-size: 13px;
	white-space: nowrap;
}

.microblog-body {
	margin-top: 8px;
	margin-left: 54px;

	overflow-wrap: anywhere;
}

.microblog-body p {
	margin: 0 0 8px;
	padding: 0;

	font-size: 15px;
	line-height: 1.7;
}

.microblog-body p:last-child {
	margin-bottom: 0;
}

.microblog-pagination {
	margin-top: 30px;
}

/* ========================================
   TOP つぶやき
======================================== */

.front-microblog {
	margin-top: 0;
}

.front-microblog-title {
	margin: 0 0 var(--space-md);
	font-size: 18px;
}

.front-microblog-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.front-microblog-more {
	margin: 10px 0 0;
	padding: 0;
	text-align: right;
}


/* ========================================
   ページ送り
======================================== */

.front-pagination,
.navigation.pagination {
	margin-top: var(--space-lg);
}

.front-pagination .page-numbers,
.navigation.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 32px;
	height: 32px;
	padding: 0 8px;
	box-sizing: border-box;

	margin-right: 4px;

	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);

	background-color: var(--color-surface);

	color: var(--color-text);
	text-decoration: none;

	font-size: 14px;
	line-height: 1;
}

.front-pagination .page-numbers:hover,
.navigation.pagination .page-numbers:hover {
	border-color: var(--color-primary);
	color: var(--color-primary);
}

.front-pagination .page-numbers.current,
.navigation.pagination .page-numbers.current {
	border-color: var(--color-primary);
	background-color: var(--color-primary);
	color: #ffffff;

	font-weight: 600;
}

.front-pagination .page-numbers.dots,
.navigation.pagination .page-numbers.dots {
	min-width: auto;
	padding: 0 4px;

	border: 0;
	background: transparent;

	color: var(--color-subtext);
}

.front-pagination .prev,
.front-pagination .next,
.navigation.pagination .prev,
.navigation.pagination .next {
	padding: 0 10px;
}

/* 固定ページ全体 */
.page-contents {
	width: 100%;
}

/* 固定ページ本文 */
.page-main {
	box-sizing: border-box;
	width: min(100%, 760px);
	margin: 0 auto;
	padding: 8px;
}

article {
	color: var(--color-text);
	margin-bottom: 40px;
	line-height: var(--line-height-body);
	text-align: left;
	letter-spacing: var(--letter-spacing-body);
}

article p {
	font-size: var(--font-size-body);
	padding: 10px;
}

.bold	{font-weight: bold;}	/* 1.5.6で追記*/
.small {font-size: small;}	/* 1.5.6で追記*/

.green	{color: #009900;}	/* 1.4.4で追記　*/
.orange	{color: #ff9900;}	/* 1.4.4で追記　*/
.purple	{color: #6633cc;}	/* 1.4.4で追記　*/
.pink {color: #ff66ff;}	/* 1.4.4で追記　*/
.red	{color: #ff4500;}	/* 1.4.4で追記　*/
.blue	{color: #6699ff;}	/* 1.4.4で追記　*/
.grey	{color: #939393;}	/* 1.5.6で追記　*/

.under	{text-decoration-line: underline;
		text-decoration-color: #ccffff;
		text-decoration-thickness: 0.2em;}	/* 1.4.5で追記 */
.shadow	{text-shadow: 2px 2px 4px silver;}	/* 1.4.5で追記 */
.midashi	{font-size: 120%;
			 font-weight: bold;
			 text-shadow: 2px 2px 4px silver;}	/* 1.4.5で追記 */

article h1 {
	margin: 5px 0;
	padding: 2px 5px 0 5px;

	border-left: solid 5px var(--color-primary);
	border-bottom: solid 1px var(--color-primary);

	font-size: var(--font-size-h1);
	font-weight: 600;
	line-height: var(--line-height-heading);
}

article h1 a {
	color: var(--color-text);
	text-decoration: none;
}

/* ========================================
   記事内の区切り線
======================================== */

article hr {
	width: 88%;
	margin: var(--space-lg) auto;

	border: 0;
	border-top: 1px solid var(--color-border);
}


/* ========================================
   引用
======================================== */

/* 外部サイトからの引用 */
.toi-quote-external {
	position: relative;
	box-sizing: border-box;

	width: min(86%, 760px);
	margin: var(--space-lg) auto;
	padding: 30px var(--space-lg) 34px;

	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);

	background-color: #f5f5f5;
	color: var(--color-text);
}

/* 左上のダブルクォーテーション */
.toi-quote-external::before {
	content: "“";

	position: absolute;
	top: 3px;
	left: 12px;

	color: var(--color-primary);

	font-family: Georgia, serif;
	font-size: 42px;
	font-weight: bold;
	line-height: 1;
}

/* 右下のダブルクォーテーション */
.toi-quote-external::after {
	content: "”";

	position: absolute;
	right: 12px;
	bottom: 0;

	color: var(--color-primary);

	font-family: Georgia, serif;
	font-size: 42px;
	font-weight: bold;
	line-height: 1;
}

.toi-quote-external p {
	margin: 0 0 var(--space-md);
	padding: 0;
}

/* 引用元 */
.toi-quote-external .toi-quote-source {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-end;
	align-items: baseline;
	gap: 0.3em;

	margin: 0;
	padding: 0 24px 0 0;

	border: 0;

	color: var(--color-subtext);

	font-size: 13px;
	text-align: right;
}

.toi-quote-external .toi-quote-source > span {
	flex: 0 0 auto;
}

.toi-quote-external .toi-quote-source cite {
	min-width: 0;
	font-style: normal;
}

.toi-quote-external .toi-quote-source a {
	display: inline;
}

.toi-quote-source cite {
	font-style: normal;
}

/* 自分の過去記事からの引用 */
.toi-quote-self {
	margin: var(--space-md) 0;
	padding: var(--space-sm) 0 var(--space-sm) var(--space-md);

	border-left: 3px solid #b8b8b8;

	color: var(--color-text);
}

.toi-quote-self p {
	margin: 0 0 4px;
	padding: 0;
}

.toi-quote-self .toi-quote-source {
	display: flex;
	align-items: baseline;
	gap: 0.25em;

	margin: 0;
	padding: 0;

	border: 0;

	color: var(--color-subtext);

	font-size: 13px;
	text-align: left;
	white-space: nowrap;
}


article img {	/*　1.3.7追加　*/
	max-width: 100%;
	height: auto;
}

/* 記事内画像：中央寄せ */
/* 単体画像 */
.toi-image-center {
	margin: 20px 0;
	text-align: center;
}

.toi-image-center img {
	display: inline-block;
	max-width: 100%;
	height: auto;
}

/* YouTube　表示位置調整 */
.toi-youtube-embed {
	width: 500px;
	max-width: 100%;
	aspect-ratio: 16 / 9;

	margin: 20px 0;
}

.toi-youtube-embed iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

/* 中央寄せ指定 */
.toi-youtube-center {
	margin-left: auto;
	margin-right: auto;
}

/* X　表示位置調整 */
.toi-x-center {
	margin: 20px 0;
	display: flex;
	justify-content: center;
}

.toi-x-center .twitter-tweet {
	margin: 0 !important;
}


table {	/*　1.3.7追加　*/
	max-width: 100%;
	height: auto;
}

/* ========================================
   記事の付加情報
======================================== */

.postinfo {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	row-gap: 6px;
	column-gap: var(--space-sm);

	margin: var(--space-sm) 0 var(--space-md);
	padding: 0 8px;

	color: var(--color-subtext);

	font-size: 14px;
	line-height: 1.4;
	letter-spacing: 0;
}

.postinfo time,
.postinfo .posttime,
.postinfo .postcat {
	display: inline-flex;
	align-items: center;
	gap: 4px;

	margin: 0;
}

.postinfo .postcat {
	margin-left: 12px;
}

.postinfo svg {
	width: 14px;
	height: 14px;
	flex: 0 0 auto;

	margin: 0;

	color: var(--color-subtext);
}

/* postinfo内のリンクも補助情報色に合わせる */
.postinfo a {
	color: var(--color-subtext);
	text-decoration: none;
}


/* 折りたたみ関連 */
/* ========================================
   折りたたみ
======================================== */

.toi-fold {
	margin: var(--space-md) 0;

	padding: 0;

	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);

	background-color: var(--color-background);
}

.toi-fold summary {
	position: relative;

	padding: 10px 14px;

	cursor: pointer;

	color: var(--color-text);

	font-size: 15px;
	font-weight: 600;
	line-height: 1.5;
}


.toi-fold summary::marker {
	color: var(--color-primary);
}

.toi-fold[open] summary {
	margin-bottom: 0;
	padding-bottom: 11px;
}

/* 開いたときだけ短い区切り線を表示 */
.toi-fold[open] summary::after {
	content: "";

	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 0;

	height: 1px;

	background-color: var(--color-border);
}

.toi-fold > *:not(summary) {
	margin-left: 14px;
	margin-right: 14px;
}

.toi-fold > :last-child {
	margin-bottom: 14px;
}

.toi-fold-close-label {
	display: none;
}

.toi-fold[open] .toi-fold-open-label {
	display: none;
}

.toi-fold[open] .toi-fold-close-label {
	display: inline;
}


/* 記事内画像：2枚グリッド */

.toi-image-grid-2 {
	margin: 20px 0;
}

.toi-image-grid-2 .gallery {
	margin: 0;
}

.toi-image-grid-2 .gallery-item {
	box-sizing: border-box;
	padding: 0 8px;
}

.toi-image-grid-2 .gallery-icon img {
	width: 100%;
	height: auto;
}

.toi-image-grid-2 .gallery-caption {
	margin-top: 6px;

	color: #666;
	font-size: 13px;
	line-height: 1.5;
	text-align: center;
}


/* ========================================
   画像ライトボックス
======================================== */

.toi-lightbox {
	width: 100vw;
	height: 100vh;
	max-width: none;
	max-height: none;

	margin: 0;
	padding: 0;

	border: none;

	background: rgba(0, 0, 0, 0.88);

	cursor: zoom-out;
}

.toi-lightbox[open] {
	display: flex;
	align-items: center;
	justify-content: center;
}

.toi-lightbox::backdrop {
	background: transparent;
}

.toi-lightbox-image {
	display: block;

	width: auto;
	height: auto;

	max-width: 95vw;
	max-height: 95vh;

	object-fit: contain;

	cursor: zoom-out;
}

.toi-lightbox-close {
	position: fixed;
	top: 12px;
	right: 18px;

	padding: 4px 10px;

	border: none;
	background: transparent;

	color: #fff;
	font-size: 32px;
	line-height: 1;

	cursor: pointer;
}

html.is-lightbox-open {
	overflow: hidden;
}



.image-icon-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 1.35em;
	height: 1.35em;

	margin-left: 0.25em;

	color: var(--color-link);
	vertical-align: -0.15em;

	transition:
		opacity 0.15s ease,
		transform 0.15s ease;
}

.image-icon-link svg {
	display: block;

	width: 100%;
	height: 100%;

	fill: currentColor;
}

.image-icon-link:hover {
	opacity: 0.65;
	transform: scale(1.08);
}


/* Lightbox */

.image-lightbox {
	max-width: none;
	max-height: none;

	width: 100%;
	height: 100%;

	margin: 0;
	padding: 0;

	border: 0;
	background: transparent;
}

.image-lightbox::backdrop {
	background: rgba(0, 0, 0, 0.85);
}

.image-lightbox[open] {
	display: flex;
	align-items: center;
	justify-content: center;
}

.image-lightbox-image {
	display: block;

	max-width: 92vw;
	max-height: 92vh;

	width: auto;
	height: auto;

	object-fit: contain;
}

.image-lightbox-close {
	position: fixed;
	top: 16px;
	right: 20px;

	z-index: 1;

	width: 44px;
	height: 44px;

	padding: 0;

	border: 0;
	background: transparent;

	color: #fff;

	font-size: 36px;
	line-height: 1;

	cursor: pointer;
}



/* 検索結果 */
.search .type-column {
    padding: 20px;
    margin-bottom: 24px;
    border-left: 5px solid #2e7d32;
    background-color: #f5faf5;
}

.search-column-title {
    margin: 8px 0;
    font-size: 1.4em;
}

.search-column-title a {
    color: #222;
    text-decoration: none;
}

.search-column-title a:hover {
    color: #2e7d32;
}

.search-column-meta {
    margin-bottom: 12px;
    color: #666;
    font-size: 0.9em;
}

.search-column-summary {
    margin-bottom: 16px;
}

.search-column-link {
    display: inline-block;
    font-weight: bold;
    color: #2e7d32;
}

.search-type {
    display: inline-block;
    margin-bottom: 8px;
    padding: 3px 8px;
    border: 1px solid #2e7d32;
    border-radius: 4px;
    color: #2e7d32;
    font-size: 0.85em;
    font-weight: bold;
}

.search .type-column h2 {
    margin-top: 4px;
    font-size: 1.35em;
}

.search .type-column h2 a {
    color: #222;
    text-decoration: none;
}

.search .type-column h2 a:hover {
    color: #2e7d32;
}

.search .contents > article {
    padding-bottom: 24px;
    margin-bottom: 24px;
    border-bottom: 1px solid #e0e0e0;
}


/* 前後の記事へのリンク */
.pagenav a	{
	padding: 5px 10px;
	border: solid 1px #cccccc;
	border-radius: 10px;
	color: #666666;
	font-size: 12px;
	text-decoration: none;
}

.pagenav .old a	{
	float: left;
}

.pagenav .new a	{
	float: right;
}

.pagenav	{
	overflow: hidden;
	margin-top: 40px;
	margin-bottom: 40px;
	clear: both;
}


/* ========================================
   日付アーカイブの前後移動
======================================== */

.date-archive-nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--space-sm);

	margin: var(--space-lg) 0 0;
	padding: 0;
}

/* 旧pagenav由来の指定をリセット */
.date-archive-nav .old,
.date-archive-nav .new {
	float: none;
	margin: 0;
	padding: 0;
}

.date-archive-nav a {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 32px;
	box-sizing: border-box;
	padding: 0 10px;

	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);

	background-color: var(--color-surface);

	color: var(--color-text);
	text-decoration: none;

	font-size: 14px;
	line-height: 1;
}

.date-archive-nav a:hover {
	border-color: var(--color-primary);
	color: var(--color-primary);
}


/* ========================================
   個別記事：前の記事・次の記事
======================================== */

.single-post .pagenav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--space-md);

	margin: var(--space-lg) 0;
	padding: 0;
}

.single-post .pagenav .old,
.single-post .pagenav .new {
	float: none;
	margin: 0;
	padding: 0;

	max-width: 48%;
}

.single-post .pagenav .new {
	margin-left: auto;
	text-align: right;
}

.single-post .pagenav a {
	display: inline-flex;
	align-items: center;
	gap: 6px;

	min-height: 32px;
	box-sizing: border-box;
	padding: 6px 10px;

	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);

	background-color: var(--color-surface);

	color: var(--color-text);
	text-decoration: none;

	font-size: 14px;
	line-height: 1.4;
}

.single-post .pagenav a:hover {
	border-color: var(--color-primary);
	color: var(--color-primary);
}

.single-post .pagenav svg {
	width: 14px;
	height: 14px;
	flex: 0 0 auto;

	color: var(--color-subtext);
}


/*　見出し　*/
.archive-title	{
	margin-top: 0;
	margin-bottom: 40px;
	background-color: #eeeeee;
	font-size: 14px;
	font-weight: normal;
}

.archive-title i	{
	padding: 15px;
	background-color: #4a5f7e;
	color: #ffffff;
}


.archive-heading {
	display: flex;
	align-items: center;
	gap: var(--space-sm);

	margin: 0 0 var(--space-lg);
	padding: 0;

	color: var(--color-text);

	font-size: var(--font-size-h2);
	font-weight: 600;
	line-height: var(--line-height-heading);
}

.archive-heading > span {
	position: relative;
	z-index: 0;
}

.archive-heading > span::after {
	content: "";

	position: absolute;
	left: 5px;
	right: -5px;
	bottom: 2px;

	height: 0.55em;

	background-color: #dceedd;

	z-index: -1;
}


.archive-heading-icon {
	width: 18px;
	height: 18px;
	flex: 0 0 auto;

	color: var(--color-primary);
}

/* フッター関連 */

.site-footer {
	box-sizing: border-box;
	width: 100%;

	margin-top: var(--space-lg);
	padding: var(--space-lg) var(--space-md);

	border-top: 1px solid var(--color-border);

	background-color: #f0f2ef;
	color: var(--color-text);

	text-align: center;

	grid-column-start: main;
	grid-row-start: foot 2;	
}


.footer-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--space-sm) var(--space-md);

	margin-bottom: var(--space-md);
}

.footer-copyright {
	margin: 0;

	color: var(--color-subtext);
	font-size: 13px;
}


.footer-links ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;

	margin: 0;
	padding: 0;

	list-style: none;
}

.footer-links a {
	text-decoration: none;
}

.footer-links a:hover {
	text-decoration: underline;
}

/* コメント */
#comments footer	{
	background: none;
	margin: 0;
	color: #000000;
	font-size: 12px;
}

#comments footer a	{
	color: #000000;
}

#comments footer div	{
	display: inline;
}

#comments ul	{
	list-style: none;
	margin: 0;
	padding: 0;
}

#comments article	{
	border: dotted 1px #aaaaaa;
	margin-bottom: 10px;
	padding: 10px 20px 20px 20px;
}

#comments .comment-content	{
	margin-left: 30px;
}

/*　テーブルレイアウト　*/
table {
	border-collapse: collapse;
}

/* ========================================
   カレンダー
======================================== */

#wp-calendar {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;

	color: var(--color-text);
}

/* 投稿がある日 */
#wp-calendar a {
	display: block;
	padding: 0;
	line-height: 32px;

	background-color: #edf5ee;
	color: var(--color-text);

	text-decoration: none;
}

/* 投稿がある日のhover */
#wp-calendar a:hover {
	background-color: #dfece1;
}

/* 今日 */
#wp-calendar #today {
	background-color: #e3eee4;

	font-weight: 600;
}

/* 今日がリンクの場合 */
#wp-calendar #today a {
	background-color: var(--color-primary);
	color: #ffffff;
}

/* 今日がリンクの場合のhover */
#wp-calendar #today a:hover {
	background-color: #256829;
}

/* 年月 */
#wp-calendar caption {
	margin-bottom: var(--space-sm);

	color: var(--color-text);
	font-weight: 600;
}

/* 曜日 */
#wp-calendar th {
	padding: 4px 0;

	border: 1px solid var(--color-border);

	background-color: #f3f4f3;
	color: var(--color-text);

	text-align: center;
	font-weight: 600;
}

/* 日付 */
#wp-calendar td {
	height: 32px;
	padding: 0;

	border: 1px solid var(--color-border);

	color: var(--color-subtext);
	text-align: center;
	vertical-align: middle;
}

.calendar .wp-calendar-nav {
	display: flex;
	align-items: center;

	width: 100%;
	margin-top: var(--space-sm);
}

.calendar .wp-calendar-nav-prev {
	margin-right: auto;
}

.calendar .wp-calendar-nav-next {
	margin-left: auto;
	text-align: right;
}

/* WordPressが中央に出力する空要素 */
.calendar .wp-calendar-nav .pad {
	display: none;
}


/* ========================================
   記事内テーブル
======================================== */

.toi-table {
	border-collapse: collapse;

	color: var(--color-text);

	font-size: 15px;
	line-height: 1.5;
}

.toi-table th,
.toi-table td {
	padding: 6px 10px;

	border: 1px solid var(--color-border);

	text-align: left;
	vertical-align: top;
}

.toi-table th {
	background-color: #edf5ee;

	font-weight: 600;
}

.toi-table td {
	background-color: var(--color-surface);
}


/* ========================================
   モバイル：サイドバーへのジャンプボタン
======================================== */

.mobile-sidebar-jump {
	display: none;
}


/*　====== 1179px以下 =====　*/
@media (max-width: 1179px) {

.top {
	grid-column-start: left;
	grid-column-end: right;
}

}

/*　====== 767px以下 =====　*/
@media (max-width: 767px) {

 .front-content {
	grid-template-columns: 1fr;
}	

.contents {
	width: 100%;
}

/* ========================================
   モバイル：サイドバーへのジャンプボタン
======================================== */

.mobile-sidebar-jump {
	display: flex;
	align-items: center;
	justify-content: center;

	position: fixed;
	right: 18px;
	bottom: calc(20px + env(safe-area-inset-bottom));

	width: 44px;
	height: 44px;

	border-radius: 6px;

	background-color: var(--color-primary);
	color: #ffffff;

	text-decoration: none;

	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);

	z-index: 1000;
}

.mobile-sidebar-jump svg {
	width: 20px;
	height: 20px;
}

.mobile-sidebar-jump:hover {
	background-color: #256829;
	color: #ffffff;
	text-decoration: none;
}

.mobile-sidebar-jump:active {
	transform: translateY(1px);
}

#front-sidebar-start {
	scroll-margin-top: var(--space-md);
}

/* 20251108_不要なコードかも
tr,th,td,thead,tbody,tfoot {
	overflow: hidden;
	display: block;
*/

}