@charset "UTF-8";
/* =====================================================================
   Indeed PLUS（/indeedplus/）ガイド（読み物）型
   - 本文は <article class="m-slp is-ipg is-g1">
   - すべてのセレクタを .m-slp.is-ipg で始める（service-lp*.css は LP 全部に読み込まれるため、ほかの LP に効かせない）
   - 「共通」は骨組み、「見た目（.is-g1）」は色・線・縞
   - 例外は末尾の「テーマの #page」の1か所だけ（目次の追従のため。.m-slp.is-ipg を含むページにだけ効く :has()）
   ===================================================================== */


/* #####################################################################
   共通（骨組み）
   ##################################################################### */

.m-slp.is-ipg {
	--ink: #1a2433;
	--blue: #1566b3;
	--navy: #194f92;
	--navy-d: #123c73;
	--navy-dd: #0d2b55;
	--yellow: #ffe100;
	--yellow-d: #f2d500;
	--paper: #f3f6fa;
	--paper-2: #e9eff6;
	--line: #d6e2ee;
	--muted: #4f5f73;
	--red: #d7261d;
	--en: Arial, "Helvetica Neue", Helvetica, sans-serif;
	--wrap: 1110px;
	--toc-w: 260px;
	--gap: 64px;
	--sticky-top: 106px; /* PC の縮んだ固定ヘッダー（下端 82px）の下に 24px 空けて止める */
	--anchor-top: 112px; /* 目次から飛んだ章の頭が固定ヘッダーに隠れない位置 */
	position: relative;
	margin-top: -18px; /* .l-contents の上余白（50px）を少し詰める */
	font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic UI", "Yu Gothic", "Noto Sans JP", "Meiryo", sans-serif;
	font-size: 1.6rem;
	line-height: 1.9;
	color: var(--ink);
	-webkit-font-smoothing: antialiased;
	/* overflow は付けない（付けると目次の position: sticky が効かなくなる） */
}
.m-slp.is-ipg *,
.m-slp.is-ipg *::before,
.m-slp.is-ipg *::after { box-sizing: border-box; }

/* --- テーマの汎用指定（.l-main p の下余白・section の下余白・表の罫線など）を打ち消す --- */
.m-slp.is-ipg section { margin: 0; }
.m-slp.is-ipg p,
.m-slp.is-ipg ul,
.m-slp.is-ipg ol,
.m-slp.is-ipg dl,
.m-slp.is-ipg dd,
.m-slp.is-ipg figure,
.m-slp.is-ipg table { margin: 0; padding: 0; }
.m-slp.is-ipg ul,
.m-slp.is-ipg ol { list-style: none; }
.m-slp.is-ipg h1,
.m-slp.is-ipg h2,
.m-slp.is-ipg h3 { margin: 0; padding: 0; border: 0; background: none; font-weight: 800; }
.m-slp.is-ipg img { max-width: 100%; height: auto; vertical-align: middle; }
.m-slp.is-ipg table { width: 100%; border-collapse: collapse; border-spacing: 0; }
.m-slp.is-ipg th,
.m-slp.is-ipg td { border: 0; padding: 0; vertical-align: top; font-weight: inherit; text-align: left; }
.m-slp.is-ipg b,
.m-slp.is-ipg strong { font-weight: 800; }
.m-slp.is-ipg a { color: var(--blue); }

/* フォーカスの見える状態 */
.m-slp.is-ipg a:focus-visible,
.m-slp.is-ipg button:focus-visible,
.m-slp.is-ipg input:focus-visible,
.m-slp.is-ipg select:focus-visible,
.m-slp.is-ipg textarea:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
/* 目次などから飛んだ先（本文の JS が tabindex="-1" を付けてフォーカスを移す）には枠を出さない */
.m-slp.is-ipg [tabindex="-1"]:focus { outline: none; }

/* --- 枠組み（PC は 目次｜本文 の2列） --- */
.m-slp.is-ipg .ipg-wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 15px; }
.m-slp.is-ipg .ipg-layout {
	display: grid; grid-template-columns: var(--toc-w) minmax(0, 1fr); column-gap: var(--gap);
	align-items: start; /* 目次を伸ばさない（伸びると追従しない） */
	padding: 44px 0 96px;
}
.m-slp.is-ipg .ipg-body { min-width: 0; }

/* --- ページ冒頭 --- */
.m-slp.is-ipg .ipg-head__title { font-size: 3rem; line-height: 1.5; letter-spacing: .01em; color: var(--navy-dd); word-break: auto-phrase; }
.m-slp.is-ipg .ipg-head__lead { margin-top: 18px; max-width: 920px; font-size: 1.6rem; line-height: 1.95; }
.m-slp.is-ipg .ipg-head__cta { margin-top: 22px; }

/* --- ボタン（紺） --- */
.m-slp.is-ipg .ipg-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 56px; padding: 14px 32px; border: 0; border-radius: 4px;
	background: var(--navy); color: #fff;
	font-family: inherit; font-size: 1.7rem; font-weight: 800; line-height: 1.4; text-align: center; text-decoration: none;
	cursor: pointer; transition: background-color .15s;
}
.m-slp.is-ipg .ipg-btn:hover { background: var(--navy-d); color: #fff; }
.m-slp.is-ipg .ipg-btn i { font-size: .95em; }
.m-slp.is-ipg .ipg-btn--sm { min-height: 44px; padding: 9px 20px; font-size: 1.5rem; }

/* --- 目次（PC は左に追従） --- */
.m-slp.is-ipg .ipg-toc {
	position: sticky; top: var(--sticky-top);
	max-height: calc(100vh - var(--sticky-top) - 20px); overflow-y: auto;
}
.m-slp.is-ipg .ipg-toc__ttl { padding: 0 6px 10px; font-size: 1.5rem; font-weight: 800; letter-spacing: .12em; line-height: 1.5; color: var(--navy-dd); }
.m-slp.is-ipg .ipg-toc__list { border-top: 1px solid var(--line); }
.m-slp.is-ipg .ipg-toc__list li { border-bottom: 1px solid var(--line); }
.m-slp.is-ipg .ipg-toc__list a {
	display: block; padding: 10px 6px 11px; color: var(--ink); text-decoration: none;
	font-size: 1.4rem; line-height: 1.55; transition: background-color .15s, color .15s;
}
.m-slp.is-ipg .ipg-toc__list a:hover { background: var(--paper); color: var(--navy-d); }
.m-slp.is-ipg .ipg-toc__no { display: block; font-size: 1.2rem; font-weight: 800; letter-spacing: .06em; color: var(--blue); }
.m-slp.is-ipg .ipg-toc__txt { display: block; font-weight: 700; word-break: auto-phrase; text-wrap: pretty; }

/* --- 章 --- */
.m-slp.is-ipg .ipg-ch { scroll-margin-top: var(--anchor-top); }
.m-slp.is-ipg .ipg-ch + .ipg-ch { margin-top: 88px; }
.m-slp.is-ipg .ipg-ch__head { position: relative; margin-bottom: 28px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.m-slp.is-ipg .ipg-ch__no { font-size: 1.4rem; font-weight: 800; letter-spacing: .08em; line-height: 1.4; color: var(--blue); }
.m-slp.is-ipg .ipg-ch__ttl { margin-top: 6px; font-size: 2.6rem; line-height: 1.5; color: var(--navy-dd); word-break: auto-phrase; }

/* この章のポイント（色・線は案ごと） */
.m-slp.is-ipg .ipg-point { margin-bottom: 32px; padding: 20px 26px 22px; background: var(--paper); }
.m-slp.is-ipg .ipg-point__ttl { margin-bottom: 8px; font-size: 1.4rem; font-weight: 800; letter-spacing: .08em; line-height: 1.6; color: var(--navy); }
.m-slp.is-ipg .ipg-point__list li { position: relative; padding-left: 18px; font-size: 1.55rem; font-weight: 700; line-height: 1.8; }
.m-slp.is-ipg .ipg-point__list li + li { margin-top: 6px; }
.m-slp.is-ipg .ipg-point__list li::before { content: ""; position: absolute; left: 2px; top: .8em; width: 7px; height: 7px; background: var(--navy); }

/* 本文 */
.m-slp.is-ipg .ipg-text > * + * { margin-top: 1.1em; }
.m-slp.is-ipg .ipg-text > .ipg-h3 { margin-top: 48px; }
.m-slp.is-ipg .ipg-text > .ipg-h3:first-child { margin-top: 0; }
.m-slp.is-ipg .ipg-text > .ipg-h3 + * { margin-top: 14px; }
.m-slp.is-ipg .ipg-h3 { position: relative; padding-left: 18px; font-size: 1.9rem; line-height: 1.6; color: var(--navy-dd); }
.m-slp.is-ipg .ipg-h3::before { content: ""; position: absolute; left: 0; top: .3em; width: 5px; height: 1em; background: var(--navy); }
.m-slp.is-ipg .ipg-list li { position: relative; padding-left: 20px; }
.m-slp.is-ipg .ipg-list li + li { margin-top: 6px; }
.m-slp.is-ipg .ipg-list li::before { content: ""; position: absolute; left: 5px; top: .8em; width: 6px; height: 6px; border-radius: 50%; background: var(--blue); }
.m-slp.is-ipg .ipg-deflist b { color: var(--navy-dd); }
/* 見出し・表の見出し・ポイントなどの短い文は、文節の切れ目で折り返す（対応していないブラウザは今までどおり） */
.m-slp.is-ipg .ipg-h3,
.m-slp.is-ipg .ipg-point__list li,
.m-slp.is-ipg .ipg-table th,
.m-slp.is-ipg .ipg-faq__q,
.m-slp.is-ipg .ipg-related__list a { word-break: auto-phrase; }
/* 本文の※（注釈の番号） */
.m-slp.is-ipg .ipg-ref { margin: 0 .1em; font-size: .72em; font-weight: 400; line-height: 0; vertical-align: .5em; white-space: nowrap; color: var(--muted); }

/* 表 */
.m-slp.is-ipg .ipg-table table { font-size: 1.5rem; line-height: 1.75; }
.m-slp.is-ipg .ipg-table th,
.m-slp.is-ipg .ipg-table td { padding: 12px 16px; border: 1px solid var(--line); }
.m-slp.is-ipg .ipg-table thead th { background: var(--paper-2); font-size: 1.4rem; font-weight: 800; color: var(--navy-dd); }
.m-slp.is-ipg .ipg-table tbody th { width: 1%; white-space: nowrap; background: var(--paper); font-weight: 800; color: var(--navy-dd); }
.m-slp.is-ipg .ipg-target td:last-child { width: 24%; }
.m-slp.is-ipg .ipg-cell-list li { position: relative; padding-left: 1em; }
.m-slp.is-ipg .ipg-cell-list li + li { margin-top: 4px; }
.m-slp.is-ipg .ipg-cell-list li::before { content: "・"; position: absolute; left: -.1em; top: 0; }
.m-slp.is-ipg .ipg-price table { width: auto; min-width: 380px; }
.m-slp.is-ipg .ipg-price tbody th { width: auto; }
.m-slp.is-ipg .ipg-price td { font-size: 1.7rem; font-weight: 800; color: var(--navy-dd); }
.m-slp.is-ipg .ipg-text > .ipg-price__src { margin-top: 10px; font-size: 1.4rem; line-height: 1.7; overflow-wrap: anywhere; }

/* 連携求人サイトの一覧（サイト名は文字。原稿の順に縦へ流す） */
.m-slp.is-ipg .ipg-sites__ttl { margin-bottom: 10px; font-size: 1.5rem; font-weight: 800; line-height: 1.6; color: var(--navy-dd); }
.m-slp.is-ipg .ipg-sites__list { columns: 3; column-gap: 28px; border-top: 2px solid var(--navy); }
.m-slp.is-ipg .ipg-sites__list li {
	position: relative; break-inside: avoid; padding: 9px 4px 9px 18px; border-bottom: 1px solid var(--line);
	font-size: 1.45rem; font-weight: 700; line-height: 1.5;
}
.m-slp.is-ipg .ipg-sites__list li::before { content: ""; position: absolute; left: 3px; top: 1.05em; width: 6px; height: 6px; background: var(--navy); }

/* 注釈（章の最後に小さく） */
.m-slp.is-ipg .ipg-notes { margin-top: 32px; padding-top: 16px; border-top: 1px dashed #c4ced9; font-size: 1.3rem; line-height: 1.75; color: var(--muted); }
.m-slp.is-ipg .ipg-notes p { padding-left: 2em; text-indent: -2em; }
.m-slp.is-ipg .ipg-notes p + p { margin-top: 6px; }
.m-slp.is-ipg .ipg-notes a { text-decoration: underline; }
.m-slp.is-ipg .ipg-faq + .ipg-notes { margin-top: 20px; padding-top: 0; border-top: 0; }

/* 関連リンク */
.m-slp.is-ipg .ipg-related { margin-top: 28px; padding: 14px 20px 16px; border: 1px solid var(--line); border-radius: 3px; background: #fff; }
.m-slp.is-ipg .ipg-related__ttl { font-size: 1.25rem; font-weight: 800; letter-spacing: .1em; line-height: 1.6; color: var(--muted); }
.m-slp.is-ipg .ipg-related__lead { margin-top: 2px; font-size: 1.4rem; line-height: 1.7; }
.m-slp.is-ipg .ipg-related__list { display: flex; flex-wrap: wrap; gap: 2px 28px; margin-top: 2px; }
.m-slp.is-ipg .ipg-related__list a { font-size: 1.5rem; font-weight: 700; line-height: 1.7; text-decoration: underline; text-underline-offset: 3px; }
.m-slp.is-ipg .ipg-related__list a i { margin-left: 6px; font-size: .9em; }

/* 第6章の後の CTA */
.m-slp.is-ipg .ipg-cta { margin-top: 40px; padding: 28px 24px; background: var(--paper); text-align: center; }

/* よくあるご質問 */
.m-slp.is-ipg .ipg-faq { border-top: 1px solid var(--line); }
.m-slp.is-ipg .ipg-faq__item { padding: 22px 0; border-bottom: 1px solid var(--line); }
.m-slp.is-ipg .ipg-faq__q { position: relative; padding-left: 42px; font-size: 1.7rem; line-height: 1.65; color: var(--navy-dd); }
.m-slp.is-ipg .ipg-faq__a { position: relative; margin-top: 10px; padding-left: 42px; }
.m-slp.is-ipg .ipg-faq__a p { font-size: 1.55rem; line-height: 1.9; }
.m-slp.is-ipg .ipg-faq__mark {
	position: absolute; left: 0; top: .05em; width: 28px; height: 28px;
	display: flex; align-items: center; justify-content: center; border-radius: 2px;
	font-family: var(--en); font-size: 1.5rem; font-weight: 900; line-height: 1;
}
.m-slp.is-ipg .ipg-faq__q .ipg-faq__mark { background: var(--navy); color: #fff; }
.m-slp.is-ipg .ipg-faq__a .ipg-faq__mark { background: var(--paper-2); color: var(--navy-d); }

/* --- ページ最後（お問い合わせ・フォーム） --- */
.m-slp.is-ipg .ipg-contact { padding: 80px 0 96px; background: var(--paper); scroll-margin-top: 30px; }
.m-slp.is-ipg .ipg-contact__inner { max-width: 808px; margin: 0 auto; }
.m-slp.is-ipg .ipg-contact__ttl { font-size: 2.6rem; line-height: 1.5; text-align: center; color: var(--navy-dd); word-break: auto-phrase; }
.m-slp.is-ipg .ipg-contact__lead { margin: 14px 0 32px; text-align: center; font-size: 1.6rem; line-height: 1.9; }
.m-slp.is-ipg .ipg-contact__related { margin-top: 36px; }
.m-slp.is-ipg .ipg-contact__note { margin-top: 18px; font-size: 1.3rem; line-height: 1.75; color: var(--muted); }

/* フォーム（service-lp-b.css の .b-form と同じ見た目を、このページのクラスで書いたもの） */
.m-slp.is-ipg .ipg-form { padding: 44px 48px 38px; background: #fff; color: var(--ink); border: 1px solid var(--line); border-radius: 4px; text-align: left; box-shadow: 0 10px 30px rgba(13,43,85,.08); }
.m-slp.is-ipg .ipg-form__group { margin-bottom: 22px; }
.m-slp.is-ipg .ipg-form__row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.m-slp.is-ipg .ipg-form__label { display: block; margin-bottom: 9px; font-size: 1.6rem; font-weight: 800; line-height: 1.5; }
.m-slp.is-ipg .ipg-form .req {
	display: inline-block; margin-left: 8px; padding: 2px 9px; background: var(--red); color: #fff;
	font-size: 1.2rem; font-weight: 800; line-height: 1.5; border-radius: 2px; vertical-align: middle; letter-spacing: .04em;
}
.m-slp.is-ipg .ipg-form input[type="text"],
.m-slp.is-ipg .ipg-form input[type="email"],
.m-slp.is-ipg .ipg-form select,
.m-slp.is-ipg .ipg-form textarea {
	display: block; width: 100%; margin: 0; padding: 14px 16px;
	font-family: inherit; font-size: 1.6rem; line-height: 1.7; color: var(--ink);
	background: #f4f6f8; border: 1px solid #c4ced9; border-radius: 3px;
	-webkit-appearance: none; appearance: none; transition: border-color .15s, background-color .15s;
}
.m-slp.is-ipg .ipg-form input::placeholder,
.m-slp.is-ipg .ipg-form textarea::placeholder { color: #7a8796; opacity: 1; }
.m-slp.is-ipg .ipg-form textarea { min-height: 140px; resize: vertical; }
.m-slp.is-ipg .ipg-form select {
	padding-right: 42px; cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%235a6b80' d='M6 8 0 0h12z'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 16px center; background-size: 12px 8px;
}
.m-slp.is-ipg .ipg-form input[type="text"]:focus,
.m-slp.is-ipg .ipg-form input[type="email"]:focus,
.m-slp.is-ipg .ipg-form select:focus,
.m-slp.is-ipg .ipg-form textarea:focus { border-color: var(--navy); background-color: #fff; }
.m-slp.is-ipg .ipg-form__group--check { padding: 14px 16px; background: #f2f6fb; border: 1px solid var(--line); border-radius: 3px; }
.m-slp.is-ipg .ipg-form__agree { display: grid; gap: 12px; margin: 6px 0 24px; }
.m-slp.is-ipg .ipg-form__group--check label,
.m-slp.is-ipg .ipg-form__agree label {
	position: relative; display: block; padding-left: 30px; font-size: 1.5rem; font-weight: 700; line-height: 1.65; cursor: pointer;
}
.m-slp.is-ipg .ipg-form__agree .req { margin-left: 8px; font-size: 1.1rem; padding: 1px 7px; }
.m-slp.is-ipg .ipg-form input[type="checkbox"] { position: absolute; left: 0; top: 2px; width: 20px; height: 20px; margin: 0; accent-color: var(--navy); }
.m-slp.is-ipg .ipg-form__agree a.link { color: var(--blue); text-decoration: underline; font-weight: 800; }
.m-slp.is-ipg .ipg-form__recaptcha { display: flex; justify-content: center; margin: 4px 0 22px; }
.m-slp.is-ipg .ipg-btn--submit { width: 100%; min-height: 66px; font-size: 1.9rem; }
.m-slp.is-ipg .ipg-form button[disabled] { opacity: .55; cursor: not-allowed; box-shadow: none; }
.m-slp.is-ipg .ipg-form__privacy-note { margin-top: 16px; text-align: center; font-size: 1.3rem; color: var(--muted); }

/* --- スマホ（共通） --- */
@media (max-width: 767px) {
	.m-slp.is-ipg { --anchor-top: 96px; margin-top: -30px; font-size: 1.5rem; line-height: 1.85; }
	.m-slp.is-ipg .ipg-wrap { padding: 0 20px; }
	.m-slp.is-ipg .ipg-head__title { font-size: 2.2rem; line-height: 1.55; }
	.m-slp.is-ipg .ipg-head__lead { margin-top: 12px; font-size: 1.5rem; line-height: 1.85; }
	.m-slp.is-ipg .ipg-head__cta { margin-top: 16px; }
	.m-slp.is-ipg .ipg-btn { width: 100%; min-height: 56px; padding: 14px 16px; font-size: 1.6rem; }
	.m-slp.is-ipg .ipg-btn--sm { width: auto; min-height: 44px; padding: 9px 18px; font-size: 1.45rem; }
	.m-slp.is-ipg .ipg-layout { display: block; padding: 28px 0 64px; }
	/* 目次は冒頭に置くだけ（追従しない） */
	.m-slp.is-ipg .ipg-toc { position: static; max-height: none; overflow: visible; margin-bottom: 48px; }
	.m-slp.is-ipg .ipg-toc__list a { display: flex; align-items: baseline; gap: 10px; padding: 9px 4px; }
	.m-slp.is-ipg .ipg-toc__no { flex: none; }
	.m-slp.is-ipg .ipg-ch + .ipg-ch { margin-top: 64px; }
	.m-slp.is-ipg .ipg-ch__head { margin-bottom: 22px; }
	.m-slp.is-ipg .ipg-ch__ttl { font-size: 2.1rem; }
	.m-slp.is-ipg .ipg-point { margin-bottom: 26px; padding: 16px 16px 18px; }
	.m-slp.is-ipg .ipg-point__list li { font-size: 1.45rem; }
	.m-slp.is-ipg .ipg-text > .ipg-h3 { margin-top: 40px; }
	.m-slp.is-ipg .ipg-h3 { font-size: 1.7rem; }
	.m-slp.is-ipg .ipg-table table { font-size: 1.35rem; line-height: 1.65; }
	.m-slp.is-ipg .ipg-table th,
	.m-slp.is-ipg .ipg-table td { padding: 9px 9px; }
	.m-slp.is-ipg .ipg-table tbody th { width: auto; min-width: 5.5em; white-space: normal; }
	.m-slp.is-ipg .ipg-target td:last-child { width: 30%; }
	.m-slp.is-ipg .ipg-price table { width: 100%; min-width: 0; }
	.m-slp.is-ipg .ipg-price td { font-size: 1.55rem; }
	.m-slp.is-ipg .ipg-sites__list { columns: 2; column-gap: 16px; }
	.m-slp.is-ipg .ipg-sites__list li { padding-left: 14px; font-size: 1.35rem; }
	.m-slp.is-ipg .ipg-sites__list li::before { left: 1px; }
	.m-slp.is-ipg .ipg-notes { font-size: 1.25rem; }
	.m-slp.is-ipg .ipg-related { padding: 12px 16px 14px; }
	.m-slp.is-ipg .ipg-related__list { display: block; }
	.m-slp.is-ipg .ipg-related__list li + li { margin-top: 4px; }
	.m-slp.is-ipg .ipg-cta { padding: 20px 16px; }
	.m-slp.is-ipg .ipg-faq__q { padding-left: 38px; font-size: 1.6rem; }
	.m-slp.is-ipg .ipg-faq__a { padding-left: 38px; }
	.m-slp.is-ipg .ipg-faq__a p { font-size: 1.45rem; }
	.m-slp.is-ipg .ipg-contact { padding: 56px 0 64px; scroll-margin-top: 56px; }
	.m-slp.is-ipg .ipg-contact__ttl { font-size: 2.1rem; text-align: left; }
	.m-slp.is-ipg .ipg-contact__lead { margin: 10px 0 24px; text-align: left; font-size: 1.5rem; }
	.m-slp.is-ipg .ipg-form { padding: 26px 16px 28px; }
	.m-slp.is-ipg .ipg-form__row2 { gap: 12px; }
	.m-slp.is-ipg .ipg-form__label { font-size: 1.5rem; }
	.m-slp.is-ipg .ipg-form__group--check label,
	.m-slp.is-ipg .ipg-form__agree label { font-size: 1.45rem; }
	.m-slp.is-ipg .ipg-btn--submit { min-height: 60px; font-size: 1.7rem; }
}

/* 動きを減らす設定 */
@media (prefers-reduced-motion: reduce) {
	.m-slp.is-ipg *,
	.m-slp.is-ipg *::before,
	.m-slp.is-ipg *::after { transition: none !important; }
}


/* #####################################################################
   見た目（.is-g1）
   白地に文字と表だけ。ポイントは淡い地＋左の線、表は罫線と薄い縞、ボタンは紺
   ##################################################################### */

.m-slp.is-ipg.is-g1 .ipg-head__inner { padding: 6px 0 34px; border-bottom: 1px solid var(--line); }
.m-slp.is-ipg.is-g1 .ipg-toc { padding-top: 14px; border-top: 3px solid var(--navy); }
.m-slp.is-ipg.is-g1 .ipg-ch__head::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 72px; height: 3px; background: var(--navy); }
.m-slp.is-ipg.is-g1 .ipg-point { border-left: 4px solid var(--navy); }
.m-slp.is-ipg.is-g1 .ipg-table tbody tr:nth-child(even) td { background: #f9fbfd; }

@media (max-width: 767px) {
	.m-slp.is-ipg.is-g1 .ipg-head__inner { padding: 4px 0 26px; }
}


/* #####################################################################
   テーマの #page（このページだけ）
   テーマの #page は overflow: hidden で、そのままだと中の要素の position: sticky（目次の追従）が効かない。
   見た目の切り取りは同じ overflow: clip に変える（clip はスクロールの枠を作らないので sticky が効く）。
   hidden が作っていたブロック整形文脈は display: flow-root で保つ。.m-slp.is-ipg を含むページにだけ効く
   ##################################################################### */
#page:has(.m-slp.is-ipg) { overflow: clip; display: flow-root; }
