@charset "utf-8";
/* フッターから行く文字のページ(about・corporate・faq・notice・contact)だけの見た目(2026-10-21・design textpage T-1〜T-5・計画 .ptverify/PLAN_2026-10-21_textpages.md)。
   共通の部品(上の帯・検索の帯・フッター・色)は kn-base.css。器は info_layout.php。
   ★本文は 760px まで・字 15px・行の高さ 1.85。h1 26px＋下の線・h2 19px＋紺の左線(前の赤い線はやめた)。リンクは青の下線つき。
   ★スマホでも読める(1200 未満は左の欄を本文の上に札で・600 未満は上の帯のバナーを隠し、検索の欄を縦に)。 */

.kn-txt #searchbox_inner > form { display: contents; }
.kn-tcrumb { max-width: 1040px; margin: 14px auto 0; padding: 0 24px; font-size: 12px; color: var(--kn-sub); }
.kn-tcrumb a { color: var(--kn-link); }
.kn-twrap { max-width: 1040px; margin: 12px auto 0; padding: 0 24px; display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 32px; align-items: start; }

/* ⑬ 左の欄「価格なびについて」 */
.kn-tnav { border: 1px solid var(--kn-line); border-radius: 10px; overflow: hidden; background: #fff; }
.kn-tnav-h { font-size: 13px; font-weight: 700; padding: 10px 14px; background: var(--kn-bg2); border-bottom: 1px solid var(--kn-line2); }
.kn-tnav ul { padding: 4px 0; }
.kn-tnav a { display: block; padding: 7px 14px; font-size: 13px; border-left: 3px solid transparent; }
.kn-tnav a.on { border-left-color: var(--kn-navy); background: #F1F5FB; font-weight: 700; color: var(--kn-ink); }

/* ⑮ 本文 */
.kn-txt .kn-main { max-width: 760px; min-width: 0; font-size: 15px; line-height: 1.85; color: #202124; padding-bottom: 24px; }
.kn-txt .kn-main h1 { font-size: 26px; font-weight: 700; line-height: 1.4; margin: 0 0 18px; padding-bottom: 10px; border-bottom: 1px solid var(--kn-line); }
.kn-txt .kn-main h2 { font-size: 19px; font-weight: 700; line-height: 1.45; margin: 34px 0 12px; padding-left: 10px; border-left: 4px solid var(--kn-navy); }
.kn-txt .kn-main p { margin: 0 0 12px; }
.kn-txt .kn-main ul, .kn-txt .kn-main ol { margin: 0 0 12px; padding-left: 1.4em; }
.kn-txt .kn-main ul { list-style: disc; }
.kn-txt .kn-main ol { list-style: decimal; }
.kn-txt .kn-main li { margin-bottom: 6px; }
.kn-txt .kn-main a { color: #1A5FB4; text-decoration: underline; }
.kn-txt .kn-note { font-size: 13px; color: var(--kn-sub); }
/* 箱: kbox＝薄い青の地＋青の左線・ktable＝見出しの行が灰・kdl＝項目 160px に灰の地 */
.kn-txt .kn-box { margin: 14px 0; padding: 12px 16px; background: #F1F5FB; border-left: 4px solid var(--kn-link); border-radius: 0 8px 8px 0; font-size: 14px; }
.kn-txt .kn-table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 10px 0; }
.kn-txt .kn-table th, .kn-txt .kn-table td { border: 1px solid var(--kn-line); padding: 9px 10px; vertical-align: top; text-align: left; }
.kn-txt .kn-table th { background: #F1F3F4; white-space: nowrap; }
.kn-txt .kn-dl { display: grid; grid-template-columns: 160px minmax(0, 1fr); border: 1px solid var(--kn-line); border-radius: 8px; overflow: hidden; margin: 10px 0; font-size: 14px; }
.kn-txt .kn-dl dt { background: #F1F3F4; padding: 10px 14px; font-weight: 700; border-top: 1px solid var(--kn-line); }
.kn-txt .kn-dl dd { margin: 0; padding: 10px 14px; border-top: 1px solid var(--kn-line); }
.kn-txt .kn-dl dt:first-of-type, .kn-txt .kn-dl dt:first-of-type + dd { border-top: 0; }
/* 絵 */
.kn-txt .kn-fig { margin: 16px 0 20px; text-align: center; }
.kn-txt .kn-fig img { max-width: 100%; height: auto; }
.kn-txt .kn-fig figcaption { font-size: 12px; color: var(--kn-sub); margin-top: 6px; }

/* T-1 価格なびとは: できることの 3 つを枠・3 つの使い方の絵 */
.kn-txt .kn-can { list-style: none !important; padding-left: 0 !important; }
.kn-txt .kn-can > li { border: 1px solid var(--kn-line); border-radius: 10px; padding: 12px 16px; margin-bottom: 10px; }
.kn-txt .kn-uses { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 12px 0 14px; }
.kn-txt .kn-uses figure { margin: 0; border: 1px solid var(--kn-line); border-radius: 10px; padding: 10px; text-align: center; }
.kn-txt .kn-uses img { max-width: 100%; height: auto; }
.kn-txt .kn-uses figcaption { font-size: 13px; line-height: 1.5; margin-top: 6px; }
.kn-txt .kn-uses figcaption b { display: block; font-size: 14px; }

/* T-3 よくある質問: 目次の札・質問の行(紺の Q)・答え(緑の A)・＋／－ */
.kn-txt .kn-toc { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; padding: 0 !important; list-style: none !important; }
.kn-txt .kn-toc a { display: inline-block; border: 1px solid #C4C7CC; border-radius: 16px; padding: 4px 14px; font-size: 13px; text-decoration: none; color: var(--kn-ink); }
.kn-txt .kn-qa { border: 1px solid var(--kn-line); border-radius: 10px; margin: 0 0 10px; overflow: hidden; }
.kn-txt .kn-qa dt { position: relative; margin: 0; padding: 12px 44px 12px 46px; font-weight: 700; cursor: pointer; }
.kn-txt .kn-qa dt::before { content: "Q"; position: absolute; left: 16px; top: 11px; color: var(--kn-navy); font-weight: 700; font-size: 17px; }
.kn-txt .kn-qa dt::after { content: "＋"; position: absolute; right: 16px; top: 12px; color: var(--kn-sub); }
.kn-txt .kn-qa.open dt::after { content: "－"; }
.kn-txt .kn-qa dd { position: relative; margin: 0; padding: 4px 16px 14px 46px; }
.kn-txt .kn-qa dd::before { content: "A"; position: absolute; left: 16px; top: 2px; color: #188038; font-weight: 700; font-size: 17px; }
.kn-js .kn-txt .kn-qa dd { display: none; }
.kn-js .kn-txt .kn-qa.open dd { display: block; }

/* T-4 掲載情報について: 箇条を段落ごとの枠に */
.kn-txt .kn-notice { list-style: none !important; padding-left: 0 !important; }
.kn-txt .kn-notice > li { border: 1px solid var(--kn-line); border-radius: 10px; padding: 12px 16px; margin-bottom: 10px; }

/* T-5 お問い合わせ: メールアドレスを大きな箱に */
.kn-txt .kn-mail { margin: 16px 0; padding: 18px 20px; border: 1px solid var(--kn-line); border-radius: 12px; background: #F8F9FA; }
.kn-txt .kn-mail span { display: block; font-size: 13px; color: var(--kn-sub); }
.kn-txt .kn-mail a { font-size: 22px; font-weight: 700; }

/* 幅 1200 未満: 左の欄は本文の上に札で並べる */
@media (max-width: 1199px) {
	.kn-twrap { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	/* 1 列の時は外枠を本文の幅(760＋左右 24)にして真ん中に置く(右だけ空いて偏って見えた・依頼者 10/21 夜「左右の空白の幅を揃えて」) */
	.kn-twrap, .kn-tcrumb { max-width: 808px; }
	.kn-tnav { border: 0; background: none; }
	.kn-tnav-h { display: none; }
	.kn-tnav ul { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; }
	.kn-tnav a { border: 1px solid #C4C7CC; border-radius: 16px; padding: 4px 12px; }
	.kn-tnav a.on { border-color: var(--kn-navy); background: var(--kn-navy); color: #fff; }
}
/* 幅 600 未満(スマホ): 上の帯のバナーを隠す・検索の欄を縦に・字を少し小さく */
@media (max-width: 599px) {
	.kn-txt #header { flex-wrap: wrap; padding-left: 12px; padding-right: 12px; }
	.kn-txt #header .kn-pr { display: none; }
	.kn-txt #searchbox_inner { flex-wrap: wrap; padding-left: 12px; padding-right: 12px; }
	.kn-txt #search_box { flex: 1 1 100%; max-width: none; }
	.kn-txt #search_box input { border-right: 2px solid var(--kn-navy); border-radius: 10px; }
	.kn-txt .kn-sb-ct { flex: 1 1 auto; margin-top: 8px; }
	.kn-txt .kn-sb-ct select { width: 100%; max-width: none; border: 2px solid var(--kn-navy); border-radius: 10px 0 0 10px; }
	.kn-txt #submit_btn { margin-top: 8px; }
	.kn-tcrumb, .kn-twrap { padding-left: 12px; padding-right: 12px; }
	.kn-txt .kn-main h1 { font-size: 22px; }
	.kn-txt .kn-uses { grid-template-columns: minmax(0, 1fr); }
	.kn-txt .kn-dl { grid-template-columns: minmax(0, 1fr); }
	.kn-txt .kn-table { font-size: 13px; }
}
