@charset "UTF-8";
/* ==========================================================================
   記事ページ（コラム / お知らせ / 特集 / イベント詳細 / 固定ページ）

   ※ 本文の font-size は管理画面（コンテンツの文字サイズ）が
      .p-entry__body に直接指定している。ここでは指定しない。
      行間・余白・見出し・引用・表など「組版」だけを担当する。
   ========================================================================== */


/* --------------------------------------------------------------------------
   記事ヘッダー
   -------------------------------------------------------------------------- */
.p-entry__header { margin-top: 44px; margin-bottom: 40px; }

.p-entry__title { margin-bottom: 14px; line-height: 1.5; letter-spacing: .02em; }

.p-entry__meta { color: var(--wk-muted); font-size: 12px; letter-spacing: .04em; }

.p-entry__meta a:hover { color: var(--wk-wine); }

.p-entry__img { overflow: hidden; border-radius: var(--wk-radius); }

/* イベント・特集詳細のヘッダー（左に色ベタの日付ブロック） */
.p-entry__header02 { margin-bottom: 48px; border-bottom: 1px solid var(--wk-line); }

.p-entry__header02-upper { border-radius: var(--wk-radius) 0 0 var(--wk-radius); font-size: 17px; }

.p-entry__header02-title { line-height: 1.45; letter-spacing: .02em; }

.p-entry__header02-date { color: var(--wk-muted); font-size: 12px; letter-spacing: .04em; }


/* --------------------------------------------------------------------------
   本文の組版
   -------------------------------------------------------------------------- */
.p-entry__body { line-height: 2; }

.p-entry__body > * + * { margin-top: 1.6em; }

.p-entry__body p { line-height: 2; }

/* 見出し
   親テーマのクイックタグ用スタイルと衝突しないよう、
   エディタが素で出力する h2〜h4 だけを対象にする */
.p-entry__body > h2 {
	position: relative;
	margin-top: 2.6em;
	margin-bottom: 1em;
	padding: 0 0 .5em 15px;
	border-bottom: 1px solid var(--wk-line);
	font-size: 1.45em;
	line-height: 1.5;
	letter-spacing: .02em;
}

.p-entry__body > h2::before {
	position: absolute;
	top: .18em;
	left: 0;
	width: 4px;
	height: 1.1em;
	border-radius: 2px;
	background: var(--wk-wine);
	content: "";
}

.p-entry__body > h3 {
	margin-top: 2.2em;
	margin-bottom: .9em;
	font-size: 1.22em;
	line-height: 1.55;
	letter-spacing: .02em;
}

.p-entry__body > h4 {
	margin-top: 2em;
	margin-bottom: .8em;
	color: var(--wk-wine);
	font-size: 1.08em;
	line-height: 1.6;
}

/* リンク（色は管理画面の Content link color が制御） */
.p-entry__body a {
	text-decoration: underline;
	text-underline-offset: .18em;
	text-decoration-thickness: 1px;
	text-decoration-color: rgba(123, 30, 58, .3);
	transition: text-decoration-color .2s ease;
}

.p-entry__body a:hover { text-decoration-color: currentColor; }

/* リスト */
.p-entry__body > ul,
.p-entry__body > ol { padding-left: 1.5em; }

.p-entry__body > ul > li,
.p-entry__body > ol > li { margin-bottom: .5em; line-height: 1.95; }

.p-entry__body > ul > li::marker { color: var(--wk-wine); }

/* 引用 */
.p-entry__body blockquote {
	margin-left: 0;
	margin-right: 0;
	padding: 22px 26px;
	border: 0;
	border-left: 3px solid var(--wk-wine);
	border-radius: 0;
	background: var(--wk-cream);
	color: var(--wk-muted);
	font-size: .95em;
	line-height: 1.95;
}

.p-entry__body blockquote > :first-child { margin-top: 0; }

.p-entry__body blockquote > :last-child { margin-bottom: 0; }

/* 画像 */
.p-entry__body img { border-radius: var(--wk-radius-sm); }

.p-entry__body figcaption {
	margin-top: .7em;
	color: var(--wk-muted);
	font-size: .82em;
	line-height: 1.7;
	text-align: center;
}

/* 表 */
.p-entry__body table {
	width: 100%;
	border-collapse: collapse;
	font-size: .93em;
}

.p-entry__body table th,
.p-entry__body table td {
	padding: 12px 15px;
	border: 1px solid var(--wk-line);
	line-height: 1.8;
	text-align: left;
	vertical-align: top;
}

.p-entry__body table th {
	background: var(--wk-cream);
	font-weight: 500;
	white-space: nowrap;
}

/* 区切り線 */
.p-entry__body hr {
	margin: 2.6em 0;
	border: 0;
	border-top: 1px solid var(--wk-line);
}

/* コード */
.p-entry__body code {
	padding: .15em .45em;
	border-radius: 4px;
	background: var(--wk-cream);
	font-size: .9em;
}

.p-entry__body pre {
	padding: 18px 20px;
	overflow-x: auto;
	border-radius: var(--wk-radius-sm);
	background: #F5F3EF;
	font-size: .88em;
	line-height: 1.8;
}


/* --------------------------------------------------------------------------
   記事下の関連記事
   -------------------------------------------------------------------------- */
.p-entry__related { margin-top: 70px; }


/* --------------------------------------------------------------------------
   コメント欄
   -------------------------------------------------------------------------- */
.c-comment__input,
.c-comment__form textarea {
	border: 1px solid var(--wk-line);
	border-radius: var(--wk-radius-sm);
	background: #fff;
	transition: border-color .25s var(--wk-ease);
}

.c-comment__input:focus,
.c-comment__form textarea:focus { border-color: var(--wk-wine); outline: none; }

.c-comment__label { color: var(--wk-muted); font-size: 13px; }

.c-comment__form-submit { border-radius: 999px; letter-spacing: .08em; }

.c-comment__item { border-bottom: 1px solid var(--wk-line); }


/* ==========================================================================
   スマートフォン
   ========================================================================== */
@media screen and (max-width: 767px) {

	.p-entry__header { margin-top: 28px; margin-bottom: 28px; }

	.p-entry__header02 { margin-bottom: 32px; }

	.p-entry__header02-upper { border-radius: var(--wk-radius) var(--wk-radius) 0 0; }

	.p-entry__body { line-height: 1.9; }

	.p-entry__body > * + * { margin-top: 1.4em; }

	.p-entry__body > h2 { margin-top: 2.2em; font-size: 1.3em; }

	.p-entry__body > h3 { margin-top: 1.9em; font-size: 1.14em; }

	.p-entry__body blockquote { padding: 16px 18px; }

	.p-entry__body table th,
	.p-entry__body table td { padding: 9px 11px; }

	.p-entry__related { margin-top: 48px; }
}
