/*
Theme Name: 労務のしくみ帳(shikumi)
Description: 労務のしくみ帳 専用の軽いテーマ。見た目だけを担当し、機能はプラグイン shikumi-core が担当する。
Version: 1.0.3
Requires at least: 6.4
Requires PHP: 8.0
Author: 労務のしくみ帳 編集部
License: GPL-2.0-or-later
Text Domain: shikumi
*/

/* ============ 基本の値(新サイトの仕様.md 3-2) ============ */
:root {
	--sk-accent: #1F6B5C;
	--sk-accent-dark: #134A3F;
	--sk-accent-soft: #E6F1EE;
	--sk-accent-line: #CFE3DD;
	--sk-ground: #F3F5F4;
	--sk-surface: #FFFFFF;
	--sk-line: #E1E7E5;
	--sk-line-strong: #C9D3D0;
	--sk-ink: #1D2B2A;
	--sk-ink-2: #3F4B48;
	--sk-sub: #56625F;
	--sk-caution-bg: #FFF6E5;
	--sk-caution: #8A5A00;
	--sk-footer: #1D2B2A;
	--sk-footer-ink: #D5DDDB;
	--sk-radius: 12px;
	--sk-radius-l: 16px;
	--sk-font: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", "YuGothic", "Meiryo", "Noto Sans JP", sans-serif;
	--sk-page: 1100px;
	--sk-measure: 680px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 16px; }
body {
	margin: 0;
	background: var(--sk-ground);
	color: var(--sk-ink);
	font-family: var(--sk-font);
	font-size: 16px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	overflow-wrap: anywhere;
}
img, svg, video { max-width: 100%; height: auto; }
a { color: var(--sk-accent); text-underline-offset: 3px; }
a:hover { color: var(--sk-accent-dark); }
:focus-visible { outline: 3px solid var(--sk-accent); outline-offset: 2px; border-radius: 4px; }
button, input, select, textarea { font: inherit; color: inherit; }
h1, h2, h3, h4 { line-height: 1.5; }

.sk-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sk-skip { position: absolute; left: 8px; top: -60px; z-index: 100; background: var(--sk-accent); color: #fff; padding: 8px 14px; border-radius: 8px; }
.sk-skip:focus { top: 8px; }
.sk-container { width: 100%; max-width: calc(var(--sk-page) + 32px); margin: 0 auto; padding-left: 16px; padding-right: 16px; }
.sk-card { background: var(--sk-surface); border: 1px solid var(--sk-line); border-radius: var(--sk-radius); }
.sk-icon { flex-shrink: 0; }

/* ============ ボタン・チップ ============ */
.sk-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 0 20px; border-radius: 22px; font-size: 14px; font-weight: 700; text-decoration: none; cursor: pointer; border: 1px solid transparent; }
.sk-btn--outline { border-color: var(--sk-accent); color: var(--sk-accent); background: var(--sk-surface); }
.sk-btn--outline:hover { background: var(--sk-accent-soft); }
.sk-btn--solid { background: var(--sk-accent); color: #fff; }
.sk-btn--solid:hover { background: var(--sk-accent-dark); color: #fff; }
.sk-iconbtn { width: 44px; height: 44px; border: 0; background: transparent; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; border-radius: 10px; color: var(--sk-ink); }
.sk-iconbtn:hover { background: var(--sk-ground); }
.sk-chip { display: inline-flex; align-items: center; min-height: 34px; padding: 6px 14px; border-radius: 17px; background: var(--sk-accent-soft); color: var(--sk-accent-dark); font-size: 13px; text-decoration: none; white-space: nowrap; }
.sk-chip:hover { background: var(--sk-accent-line); color: var(--sk-accent-dark); }
.sk-chip.is-current { background: var(--sk-accent); color: #fff; }
.sk-tag { display: inline-flex; align-items: center; font-size: 12px; line-height: 1.4; padding: 4px 10px; border-radius: 12px; background: var(--sk-accent-soft); color: var(--sk-accent-dark); text-decoration: none; }
.sk-tag--solid { background: var(--sk-accent); color: #fff; }
.sk-badge { font-size: 12px; background: var(--sk-accent); color: #fff; padding: 3px 10px; border-radius: 10px; white-space: nowrap; }

/* ============ ヘッダー ============ */
.sk-header { background: var(--sk-surface); border-bottom: 1px solid var(--sk-line); }
.sk-header__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 60px; padding-top: 8px; padding-bottom: 8px; padding-right: 8px; }
.sk-logo { display: flex; align-items: center; gap: 10px; color: var(--sk-ink); text-decoration: none; min-width: 0; }
.sk-logo:hover { color: var(--sk-ink); }
.sk-logo__mark { width: 32px; height: 32px; border-radius: 8px; }
.sk-logo__text { display: flex; flex-direction: column; min-width: 0; }
.sk-logo__name { font-size: 18px; font-weight: 700; letter-spacing: .03em; line-height: 1.3; }
.sk-logo__tagline { display: none; font-size: 12px; color: var(--sk-sub); line-height: 1.4; }
.sk-header__tools { display: flex; align-items: center; gap: 4px; }
.sk-search { display: flex; align-items: center; gap: 8px; background: var(--sk-ground); border-radius: 22px; padding: 0 6px 0 16px; min-height: 44px; color: var(--sk-sub); }
.sk-search input { flex: 1; min-width: 0; border: 0; background: transparent; font-size: 16px; color: var(--sk-ink); outline: none; height: 44px; }
.sk-search--block { background: var(--sk-surface); border: 1px solid var(--sk-line); margin-top: 16px; max-width: 560px; }
.sk-search--block .sk-btn { min-height: 36px; padding: 0 16px; }
.sk-searchbox { padding: 0 0 12px; }
.sk-header__tools .sk-header__cal, .sk-header__tools .sk-search--header { display: none; }
.sk-nav { display: none; }
.sk-drawer { border-top: 1px solid var(--sk-line); padding: 8px 0 16px; }
.sk-drawer__title { margin: 8px 0 4px; font-size: 12px; color: var(--sk-sub); }
.sk-drawer__list { list-style: none; margin: 0; padding: 0; }
.sk-drawer__list a { display: flex; align-items: center; justify-content: space-between; min-height: 48px; border-bottom: 1px solid var(--sk-line); color: var(--sk-ink); text-decoration: none; font-size: 15px; }
.sk-drawer__list--sub { margin-top: 12px; }

/* ============ トップ ============ */
.sk-intro { background: var(--sk-surface); border-bottom: 1px solid var(--sk-line); padding: 18px 0 20px; }
.sk-intro__catch { margin: 0 0 4px; font-size: 16px; font-weight: 700; }
.sk-intro__text { margin: 0; font-size: 13px; color: var(--sk-sub); line-height: 1.7; }
.sk-home, .sk-archive { padding-top: 20px; padding-bottom: 48px; display: flex; flex-direction: column; gap: 32px; }
.sk-home__section { display: flex; flex-direction: column; gap: 12px; }
.sk-sechead { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; }
.sk-sechead h2 { margin: 0; font-size: 19px; }
.sk-sechead p { margin: 0; font-size: 13px; color: var(--sk-sub); }

.sk-months { display: grid; gap: 12px; }
.sk-month { padding: 18px; display: flex; flex-direction: column; gap: 12px; }
.sk-month.is-now { border: 2px solid var(--sk-accent); border-radius: 14px; }
.sk-month.is-next { display: none; }
.sk-month__head { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.sk-month__title { margin: 0; font-size: 18px; }
.sk-month__more { font-size: 13px; text-decoration: none; }
.sk-month__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.sk-month__list li { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; line-height: 1.6; }
.sk-month__list a { color: var(--sk-ink); text-decoration: none; }
.sk-month__list a:hover { color: var(--sk-accent); text-decoration: underline; }
.sk-month__box { width: 18px; height: 18px; border: 2px solid var(--sk-accent); border-radius: 4px; flex-shrink: 0; margin-top: 3px; }
.sk-month.is-next .sk-month__box { border-color: #A9B5B2; }
.sk-month__due { display: block; font-size: 12px; color: var(--sk-sub); margin-top: 2px; }
.sk-month-link { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 18px; min-height: 44px; color: var(--sk-ink); text-decoration: none; }
.sk-month-link > span { display: flex; flex-direction: column; }
.sk-month-link strong { font-size: 15px; }
.sk-month-link span span { font-size: 12px; color: var(--sk-sub); }
.sk-month-link .sk-icon { color: var(--sk-accent); }

.sk-guides { display: flex; flex-direction: column; border: 1px solid var(--sk-line); border-radius: 14px; overflow: hidden; background: var(--sk-surface); }
.sk-guides .sk-guide { border: 0; border-bottom: 1px solid var(--sk-line); border-radius: 0; }
.sk-guides .sk-guide:last-child { border-bottom: 0; }
.sk-guides.is-collapsed .sk-guide:nth-child(n+10) { display: none; }
.sk-guide { display: flex; flex-direction: column; gap: 3px; padding: 14px 16px; color: var(--sk-ink); text-decoration: none; }
.sk-guide:hover { background: #FAFBFB; color: var(--sk-ink); }
.sk-guide__cat { font-size: 11px; color: var(--sk-accent); }
.sk-guide__title { font-size: 15px; font-weight: 700; line-height: 1.5; }
.sk-guide__desc { display: none; font-size: 13px; color: var(--sk-sub); line-height: 1.6; }
.sk-guides--wide { border: 0; background: transparent; gap: 12px; overflow: visible; }
.sk-guides--wide .sk-guide { border: 1px solid var(--sk-line); border-radius: 14px; padding: 16px 18px; gap: 6px; }
.sk-guides--wide .sk-guide:last-child { border-bottom: 1px solid var(--sk-line); }
.sk-guide--full .sk-tag { align-self: flex-start; font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 8px; }
.sk-guide--full .sk-guide__title { font-size: 16px; }
.sk-guide--full .sk-guide__desc { display: block; }
.sk-guides__more { align-self: stretch; }

.sk-tools { display: grid; gap: 10px; }
.sk-toolcard { display: flex; gap: 14px; align-items: center; padding: 16px; border-radius: 14px; background: var(--sk-accent-soft); color: var(--sk-ink); text-decoration: none; }
.sk-toolcard:hover { background: var(--sk-accent-line); color: var(--sk-ink); }
.sk-toolcard__icon { width: 44px; height: 44px; border-radius: 22px; background: var(--sk-accent); color: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.sk-toolcard__text { display: flex; flex-direction: column; gap: 2px; }
.sk-toolcard__text strong { font-size: 15px; }
.sk-toolcard__text span { font-size: 12px; color: var(--sk-ink-2); line-height: 1.6; }

.sk-cats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.sk-cat { padding: 0; }
.sk-cat__name { display: flex; align-items: center; min-height: 44px; padding: 10px 12px; font-size: 13px; font-weight: 700; color: var(--sk-ink); text-decoration: none; line-height: 1.4; }
.sk-cat__list { display: none; list-style: none; margin: 0; padding: 0 20px 20px; flex-direction: column; gap: 8px; }
.sk-cat__list a { font-size: 14px; line-height: 1.6; text-decoration: none; }
.sk-cat__list a:hover { text-decoration: underline; }

/* ============ カテゴリ・検索 ============ */
.sk-pagehead { background: var(--sk-surface); border-bottom: 1px solid var(--sk-line); padding: 14px 0 22px; }
.sk-pagehead__title { margin: 8px 0 0; font-size: 24px; }
.sk-pagehead__desc { margin-top: 8px; font-size: 14px; line-height: 1.8; color: var(--sk-ink-2); }
.sk-pagehead__desc p { margin: 0; }
.sk-rows { display: flex; flex-direction: column; overflow: hidden; border-radius: 14px; }
.sk-row { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border-bottom: 1px solid var(--sk-line); color: var(--sk-ink); text-decoration: none; }
.sk-row:last-child { border-bottom: 0; }
.sk-row:hover { background: #FAFBFB; color: var(--sk-ink); }
.sk-row__title { font-size: 15px; line-height: 1.6; font-weight: 600; }
.sk-row__meta { font-size: 12px; color: var(--sk-sub); }
.sk-empty { padding: 20px; }
.sk-empty p { margin: 0; }
.navigation.pagination { margin-top: 16px; }
.nav-links { display: flex; flex-wrap: wrap; gap: 6px; }
.nav-links .page-numbers { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; padding: 0 12px; border-radius: 10px; background: var(--sk-surface); border: 1px solid var(--sk-line); text-decoration: none; color: var(--sk-ink); }
.nav-links .page-numbers.current { background: var(--sk-accent); border-color: var(--sk-accent); color: #fff; }

/* ============ パンくず ============ */
.sk-crumb ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 2px 0; font-size: 12px; color: var(--sk-sub); }
.sk-crumb li + li::before { content: "›"; margin: 0 6px; }
.sk-crumb a { color: var(--sk-sub); text-decoration: none; }
.sk-crumb a:hover { text-decoration: underline; }
.sk-crumb span[aria-current] { display: inline-block; max-width: 22em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; vertical-align: bottom; }

/* ============ 記事 ============ */
.sk-single, .sk-page { padding-top: 0; padding-bottom: 48px; }
.sk-article { border: 0; border-radius: 0; margin: 0 -16px; padding: 14px 18px 36px; display: flex; flex-direction: column; gap: 22px; }
.sk-article__head { display: flex; flex-direction: column; gap: 12px; }
.sk-article__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.sk-article__title { margin: 0; font-size: 24px; line-height: 1.5; font-weight: 700; }
.sk-byline { display: flex; align-items: center; gap: 10px; font-size: 12px; color: var(--sk-sub); }
.sk-byline__icon { width: 36px; height: 36px; border-radius: 18px; background: var(--sk-accent-soft); color: var(--sk-accent); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.sk-byline__text { display: flex; flex-direction: column; gap: 2px; line-height: 1.5; }

.sk-author { margin-top: 12px; background: var(--sk-ground); border-radius: var(--sk-radius); padding: 18px; display: flex; gap: 14px; align-items: flex-start; }
.sk-author__icon { width: 44px; height: 44px; border-radius: 22px; background: var(--sk-accent-soft); color: var(--sk-accent); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.sk-author p { margin: 0 0 8px; font-size: 14px; line-height: 1.8; }
.sk-author .sk-author__title { font-size: 15px; font-weight: 700; margin-bottom: 4px; }
.sk-author__link { font-size: 14px; font-weight: 700; text-decoration: none; }

.sk-related__title { margin: 0 0 10px; font-size: 16px; }
.sk-related__list { display: grid; gap: 10px; }
.sk-related__item { padding: 14px 16px; border: 1px solid var(--sk-line); border-radius: var(--sk-radius); font-size: 15px; line-height: 1.6; color: var(--sk-ink); text-decoration: none; }
.sk-related__item:hover { border-color: var(--sk-accent); color: var(--sk-ink); }

.sk-side { display: none; }

/* ============ 本文(記事の部品 sk-) ============ */
.sk-content { font-size: 17px; line-height: 1.9; counter-reset: sk-h2; }
.sk-content > * { margin-top: 0; margin-bottom: 0; }
.sk-content > * + * { margin-top: 22px; }
.sk-content li p, .sk-content td p, .sk-content th p { margin: 0; }
.sk-content > p + p { margin-top: 1em; }
.sk-content h2 { counter-increment: sk-h2; display: flex; gap: 12px; align-items: flex-start; font-size: 21px; line-height: 1.5; margin-top: 44px; }
.sk-content h2::before { content: counter(sk-h2); width: 32px; height: 32px; border-radius: 8px; background: var(--sk-accent); color: #fff; font-size: 16px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px; }
.sk-content h3 { font-size: 18px; margin-top: 32px; padding-bottom: 6px; border-bottom: 2px solid var(--sk-accent-soft); }
.sk-content h4 { font-size: 16px; margin-top: 24px; }
.sk-content ul, .sk-content ol { padding-left: 1.4em; }
.sk-content li + li { margin-top: .35em; }
.sk-content strong { font-weight: 700; }
.sk-content a { text-decoration: underline; }
.sk-content blockquote { margin-left: 0; margin-right: 0; padding: 12px 16px; background: var(--sk-ground); border-radius: var(--sk-radius); font-size: 15px; }
.sk-content figure { margin-left: 0; margin-right: 0; }
.sk-content hr { border: 0; border-top: 1px solid var(--sk-line); }

/* 表(判断表・比較表・計算例も同じ見た目) */
.sk-content table, .sk-table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.6; }
.sk-content .sk-tablewrap, .sk-tablewrap { overflow-x: auto; border: 1px solid var(--sk-line); border-radius: var(--sk-radius); -webkit-overflow-scrolling: touch; }
.sk-content .sk-tablewrap table { min-width: 100%; }
.sk-content caption { text-align: left; font-size: 13px; color: var(--sk-sub); padding: 12px 12px 8px; }
.sk-content th, .sk-content td { padding: 9px 12px; border-bottom: 1px solid var(--sk-line); text-align: left; vertical-align: top; }
.sk-content thead th { background: var(--sk-ground); font-weight: 700; white-space: nowrap; }
.sk-content .sk-tablewrap tbody th { background: var(--sk-accent-soft); font-weight: 700; white-space: nowrap; }
.sk-content tbody tr:last-child > * { border-bottom: 0; }
.sk-content td.num, .sk-content th.num { text-align: right; white-space: nowrap; }

/* この記事で分かること */
.sk-summary { background: var(--sk-accent-soft); border-radius: var(--sk-radius); padding: 18px; font-size: 15px; line-height: 1.7; }
.sk-summary__title, .sk-summary > p:first-child { margin: 0 0 8px; font-weight: 700; color: var(--sk-accent-dark); }
.sk-summary ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.sk-summary li { position: relative; padding-left: 26px; margin: 0; }
.sk-summary li::before { content: ""; position: absolute; left: 2px; top: .45em; width: 12px; height: 7px; border-left: 2.4px solid var(--sk-accent); border-bottom: 2.4px solid var(--sk-accent); transform: rotate(-45deg); }

/* 目次(プラグインが出す) */
.sk-toc { border: 1px solid var(--sk-line); border-radius: var(--sk-radius); padding: 16px 18px; }
.sk-toc__title { margin: 0 0 6px; font-size: 15px; font-weight: 700; }
.sk-toc__list { list-style: none; margin: 0; padding: 0; counter-reset: sk-toc; }
.sk-toc__list li { counter-increment: sk-toc; margin: 0; }
.sk-toc__list a { display: flex; gap: 10px; padding: 6px 0; font-size: 15px; line-height: 1.5; color: var(--sk-ink); text-decoration: underline; text-decoration-color: var(--sk-line-strong); }
.sk-toc__list a::before { content: counter(sk-toc); color: var(--sk-accent); font-weight: 700; min-width: 1em; }
.sk-toc__list a.is-active { color: var(--sk-accent); font-weight: 700; }

/* 結論ボックス */
.sk-conclusion { border: 2px solid var(--sk-accent); border-radius: var(--sk-radius); padding: 16px 18px; background: var(--sk-surface); }
.sk-conclusion__title, .sk-conclusion > p:first-child { margin: 0 0 6px; font-size: 14px; font-weight: 700; color: var(--sk-accent); }

/* 全体の流れ・ステップ */
.sk-steps { list-style: none; padding: 0 !important; margin-left: 0; display: flex; flex-direction: column; gap: 0; counter-reset: sk-step; }
.sk-steps > li { position: relative; counter-increment: sk-step; padding: 0 0 20px 48px; margin: 0 !important; }
.sk-steps > li::before { content: counter(sk-step); position: absolute; left: 0; top: 0; width: 32px; height: 32px; border-radius: 16px; background: var(--sk-accent); color: #fff; font-size: 15px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.sk-steps > li::after { content: ""; position: absolute; left: 15px; top: 36px; bottom: 4px; width: 2px; background: var(--sk-accent-line); }
.sk-steps > li:last-child { padding-bottom: 0; }
.sk-steps > li:last-child::after { display: none; }
.sk-steps__title { display: block; font-weight: 700; line-height: 1.6; margin-top: 3px; }
.sk-steps__when { display: inline-block; font-size: 12px; color: var(--sk-accent-dark); background: var(--sk-accent-soft); border-radius: 8px; padding: 1px 8px; margin-left: 6px; font-weight: 400; }

/* 計算例 */
.sk-calc { background: var(--sk-ground); border-radius: var(--sk-radius); padding: 16px 18px; font-size: 15px; }
.sk-calc__title, .sk-calc > p:first-child { margin: 0 0 6px; font-weight: 700; }
.sk-calc__formula { display: block; font-family: var(--sk-font); background: var(--sk-surface); border: 1px solid var(--sk-line); border-radius: 8px; padding: 10px 12px; margin: 8px 0; line-height: 1.7; }

/* チェックリスト */
.sk-check { list-style: none; padding: 16px 18px !important; border: 1px solid var(--sk-line); border-radius: var(--sk-radius); display: flex; flex-direction: column; gap: 10px; font-size: 15px; line-height: 1.7; }
.sk-check li { position: relative; padding-left: 30px; margin: 0 !important; }
.sk-check li::before { content: ""; position: absolute; left: 0; top: .3em; width: 18px; height: 18px; border: 2px solid var(--sk-accent); border-radius: 4px; }

/* 労務の現場から(取材の中身) */
.sk-genba { border: 2px solid var(--sk-accent); border-radius: var(--sk-radius); padding: 16px 18px; font-size: 15px; line-height: 1.85; }
.sk-genba__title, .sk-genba > p:first-child { margin: 0 0 6px; font-size: 14px; font-weight: 700; color: var(--sk-accent); }
.sk-genba > p + p { margin-top: .8em; }

/* 注意 */
.sk-caution { background: var(--sk-caution-bg); border-radius: var(--sk-radius); padding: 14px 16px 14px 44px; font-size: 15px; line-height: 1.8; position: relative; }
.sk-caution::before { content: "!"; position: absolute; left: 14px; top: 16px; width: 20px; height: 20px; border-radius: 10px; background: var(--sk-caution); color: #fff; font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; line-height: 1; }
.sk-caution strong:first-child { margin-right: .4em; }

/* 詳しく読む(記事へのリンクカード) */
.sk-linkcard { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border: 1px solid var(--sk-line); border-radius: var(--sk-radius); color: var(--sk-ink) !important; text-decoration: none !important; }
.sk-linkcard:hover { border-color: var(--sk-accent); }
.sk-linkcard::after { content: "›"; color: var(--sk-accent); font-size: 22px; font-weight: 700; margin-left: auto; }
.sk-linkcard__label { display: block; font-size: 12px; color: var(--sk-accent); font-weight: 700; }
.sk-linkcard__title { display: block; font-size: 15px; font-weight: 700; line-height: 1.6; }

/* PR表記 */
.sk-pr { font-size: 13px; color: var(--sk-sub); background: var(--sk-ground); border-radius: 8px; padding: 8px 12px; line-height: 1.7; }

/* FAQ */
.sk-faq { display: flex; flex-direction: column; gap: 10px; }
.sk-faq details { border: 1px solid var(--sk-line); border-radius: var(--sk-radius); padding: 0 16px; }
.sk-faq summary { cursor: pointer; font-weight: 700; padding: 14px 0; font-size: 15px; line-height: 1.6; }
.sk-faq details > *:not(summary) { margin: 0 0 14px; font-size: 15px; }

/* 更新履歴 */
.sk-history { font-size: 14px; color: var(--sk-ink-2); border-top: 1px solid var(--sk-line); padding-top: 14px; }
.sk-history__title, .sk-history > p:first-child { margin: 0 0 6px; font-weight: 700; color: var(--sk-ink); }
.sk-history ul { margin: 0; padding-left: 1.2em; }

/* ============ 計算ツール(プラグインの部品) ============ */
.sk-tool { background: var(--sk-ground); border-radius: var(--sk-radius-l); padding: 18px; display: flex; flex-direction: column; gap: 14px; font-size: 15px; line-height: 1.7; }
.sk-tool__head { display: flex; align-items: center; gap: 10px; }
.sk-tool__icon { width: 36px; height: 36px; border-radius: 18px; background: var(--sk-accent); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.sk-tool__title { margin: 0 !important; font-size: 16px; font-weight: 700; line-height: 1.5; }
.sk-tool__note { margin: 0 !important; font-size: 12px; color: var(--sk-sub); line-height: 1.5; }
.sk-tool__form { display: flex; flex-direction: column; gap: 14px; }
.sk-tool__field { margin: 0; }
.sk-tool__field label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; }
.sk-tool__field[hidden] { display: none; }
.sk-tool__field input, .sk-tool__field select { height: 46px; border: 1px solid var(--sk-line-strong); border-radius: 10px; background: var(--sk-surface); padding: 0 12px; font-size: 16px; font-weight: 400; width: 100%; }
.sk-tool__help { margin: 4px 0 0 !important; font-size: 12px; color: var(--sk-sub); line-height: 1.6; }
.sk-tool__radios { border: 0; padding: 0; display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.sk-tool__radios legend { font-size: 14px; font-weight: 600; padding: 0; margin-bottom: 6px; width: 100%; }
.sk-tool__radios label, .sk-tool__field.sk-tool__radios label { display: inline-flex; flex-direction: row; align-items: center; gap: 6px; min-height: 44px; font-weight: 400; }
.sk-tool__radios input { width: 18px; height: 18px; accent-color: var(--sk-accent); }
.sk-tool__grid { display: grid; gap: 14px; }
.sk-tool__btn { height: 48px; border: 0; border-radius: 24px; background: var(--sk-accent); color: #fff; font-size: 16px; font-weight: 700; cursor: pointer; }
.sk-tool__btn:hover { background: var(--sk-accent-dark); }
.sk-tool__result { display: flex; flex-direction: column; gap: 12px; }
.sk-tool__result[hidden] { display: none; }
.sk-tool__answer { background: var(--sk-surface); border-radius: var(--sk-radius); padding: 14px 16px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.sk-tool__answer span { font-size: 14px; color: var(--sk-ink-2); }
.sk-tool__answer strong { font-size: 26px; color: var(--sk-accent); white-space: nowrap; }
.sk-tool__table { background: var(--sk-surface); border-radius: var(--sk-radius); overflow: hidden; font-size: 14px !important; }
.sk-tool__table th, .sk-tool__table td { padding: 8px 12px; border-bottom: 1px solid var(--sk-line); }
.sk-tool__table tbody th { font-weight: 400; color: var(--sk-ink-2); white-space: normal; background: transparent; }
.sk-tool__foot { margin: 0 !important; font-size: 12px; color: var(--sk-sub); line-height: 1.7; }
.sk-tool__error { margin: 0 !important; color: #A33A1B; font-weight: 700; font-size: 14px; }

/* ============ お問い合わせフォーム(Contact Form 7) ============ */
.wpcf7 form { display: flex; flex-direction: column; gap: 18px; margin-top: 8px; }
.wpcf7 form p { margin: 0; }
.wpcf7 label { display: flex; flex-direction: column; gap: 6px; font-size: 15px; font-weight: 600; line-height: 1.6; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 select, .wpcf7 textarea { width: 100%; border: 1px solid var(--sk-line-strong); border-radius: 10px; background: var(--sk-surface); padding: 10px 12px; font-size: 16px; font-weight: 400; min-height: 46px; }
.wpcf7 textarea { min-height: 180px; resize: vertical; }
.wpcf7 .wpcf7-acceptance label { flex-direction: row; align-items: center; gap: 8px; font-weight: 400; min-height: 44px; }
.wpcf7 .wpcf7-acceptance input { width: 20px; height: 20px; accent-color: var(--sk-accent); }
.wpcf7 .wpcf7-list-item { margin: 0; }
.wpcf7 input[type="submit"] { align-self: flex-start; min-width: 200px; height: 48px; border: 0; border-radius: 24px; background: var(--sk-accent); color: #fff; font-size: 16px; font-weight: 700; cursor: pointer; }
.wpcf7 input[type="submit"]:hover { background: var(--sk-accent-dark); }
.wpcf7 input[type="submit"]:disabled { opacity: .5; cursor: not-allowed; }
.wpcf7-not-valid-tip { color: #A33A1B; font-size: 13px; font-weight: 400; margin-top: 4px; }
.wpcf7 form .wpcf7-response-output { margin: 0; padding: 12px 14px; border-radius: 10px; font-size: 14px; }

/* ============ 労務カレンダー(プラグインの部品) ============ */
.sk-cal { display: flex; flex-direction: column; gap: 16px; }
.sk-cal__jump { display: flex; flex-wrap: wrap; gap: 6px; }
.sk-cal__jump a { display: inline-flex; align-items: center; justify-content: center; min-width: 52px; min-height: 36px; padding: 0 10px; border-radius: 18px; background: var(--sk-accent-soft); color: var(--sk-accent-dark); font-size: 13px; text-decoration: none !important; }
.sk-cal__jump a[aria-current] { background: var(--sk-accent); color: #fff; }
.sk-cal__month { border: 1px solid var(--sk-line); border-radius: 14px; padding: 16px 18px; }
.sk-cal__month.is-now { border: 2px solid var(--sk-accent); }
.sk-content .sk-cal__title { margin: 0 0 10px; font-size: 18px; display: flex; align-items: center; gap: 10px; }
.sk-content .sk-cal__title::before { display: none; }
.sk-cal__badge { font-size: 12px; font-weight: 400; background: var(--sk-accent); color: #fff; padding: 2px 10px; border-radius: 10px; }
.sk-cal__list { list-style: none; padding: 0 !important; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.sk-cal__item { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.6; margin: 0 !important; }
.sk-cal__tag { flex-shrink: 0; font-size: 11px; line-height: 1.4; padding: 3px 8px; border-radius: 8px; background: var(--sk-accent-soft); color: var(--sk-accent-dark); margin-top: 2px; min-width: 5.5em; text-align: center; }
.sk-cal__due { display: block; font-size: 12px; color: var(--sk-sub); }

/* ============ 広告の枠(新サイトの仕様.md 3-5) ============ */
.sk-ad { margin: 8px 0; display: flex; flex-direction: column; gap: 6px; min-height: 300px; }
.sk-ad__label { font-size: 11px; color: var(--sk-sub); text-align: center; letter-spacing: .1em; line-height: 1.4; }
.sk-ad ins { min-height: 280px; }
.sk-ad:has(ins[data-ad-status="unfilled"]) { display: none; }
.sk-ad--preview .sk-ad__box { min-height: 280px; border: 1px dashed #A9B5B2; background: var(--sk-ground); display: flex; align-items: center; justify-content: center; font-size: 12px; color: var(--sk-sub); border-radius: 8px; }
.sk-content .sk-ad { margin-top: 30px; }

/* ============ フッター ============ */
.sk-footer { background: var(--sk-footer); color: var(--sk-footer-ink); padding: 28px 0 32px; font-size: 13px; }
.sk-footer a { color: var(--sk-footer-ink); }
.sk-footer a:hover { color: #fff; }
.sk-footer__inner { display: flex; flex-direction: column; gap: 16px; }
.sk-footer__brand { display: flex; flex-direction: column; gap: 6px; }
.sk-footer__name { font-size: 17px; color: #fff; font-weight: 700; }
.sk-footer__links { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.sk-footer__links a { display: inline-flex; min-height: 32px; align-items: center; }
.sk-footer__copy { margin-top: 18px; margin-bottom: 0; font-size: 12px; opacity: .8; }

/* ============ タブレット以上 ============ */
@media (min-width: 768px) {
	.sk-header__bar { min-height: 76px; padding-right: 16px; }
	.sk-logo__mark { width: 40px; height: 40px; border-radius: 10px; }
	.sk-logo__name { font-size: 22px; }
	.sk-logo__tagline { display: block; }
	.sk-header__toggle { display: none; }
	.sk-header__tools .sk-header__cal { display: inline-flex; }
	.sk-header__tools .sk-search--header { display: flex; width: 240px; }
	.sk-searchbox, .sk-drawer { display: none !important; }
	.sk-nav { display: block; padding: 0 0 14px; }
	.sk-nav__list { list-style: none; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 8px; }
	.sk-intro { display: none; }
	.sk-home, .sk-archive { padding-top: 40px; padding-bottom: 72px; gap: 56px; }
	.sk-sechead h2 { font-size: 22px; }
	.sk-sechead p { font-size: 14px; }
	.sk-months { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
	.sk-month { padding: 24px 28px; }
	.sk-month__title { font-size: 20px; }
	.sk-month.is-next { display: flex; }
	.sk-month-link { display: none; }
	.sk-guides { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; border: 0; background: transparent; overflow: visible; }
	.sk-guides .sk-guide, .sk-guides .sk-guide:last-child { border: 1px solid var(--sk-line); border-radius: var(--sk-radius); padding: 20px; background: var(--sk-surface); }
	.sk-guides.is-collapsed .sk-guide:nth-child(n+10) { display: flex; }
	.sk-guides__more { display: none; }
	.sk-guide__cat { font-size: 12px; }
	.sk-guide__title { font-size: 16px; }
	.sk-guide__desc { display: block; }
	.sk-tools { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
	.sk-toolcard { padding: 22px; align-items: flex-start; }
	.sk-toolcard__text strong { font-size: 16px; }
	.sk-toolcard__text span { font-size: 13px; }
	.sk-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.sk-cat__name { font-size: 15px; padding: 20px 20px 10px; min-height: 0; }
	.sk-cat__list { display: flex; }
	.sk-pagehead { padding: 24px 0 32px; }
	.sk-pagehead__title { font-size: 28px; }
	.sk-guides--wide { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.sk-single, .sk-page { padding-top: 28px; padding-bottom: 72px; }
	.sk-article { margin: 0; border: 1px solid var(--sk-line); border-radius: var(--sk-radius-l); padding: 36px 40px 44px; gap: 24px; }
	.sk-article__title { font-size: 30px; }
	.sk-byline { font-size: 13px; }
	.sk-byline__text { flex-direction: row; flex-wrap: wrap; gap: 0 10px; }
	.sk-content h2 { font-size: 24px; }
	.sk-content h2::before { width: 34px; height: 34px; font-size: 17px; }
	.sk-related__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
	.sk-related__item { font-size: 14px; }
	.sk-tool { padding: 22px 24px; }
	.sk-tool__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sk-tool__btn { align-self: flex-start; min-width: 200px; }
	.sk-footer { padding: 36px 0 40px; }
	.sk-footer__inner { flex-direction: row; justify-content: space-between; align-items: flex-start; }
	.sk-footer__links { display: flex; gap: 28px; }
}

/* ============ PC ============ */
@media (min-width: 1024px) {
	.sk-guides { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.sk-cats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.sk-single { display: flex; gap: 40px; align-items: flex-start; }
	.sk-single .sk-article { width: calc(var(--sk-measure) + 82px); flex-shrink: 0; }
	.sk-side { display: block; flex: 1; min-width: 0; align-self: stretch; }
	.sk-side__sticky { position: sticky; top: 20px; display: flex; flex-direction: column; gap: 16px; }
	.sk-side__box { padding: 20px 22px; border-radius: var(--sk-radius-l); }
	.sk-side .sk-toc { border: 0; padding: 0; }
	.sk-side .sk-toc__title { font-size: 14px; padding-bottom: 8px; border-bottom: 1px solid var(--sk-line); margin-bottom: 6px; }
	.sk-side .sk-toc__list a { font-size: 14px; text-decoration: none; }
	.sk-side__title { margin: 0 0 8px; font-size: 14px; font-weight: 700; }
	.sk-side__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
	.sk-side__list a { font-size: 14px; line-height: 1.6; text-decoration: none; }
	.sk-side__list a[aria-current] { color: var(--sk-ink); font-weight: 700; }
	.sk-content .sk-toc { display: none; }
	.sk-page .sk-article { max-width: calc(var(--sk-measure) + 82px); margin: 0 auto; }
}

@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}

@media print {
	.sk-header, .sk-footer, .sk-side, .sk-ad, .sk-related, .sk-toc { display: none !important; }
	body { background: #fff; }
	.sk-article { border: 0; padding: 0; }
}
