/* rikuruba-core：記事の部品。色はテーマの変数があればそれを使い、なければミントで出す。 */
.rk-answer,
.rk-toc,
.rk-faq,
.rk-sources,
.rk-info,
.rk-related,
.rk-cta,
.rk-sakurei__label,
.rk-point__label { font-size: 16px; line-height: 1.85; letter-spacing: 0.02em; }

/* この記事の答え */
.rk-answer {
	position: relative;
	margin: 0 0 32px;
	padding: 22px 22px 6px;
	background: var(--answer-bg, #e4f5ec);
	border: var(--bw, 1.5px) solid var(--accent-border, #9fd8bc);
	border-radius: var(--r-card, 18px);
	box-shadow: 0 0 0 4px rgba(228, 245, 236, 0.45);
}
[data-skin="b"] .rk-answer { box-shadow: 4px 4px 0 #1b1b22; }
[data-skin="c"] .rk-answer { box-shadow: none; }
.rk-answer__label {
	display: inline-flex;
	align-items: center;
	margin: 0 0 8px !important;
	padding: 2px 12px;
	font-size: 13px;
	font-weight: 700;
	color: var(--on-accent, #fff);
	background: var(--accent-grad, #38a878);
	border-radius: 999px;
	border: var(--btn-border, 0);
}
.rk-answer__body p { margin: 0 0 16px; font-size: 17px; line-height: 1.9; font-weight: 500; }

/* 目次 */
.rk-toc {
	margin: 0 0 36px;
	padding: 20px 22px;
	background: var(--surface-2, #f3f6f7);
	border: var(--bw, 1.5px) solid var(--line, #d5dce0);
	border-radius: var(--r-card, 18px);
}
.rk-toc__title { margin: 0 0 8px !important; font-weight: 700; font-size: 15px; }
.rk-toc ol { margin: 0; padding-left: 1.4em; }
.rk-toc li { margin: 4px 0; font-size: 15px; }
.rk-toc a { color: var(--ink, #1f2830) !important; font-weight: 500 !important; text-decoration: none; }
.rk-toc a:hover { color: var(--accent-text, #127a5c) !important; text-decoration: underline; }

/* よくある質問 */
.rk-faq { margin: 48px 0 0; }
.rk-faq__item {
	margin: 0 0 12px;
	padding: 18px 20px;
	background: var(--surface-solid, #fff);
	border: var(--bw, 1.5px) solid var(--line, #d5dce0);
	border-radius: var(--r-card, 18px);
	box-shadow: var(--shadow-row, none);
}
.entry .rk-faq__q, .rk-faq__q {
	display: flex;
	gap: 12px;
	margin: 0 0 8px !important;
	padding: 0 !important;
	font-size: 17px !important;
	line-height: 1.6;
	font-family: inherit;
	font-weight: 700;
}
.entry .rk-faq__q::before, .rk-faq__q::before {
	content: "Q";
	position: static !important;
	display: grid;
	place-items: center;
	flex: none;
	width: 28px !important;
	height: 28px !important;
	margin-top: -1px;
	font-size: 14px;
	color: var(--on-accent, #fff);
	background: var(--accent-grad, #38a878) !important;
	border-radius: 999px;
	border: var(--btn-border, 0) !important;
}
.rk-faq__a { padding-left: 40px; }
.rk-faq__a p { margin: 0 0 8px; color: var(--ink-2, #3a434c); }

/* 出典 */
.rk-sources { margin: 40px 0 0; padding-top: 20px; border-top: 1px solid var(--line, #d5dce0); }
.entry .rk-sources__title, .rk-sources__title {
	margin: 0 0 8px !important;
	padding: 0 !important;
	font-size: 15px !important;
	background: none !important;
	border: 0 !important;
	font-family: inherit;
	font-weight: 700;
}
.rk-sources__title::before { display: none !important; }
.rk-sources ol { margin: 0; padding-left: 1.4em; font-size: 14px; }
.rk-sources a { font-weight: 500 !important; }
.rk-sources__date { margin-left: 4px; color: var(--muted, #5c636d); }

/* この記事について */
.rk-info {
	margin: 40px 0 0;
	padding: 22px;
	background: var(--surface-2, #f3f6f7);
	border: var(--bw, 1.5px) solid var(--line, #d5dce0);
	border-radius: var(--r-card, 18px);
}
.entry .rk-info__title, .rk-info__title {
	margin: 0 0 12px !important;
	padding: 0 !important;
	font-size: 16px !important;
	background: none !important;
	border: 0 !important;
	font-family: inherit;
	font-weight: 700;
}
.rk-info__title::before { display: none !important; }
.rk-info__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 20px; margin: 0; }
@media (max-width: 559px) { .rk-info__list { grid-template-columns: 1fr; } }
.rk-info__list div { display: grid; gap: 0; align-content: start; }
.rk-info__list .rk-info__wide { grid-column: 1 / -1; }
.rk-info__list dt { font-size: 12px; font-weight: 700; color: var(--muted, #5c636d); }
.rk-info__list dd { margin: 0; font-size: 15px; font-weight: 700; }
.rk-supervisor { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line, #d5dce0); }
.rk-supervisor p { margin: 0 !important; }
.rk-supervisor__label { font-size: 12px; font-weight: 700; color: var(--muted, #5c636d); }
.rk-supervisor__name { font-size: 18px; font-weight: 700; }
.rk-supervisor__desc { font-size: 14px; color: var(--ink-2, #3a434c); }

/* 関連する記事 */
.rk-related { margin: 40px 0 0; }
.entry .rk-related__title, .rk-related__title { font-size: 19px !important; }
.rk-related ul { list-style: none; margin: 0; padding: 0 !important; display: grid; gap: 10px; }
.rk-related li { margin: 0 !important; }
.rk-related a {
	position: relative;
	display: block;
	padding: 14px 44px 14px 18px;
	font-weight: 700 !important;
	color: var(--ink, #1f2830) !important;
	text-decoration: none;
	background: var(--surface-solid, #fff);
	border: var(--bw, 1.5px) solid var(--line, #d5dce0);
	border-radius: var(--r-row, 10px);
	box-shadow: var(--shadow-row, none);
	line-height: 1.6;
}
.rk-related a::after {
	content: "";
	position: absolute;
	right: 18px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-right: 2px solid var(--accent-text, #127a5c);
	border-top: 2px solid var(--accent-text, #127a5c);
	transform: translateY(-50%) rotate(45deg);
}
.rk-related a:hover { border-color: var(--accent, #38a878); }

/* リクルバの案内（記事の最後は短く） */
.rk-cta {
	margin: 40px 0 0;
	padding: 22px;
	text-align: center;
	background: var(--answer-bg, #e4f5ec);
	border: var(--bw, 1.5px) solid var(--accent-border, #9fd8bc);
	border-radius: var(--r-card, 18px);
}
.rk-cta__text { margin: 0 0 14px !important; font-size: 15px; font-weight: 500; }
.rk-button, .rk-cta .rk-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 26px;
	font-weight: 700 !important;
	font-size: 16px;
	color: var(--on-accent, #fff) !important;
	text-decoration: none;
	background: var(--accent-grad, #38a878);
	border-radius: var(--r-btn, 999px);
	border: var(--btn-border, 0);
	box-shadow: var(--shadow-btn, none);
}

/* 作例 */
.is-style-rk-sakurei {
	position: relative;
	margin: 0 0 1.6em;
	padding: 18px 20px 6px;
	background: var(--surface-solid, #fff);
	border: var(--bw, 1.5px) dashed var(--accent-border, #9fd8bc);
	border-radius: var(--r-card, 18px);
}
[data-skin="b"] .is-style-rk-sakurei { border-color: #1b1b22; }
.rk-sakurei__label { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0 0 10px !important; font-size: 13px; color: var(--muted, #5c636d); line-height: 1.6; }
.rk-sakurei__label span {
	display: inline-flex;
	padding: 1px 12px;
	font-weight: 700;
	color: var(--accent-text, #127a5c);
	background: var(--accent-soft, #e4f5ec);
	border: 1px solid var(--accent-border, #9fd8bc);
	border-radius: 999px;
}
[data-skin="b"] .rk-sakurei__label span { color: #1b1b22; border: 2px solid #1b1b22; }
.is-style-rk-sakurei > p:not(.rk-sakurei__label) { margin: 0 0 14px; }

/* ポイント */
.is-style-rk-point {
	margin: 0 0 1.6em;
	padding: 18px 20px 6px;
	background: var(--answer-bg, #e4f5ec);
	border-radius: var(--r-card, 18px);
	border: var(--bw, 1.5px) solid var(--accent-border, #9fd8bc);
}
.rk-point__label { margin: 0 0 6px !important; font-weight: 700; color: var(--accent-text, #127a5c); }
[data-skin="b"] .rk-point__label { color: #1b1b22; }

/* チェックリスト */
.is-style-rk-checklist { list-style: none; padding-left: 0 !important; display: grid; gap: 10px; }
.is-style-rk-checklist li {
	position: relative;
	margin: 0 !important;
	padding: 12px 16px 12px 50px;
	line-height: 1.7;
	background: var(--surface-solid, #fff);
	border: var(--bw, 1.5px) solid var(--line, #d5dce0);
	border-radius: var(--r-row, 10px);
	box-shadow: var(--shadow-row, none);
}
.is-style-rk-checklist li::before {
	content: "";
	position: absolute;
	left: 14px;
	top: 14px;
	width: 22px;
	height: 22px;
	border-radius: 999px;
	background: var(--accent-grad, #38a878);
	border: var(--btn-border, 0);
}
.is-style-rk-checklist li::after {
	content: "";
	position: absolute;
	left: 21px;
	top: 19px;
	width: 6px;
	height: 10px;
	border-right: 2.5px solid var(--on-accent, #fff);
	border-bottom: 2.5px solid var(--on-accent, #fff);
	transform: rotate(45deg);
}
[data-skin="b"] .is-style-rk-checklist li::after { left: 22px; top: 20px; }
.rk-info .nowrap { white-space: nowrap; }

/* 面談でよく聞く悩み */
.is-style-rk-voice {
	margin: 0 0 1.8em;
	padding: 26px 26px 22px;
	background: var(--cream, #fffdef);
	border: 1px solid var(--line, #e5e4d9);
	border-radius: var(--r-card, 13px);
}
.rk-voice__label { margin: 0 !important; font-size: 18px; font-weight: 900; line-height: 1.6; letter-spacing: 0.02em; color: var(--ink, #292b27); }
.rk-voice__label::before { content: ""; display: block; width: 28px; height: 3px; margin-bottom: 10px; border-radius: 2px; background: var(--accent, #f5b80a); }
.rk-voice__note { margin: 4px 0 16px !important; font-size: 12px; line-height: 1.7; color: var(--muted, #73766b); }
.is-style-rk-voice ul.wp-block-list { list-style: none; margin: 0 0 18px !important; padding: 0 !important; display: grid; gap: 10px; }
.is-style-rk-voice ul.wp-block-list li {
	position: relative;
	margin: 0 !important;
	padding: 12px 18px 12px 44px;
	font-size: 15px;
	line-height: 1.8;
	font-weight: 700;
	background: var(--surface-solid, #fff);
	border: 1px solid var(--line, #e5e4d9);
	border-radius: 4px 16px 16px 16px;
}
.is-style-rk-voice ul.wp-block-list li::before {
	content: "\201C";
	position: absolute;
	left: 14px;
	top: 6px;
	font: 800 30px/1.2 Georgia, serif;
	color: var(--accent, #f5b80a);
}
.rk-voice__answer { margin: 0 !important; padding: 16px 18px 4px; background: var(--surface-solid, #fff); border-left: 3px solid var(--accent, #f5b80a); border-radius: 0 10px 10px 0; }
.rk-voice__answer-label { margin: 0 0 4px !important; font-size: 13px; font-weight: 800; color: var(--accent-text, #6b4c00); }
.rk-voice__answer p:not(.rk-voice__answer-label) { margin: 0 0 12px; font-size: 15px; line-height: 1.95; }
@media (max-width: 600px) {
	.is-style-rk-voice { padding: 20px 16px 16px; }
	.is-style-rk-voice ul.wp-block-list li { font-size: 14px; padding: 10px 14px 10px 38px; }
	.is-style-rk-voice ul.wp-block-list li::before { left: 11px; }
}

/* 本文の図 */
.entry .wp-block-image.rk-figure { margin: 28px 0 32px; }
.entry .wp-block-image.rk-figure img { width: 100%; height: auto; border-radius: 13px; border: 1px solid var(--line, #e5e4d9); }
.entry .wp-block-image.rk-figure figcaption { margin-top: 8px; font-size: 12px; line-height: 1.7; color: var(--muted, #73766b); text-align: center; }

/* 3列までの表はスマホでも横スクロールにせず、画面幅で折り返す（4列以上は横スクロールのまま） */
@media (max-width: 800px) {
	.entry .table-scroll table:not(:has(tr > :nth-child(4))) { min-width: 0; }
	.entry .table-scroll table:not(:has(tr > :nth-child(4))) :is(th, td):not(:first-child) { min-width: 0; }
	.entry .table-scroll table:not(:has(tr > :nth-child(4))) :is(th, td) { padding: 12px 14px; }
	.entry .table-scroll table:not(:has(tr > :nth-child(4))) :is(th, td):first-child { white-space: normal; min-width: 5.5em; }
	.entry .table-scroll table:has(tr > :nth-child(3)):not(:has(tr > :nth-child(4))) :is(th, td) { font-size: 13px; padding: 10px 10px; }
	.entry .table-scroll table:has(tr > :nth-child(3)):not(:has(tr > :nth-child(4))) :is(th, td):first-child { min-width: 4.5em; }
	.table-scroll-hint--fit { display: none !important; }
}

/* 0.4.0 3段構成：子記事の冒頭／まとめて読む／カテゴリの基本記事／面談で多い悩み */
.rk-series-top { margin: 0 0 24px; padding: 12px 16px; font-size: 14px; line-height: 1.8; color: var(--ink, #1f2830); background: var(--surface-solid, #fff); border: var(--bw, 1.5px) solid var(--line, #d5dce0); border-left: 4px solid var(--accent-text, #127a5c); border-radius: var(--r-row, 10px); }
.rk-series-top a { font-weight: 700; color: var(--accent-text, #127a5c) !important; }
.rk-series { margin: 40px 0 0; }
.entry .rk-series__title, .rk-series__title { font-size: 19px !important; }
.rk-series ul { list-style: none; margin: 0; padding: 0 !important; display: grid; gap: 10px; }
.rk-series li { margin: 0 !important; }
.rk-series a { display: block; padding: 14px 18px; font-weight: 700 !important; color: var(--ink, #1f2830) !important; text-decoration: none; background: var(--surface-solid, #fff); border: var(--bw, 1.5px) solid var(--line, #d5dce0); border-radius: var(--r-row, 10px); line-height: 1.6; }
.rk-series__pillar a { border-color: var(--accent-border, #9fd8bc); background: var(--answer-bg, #e4f5ec); }
.rk-series__badge { display: inline-block; margin-right: 8px; padding: 1px 8px; font-size: 12px; color: #fff; background: var(--accent-text, #127a5c); border-radius: 999px; vertical-align: 2px; }
.rk-series__more { margin: 12px 0 0 !important; text-align: right; font-size: 14px; }
.rk-series__more a { display: inline; padding: 0; border: 0; background: none; color: var(--accent-text, #127a5c) !important; }

.rk-pillar-card { margin: 0 0 32px; padding: 22px 22px 18px; background: var(--answer-bg, #e4f5ec); border: var(--bw, 1.5px) solid var(--accent-border, #9fd8bc); border-radius: var(--r-card, 18px); }
.rk-pillar-card__label { margin: 0 0 6px; font-size: 13px; font-weight: 700; color: var(--accent-text, #127a5c); }
.rk-pillar-card__title { margin: 0 0 8px; font-size: 20px; line-height: 1.5; }
.rk-pillar-card__title a { color: var(--ink, #1f2830); text-decoration: none; }
.rk-pillar-card__title a:hover { text-decoration: underline; }
.rk-pillar-card__text { margin: 0; font-size: 14px; line-height: 1.8; color: var(--ink-soft, #4a5560); }

.rk-worries { margin: 0 0 40px; padding: 26px 22px 18px; background: var(--surface-solid, #fff); border: var(--bw, 1.5px) solid var(--line, #d5dce0); border-radius: var(--r-card, 18px); box-shadow: var(--shadow-row, none); }
.rk-worries-section { padding-top: 0; }
.rk-worries__label { margin: 0 0 4px; font-size: 13px; font-weight: 700; color: var(--accent-text, #127a5c); letter-spacing: .04em; }
.rk-worries__title { margin: 0 0 8px; font-size: 22px; line-height: 1.45; }
.rk-worries__note { margin: 0 0 16px; font-size: 13px; line-height: 1.8; color: var(--ink-soft, #4a5560); }
.rk-worries__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.rk-worries__list > li > a, .rk-worries__list > li > div { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; grid-template-areas: "rank name name" "rank bar count" "rank go go"; column-gap: 10px; row-gap: 6px; align-items: center; padding: 12px 14px; border: var(--bw, 1.5px) solid var(--line, #d5dce0); border-radius: var(--r-row, 10px); color: var(--ink, #1f2830); text-decoration: none; background: var(--surface-solid, #fff); }
.rk-worries__list > li > a:hover { border-color: var(--accent-border, #9fd8bc); }
.rk-worries__rank { grid-area: rank; align-self: start; display: grid; place-items: center; width: 28px; height: 28px; font-weight: 700; font-size: 14px; color: #fff; background: var(--accent-text, #127a5c); border-radius: 50%; }
.rk-worries__list > li:nth-child(n+4) .rk-worries__rank { color: var(--accent-text, #127a5c); background: var(--answer-bg, #e4f5ec); }
.rk-worries__name { grid-area: name; font-weight: 700; font-size: 15px; line-height: 1.5; }
.rk-worries__count { grid-area: count; text-align: right; min-width: 4.6em; font-size: 13px; color: var(--ink-soft, #4a5560); white-space: nowrap; font-variant-numeric: tabular-nums; }
.rk-worries__bar { grid-area: bar; height: 6px; background: var(--line, #e6ebee); border-radius: 3px; overflow: hidden; }
.rk-worries__bar span { display: block; height: 100%; background: var(--accent-text, #127a5c); border-radius: 3px; }
.rk-worries__go { grid-area: go; text-align: left; font-size: 13px; font-weight: 700; color: var(--accent-text, #127a5c); }
@media (min-width: 768px) {
	.rk-worries { padding: 32px 32px 24px; }
	.rk-worries__title { font-size: 26px; }
	.rk-worries__list > li > a, .rk-worries__list > li > div { grid-template-columns: 32px 17em minmax(0, 1fr) 5em 17em; grid-template-areas: "rank name bar count go"; column-gap: 16px; }
	.rk-worries__rank { align-self: center; }
}
