@charset "utf-8";
/* ===========================================================
   会社設立のおすすめを比べて決めるメディア — パーツ
   8. 記事本文 / 9. 見出しパターン / 10. 装飾ボックス
   11. 表（ルール9・15） / 12. 目次 / 13. 一覧の変種（ルール10）
   14. カテゴリー・タグ / 15. サイドバー / 16. 役に立った
   17. 出典・紹介サイト / 18. ページャ / 19. 検索・404
   =========================================================== */

/* --- 8. 記事本文 ------------------------------------------------- */
.ks-post{max-width:100%;}
.ks-post__head{background:var(--ks-white);border:1px solid var(--ks-line);border-top:6px solid var(--ks-key);border-radius:var(--ks-radius);box-shadow:var(--ks-shadow);padding:20px 18px;margin-bottom:20px;}
@media(min-width:768px){.ks-post__head{padding:28px 30px;}}
.ks-post__cats{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:11px;}
.ks-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 11px;border-radius:999px;font-size:11.5px;font-weight:700;text-decoration:none;line-height:1.7;}
.ks-chip--cat{background:var(--ks-key);color:#fff;}
.ks-chip--cat:hover{background:var(--ks-key-d);color:#fff;}
.ks-chip--tag{background:var(--ks-key-l);color:var(--ks-key-d);border:1px solid var(--ks-key);}
.ks-chip--tag:hover{background:var(--ks-key);color:#fff;}
.ks-chip--ghost{background:var(--ks-line-s);color:var(--ks-ink-soft);border:1px solid var(--ks-line);}
.ks-post__title{font-size:22px;font-weight:800;color:var(--ks-navy);line-height:1.45;margin:0 0 12px;}
@media(min-width:768px){.ks-post__title{font-size:31px;}}
.ks-post__meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:11.5px;color:var(--ks-ink-soft);padding-top:11px;border-top:1px dashed var(--ks-line);}
.ks-post__meta span{display:inline-flex;align-items:center;gap:5px;}
.ks-post__meta svg{width:14px;height:14px;flex:0 0 auto;color:var(--ks-key);}
.ks-post__thumb{border-radius:var(--ks-radius);overflow:hidden;border:1px solid var(--ks-line);margin-bottom:20px;box-shadow:var(--ks-shadow);}
.ks-post__thumb img{width:100%;}

.ks-article{font-size:16px;line-height:2.0;}
@media(min-width:768px){.ks-article{font-size:16.5px;}}
.ks-article > *:first-child{margin-top:0;}
.ks-article img{border-radius:10px;margin-inline:auto;}
.ks-article figure{margin:22px 0;}
.ks-article figure img{width:100%;border:1px solid var(--ks-line);box-shadow:var(--ks-shadow-s);}
.ks-article figcaption{font-size:12px;color:var(--ks-ink-soft);text-align:center;margin-top:7px;line-height:1.7;}
.ks-article h4{font-size:16.5px;font-weight:800;color:var(--ks-key-d);margin:26px 0 10px;padding-left:11px;border-left:5px solid var(--ks-sub);}
.ks-article h5{font-size:15.5px;font-weight:800;color:var(--ks-navy);margin:20px 0 8px;}
.ks-article strong,.ks-article b{font-weight:800;color:var(--ks-navy);}
.ks-article em{font-style:normal;background:linear-gradient(transparent 62%, var(--ks-sub-l) 62%);font-weight:700;padding:0 1px;}
.ks-mk{background:linear-gradient(transparent 60%, #ffe98a 60%);font-weight:700;padding:0 2px;}
.ks-mk--b{background:linear-gradient(transparent 60%, #bfe3ff 60%);font-weight:700;padding:0 2px;}
.ks-mk--g{background:linear-gradient(transparent 60%, #c8f0dd 60%);font-weight:700;padding:0 2px;}
.ks-article ul li::marker{color:var(--ks-key);}
.ks-article ol li::marker{color:var(--ks-key);font-weight:800;}
.ks-article hr{border:0;height:2px;background:repeating-linear-gradient(90deg,var(--ks-line) 0 8px,transparent 8px 16px);margin:32px 0;}
.ks-lede{font-size:15.5px;line-height:1.95;background:var(--ks-key-l);border:1px solid var(--ks-key);border-radius:var(--ks-radius);padding:16px 18px;margin:0 0 26px;}

/* --- 9. 見出しパターン（ルール5：自動ローテーション） ---------------- */
.ks-article h2{font-size:20px;font-weight:800;color:var(--ks-navy);margin:44px 0 18px;scroll-margin-top:80px;}
@media(min-width:768px){.ks-article h2{font-size:24px;}}
.ks-article h3{font-size:17.5px;font-weight:800;color:var(--ks-key-d);margin:30px 0 12px;scroll-margin-top:80px;}
@media(min-width:768px){.ks-article h3{font-size:19.5px;}}

/* 1: 左に太いバー＋下線 */
.ks-hd-1 .ks-article h2{padding:6px 0 10px 16px;border-left:9px solid var(--ks-key);border-bottom:3px solid var(--ks-line);}
.ks-hd-1 .ks-article h3{padding-left:26px;position:relative;}
.ks-hd-1 .ks-article h3::before{content:"";position:absolute;left:0;top:.52em;width:16px;height:16px;border-radius:4px;background:var(--ks-sub);transform:rotate(45deg) translateY(-3px);}
/* 2: 帯（ベタ塗り） */
.ks-hd-2 .ks-article h2{background:linear-gradient(100deg,var(--ks-key-d),var(--ks-key));color:#fff;padding:12px 16px;border-radius:8px;box-shadow:0 3px 0 rgba(0,0,0,.13);}
.ks-hd-2 .ks-article h3{border-bottom:3px dotted var(--ks-key);padding-bottom:6px;}
/* 3: 番号付きの丸 */
.ks-hd-3 .ks-article{counter-reset:kshd;}
.ks-hd-3 .ks-article h2{counter-increment:kshd;display:flex;align-items:flex-start;gap:12px;padding-bottom:12px;border-bottom:4px solid var(--ks-key-l);}
.ks-hd-3 .ks-article h2::before{content:counter(kshd);flex:0 0 auto;width:1.7em;height:1.7em;border-radius:50%;background:var(--ks-key);color:#fff;font-size:.78em;display:grid;place-items:center;margin-top:.16em;box-shadow:0 3px 0 var(--ks-key-d);}
.ks-hd-3 .ks-article h3{background:var(--ks-key-l);padding:8px 13px;border-radius:0 8px 8px 0;border-left:6px solid var(--ks-key);}
/* 4: 上下の二重線 */
.ks-hd-4 .ks-article h2{text-align:left;padding:11px 4px;border-top:4px double var(--ks-key);border-bottom:4px double var(--ks-key);background:linear-gradient(180deg,var(--ks-key-l),transparent);}
.ks-hd-4 .ks-article h3{padding-left:14px;border-left:4px solid var(--ks-sub);border-bottom:1px solid var(--ks-line);padding-bottom:5px;}
/* 5: 付箋風（角の折れ） */
.ks-hd-5 .ks-article h2{position:relative;background:var(--ks-key-l);border:2px solid var(--ks-key);border-radius:10px;padding:12px 16px 12px 18px;}
.ks-hd-5 .ks-article h2::after{content:"";position:absolute;left:-2px;top:12px;bottom:12px;width:6px;border-radius:3px;background:var(--ks-key);}
.ks-hd-5 .ks-article h3{display:inline-block;background:var(--ks-sub-l);border-bottom:3px solid var(--ks-sub);padding:4px 12px;border-radius:6px 6px 0 0;}

/* --- 10. 装飾ボックス --------------------------------------------- */
.ks-box{position:relative;margin:26px 0;padding:18px 16px;border-radius:var(--ks-radius);border:2px solid var(--ks-line);background:var(--ks-white);box-shadow:var(--ks-shadow-s);}
.ks-box > *:last-child{margin-bottom:0;}
.ks-box__ttl{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;margin:0 0 10px;line-height:1.5;}
.ks-box__ttl svg{width:19px;height:19px;flex:0 0 auto;}
.ks-box--point{border-color:var(--ks-blue);background:var(--ks-blue-l);}
.ks-box--point .ks-box__ttl{color:var(--ks-blue);}
.ks-box--care{border-color:var(--ks-red);background:var(--ks-red-l);}
.ks-box--care .ks-box__ttl{color:var(--ks-red);}
.ks-box--ok{border-color:var(--ks-green);background:var(--ks-green-l);}
.ks-box--ok .ks-box__ttl{color:var(--ks-green);}
.ks-box--memo{border-color:var(--ks-purple);background:var(--ks-purple-l);}
.ks-box--memo .ks-box__ttl{color:var(--ks-purple);}
.ks-box--cost{border-color:var(--ks-accent);background:var(--ks-accent-l);}
.ks-box--cost .ks-box__ttl{color:var(--ks-accent-d);}
.ks-box--quote{border:0;border-left:6px solid var(--ks-line);background:var(--ks-line-s);border-radius:0 10px 10px 0;font-size:15px;color:var(--ks-ink-soft);}
.ks-box--flag{border-color:var(--ks-key);padding-top:26px;}
.ks-box--flag .ks-box__ttl{position:absolute;top:-14px;left:14px;margin:0;background:var(--ks-key);color:#fff;font-size:12.5px;padding:3px 13px;border-radius:999px;}

/* チェックリスト */
.ks-check{list-style:none;padding:0;margin:0;}
.ks-check li{position:relative;padding-left:30px;margin-bottom:9px;line-height:1.8;}
.ks-check li::before{content:"";position:absolute;left:0;top:.42em;width:19px;height:19px;border-radius:5px;background:var(--ks-green);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z' fill='black'/></svg>") center/16px no-repeat, linear-gradient(#000,#000);
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z' fill='black'/></svg>") center/16px no-repeat, linear-gradient(#000,#000);
  -webkit-mask-composite:xor;mask-composite:exclude;}
.ks-num{list-style:none;padding:0;margin:0;counter-reset:ksn;}
.ks-num li{position:relative;padding-left:38px;margin-bottom:12px;line-height:1.8;counter-increment:ksn;}
.ks-num li::before{content:counter(ksn);position:absolute;left:0;top:.15em;width:26px;height:26px;border-radius:50%;background:var(--ks-key);color:#fff;font-size:13px;font-weight:800;display:grid;place-items:center;}

/* 定義リスト風 */
.ks-defs{display:grid;gap:10px;margin:22px 0;}
.ks-defs > div{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;border:1px solid var(--ks-line);border-radius:10px;overflow:hidden;background:var(--ks-white);}
@media(min-width:560px){.ks-defs > div{grid-template-columns:minmax(120px,.36fr) minmax(0,1fr);}}
.ks-defs dt,.ks-defs .ks-defs__k{background:var(--ks-key-l);color:var(--ks-key-d);font-weight:800;font-size:13.5px;padding:10px 13px;margin:0;}
.ks-defs dd,.ks-defs .ks-defs__v{margin:0;padding:10px 13px;font-size:14.5px;}

/* 費用のハイライト */
.ks-figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:24px 0;}
.ks-fig{background:var(--ks-white);border:2px solid var(--ks-key);border-radius:12px;padding:14px 12px;text-align:center;box-shadow:var(--ks-shadow-s);}
.ks-fig__k{display:block;font-size:11.5px;font-weight:700;color:var(--ks-ink-soft);line-height:1.5;}
.ks-fig__v{display:block;font-size:24px;font-weight:800;color:var(--ks-key-d);line-height:1.3;margin:4px 0 2px;}
.ks-fig__n{display:block;font-size:10.5px;color:var(--ks-ink-soft);line-height:1.6;}

/* --- 11. 表（ルール9・15） ----------------------------------------- */
.ks-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:24px 0;border:1px solid var(--ks-line);border-radius:12px;background:var(--ks-white);box-shadow:var(--ks-shadow-s);}
.ks-tablewrap > table{margin:0;border:0;box-shadow:none;}
.ks-article table{width:100%;min-width:520px;border-collapse:collapse;font-size:13.5px;line-height:1.7;background:var(--ks-white);}
.ks-article table th,.ks-article table td{border:1px solid var(--ks-line);padding:9px 11px;text-align:left;vertical-align:top;}
.ks-article table thead th{background:var(--ks-key);color:#fff;font-weight:800;white-space:nowrap;font-size:13px;}
.ks-article table tbody th{background:var(--ks-key-l);color:var(--ks-key-d);font-weight:800;}
.ks-article table tbody tr:nth-child(even) td{background:#fafcfe;}
.ks-article table caption{caption-side:top;text-align:left;font-size:12.5px;font-weight:700;color:var(--ks-ink-soft);padding:10px 11px 6px;}
.ks-tablewrap::-webkit-scrollbar{height:8px;}
.ks-tablewrap::-webkit-scrollbar-thumb{background:var(--ks-line);border-radius:4px;}
.ks-scrollhint{font-size:11px;color:var(--ks-ink-soft);margin:-16px 0 20px;text-align:right;}
@media(min-width:700px){.ks-scrollhint{display:none;}}
/* スマホではカード型に切り替える表 */
@media(max-width:560px){
  .ks-cardtable .ks-tablewrap{border:0;box-shadow:none;overflow:visible;}
  .ks-cardtable table{min-width:0;display:block;}
  .ks-cardtable thead{display:none;}
  .ks-cardtable tbody,.ks-cardtable tr,.ks-cardtable td,.ks-cardtable th{display:block;width:100%;}
  .ks-cardtable tbody tr{border:2px solid var(--ks-line);border-radius:12px;margin-bottom:12px;overflow:hidden;background:var(--ks-white);}
  .ks-cardtable tbody tr > *:first-child{background:var(--ks-key);color:#fff;font-weight:800;font-size:14px;border:0;}
  .ks-cardtable tbody td{border:0;border-top:1px dashed var(--ks-line);padding:9px 12px;font-size:14px;}
  .ks-cardtable tbody td::before{content:attr(data-th);display:block;font-size:11px;font-weight:800;color:var(--ks-key-d);letter-spacing:.02em;margin-bottom:1px;}
  .ks-cardtable tbody tr:nth-child(even) td{background:transparent;}
}

/* --- 12. 目次 ----------------------------------------------------- */
.ks-toc{margin:28px 0;border:2px solid var(--ks-key);border-radius:var(--ks-radius);background:var(--ks-white);overflow:hidden;box-shadow:var(--ks-shadow);}
.ks-toc__head{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--ks-key);color:#fff;padding:11px 15px;}
.ks-toc__head b{font-size:15px;display:inline-flex;align-items:center;gap:8px;}
.ks-toc__head svg{width:19px;height:19px;}
.ks-toc__tgl{background:rgba(255,255,255,.2);border:0;color:#fff;font-size:11.5px;font-weight:800;padding:4px 12px;border-radius:999px;cursor:pointer;white-space:nowrap;}
.ks-toc__body{padding:14px 16px;}
.ks-toc[data-open="false"] .ks-toc__body{display:none;}
.ks-toc ol{counter-reset:kstoc;list-style:none;margin:0;padding:0;}
.ks-toc > .ks-toc__body > ol > li{counter-increment:kstoc;position:relative;padding-left:34px;margin-bottom:9px;}
.ks-toc > .ks-toc__body > ol > li::before{content:counter(kstoc);position:absolute;left:0;top:.1em;width:25px;height:25px;border-radius:7px;background:var(--ks-key-l);color:var(--ks-key-d);font-size:12.5px;font-weight:800;display:grid;place-items:center;}
.ks-toc a{color:var(--ks-navy);text-decoration:none;font-weight:700;font-size:14.5px;line-height:1.65;display:inline-block;}
.ks-toc a:hover{color:var(--ks-accent-d);text-decoration:underline;}
.ks-toc ol ol{margin:7px 0 0;padding-left:0;}
.ks-toc ol ol li{position:relative;padding-left:17px;margin-bottom:5px;}
.ks-toc ol ol li::before{content:"";position:absolute;left:2px;top:.72em;width:8px;height:2px;background:var(--ks-sub);}
.ks-toc ol ol a{font-size:13px;font-weight:600;color:var(--ks-ink-soft);}

/* --- 13. 一覧の変種（ルール10） ------------------------------------- */
.ks-list{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);margin:0 0 26px;}
@media(min-width:640px){.ks-list--2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}}
@media(min-width:640px){.ks-list--3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));}}
.ks-card{display:block;background:var(--ks-white);border:1px solid var(--ks-line);border-radius:var(--ks-radius);overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--ks-shadow-s);position:relative;}
.ks-card:hover{color:inherit;box-shadow:var(--ks-shadow);transform:translateY(-2px);}
.ks-card__img{background:var(--ks-line-s);overflow:hidden;}
.ks-card__img img{width:100%;aspect-ratio:3/2;object-fit:cover;}
.ks-card__body{padding:13px 14px 15px;}
.ks-card__cat{display:inline-block;font-size:10.5px;font-weight:800;color:#fff;background:var(--ks-key);padding:2px 9px;border-radius:999px;margin-bottom:7px;line-height:1.7;}
.ks-card__ttl{font-size:15px;font-weight:800;color:var(--ks-navy);line-height:1.55;margin:0 0 7px;}
.ks-card__ex{font-size:12.5px;color:var(--ks-ink-soft);line-height:1.75;margin:0;}
.ks-card__meta{display:flex;flex-wrap:wrap;gap:5px 12px;font-size:10.5px;color:var(--ks-ink-soft);margin-top:9px;padding-top:8px;border-top:1px dashed var(--ks-line);}
/* 変種A：画像左 */
.ks-card--left{display:grid;grid-template-columns:minmax(0,1fr);}
@media(min-width:520px){
  .ks-card--left{grid-template-columns:minmax(140px,.36fr) minmax(0,1fr);}
  .ks-card--left .ks-card__img img{height:100%;aspect-ratio:auto;min-height:150px;}
}
/* 変種B：画像右 */
.ks-card--right{display:grid;grid-template-columns:minmax(0,1fr);}
@media(min-width:520px){
  .ks-card--right{grid-template-columns:minmax(0,1fr) minmax(140px,.36fr);}
  .ks-card--right .ks-card__img{order:2;}
  .ks-card--right .ks-card__img img{height:100%;aspect-ratio:auto;min-height:150px;}
}
/* 変種C：画像を上に大きく1カラム */
.ks-card--hero{border-width:2px;border-color:var(--ks-key);}
.ks-card--hero .ks-card__img img{aspect-ratio:16/7;}
.ks-card--hero .ks-card__ttl{font-size:17.5px;}
.ks-card--hero .ks-card__body{padding:16px 17px 18px;}
/* 変種D：画像なし・色帯 */
.ks-card--band{border-left:8px solid var(--ks-key);background:linear-gradient(100deg,var(--ks-key-l),#fff 60%);}
.ks-card--band .ks-card__img{display:none;}
.ks-card--band .ks-card__body{padding:16px 16px 17px;}
/* 変種E：番号付きの枠 */
.ks-card--num{border-top:5px solid var(--ks-sub);}
.ks-card--num .ks-card__body{padding-top:19px;}
.ks-card--num .ks-card__no{position:absolute;top:-2px;left:14px;background:var(--ks-sub);color:#fff;font-size:11px;font-weight:800;padding:3px 11px 4px;border-radius:0 0 8px 8px;line-height:1.5;}
/* 変種F：薄い枠・大きめ余白 */
.ks-card--plain{border:1px dashed var(--ks-key);box-shadow:none;background:#fff;}
.ks-card--plain .ks-card__img img{aspect-ratio:5/2;}
/* 変種G：濃色 */
.ks-card--dark{background:linear-gradient(160deg,var(--ks-navy),var(--ks-key-d));border-color:var(--ks-navy);}
.ks-card--dark .ks-card__ttl{color:#fff;}
.ks-card--dark .ks-card__ex{color:#c8daea;}
.ks-card--dark .ks-card__meta{color:#a9c0d4;border-top-color:rgba(255,255,255,.2);}
.ks-card--dark .ks-card__cat{background:var(--ks-sub);}

/* セクション見出し（一覧ページ） */
.ks-sec{margin:0 0 18px;}
.ks-sec__ttl{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:800;color:var(--ks-navy);line-height:1.45;margin:0 0 6px;}
.ks-sec__ttl::before{content:"";flex:0 0 auto;width:7px;height:1.15em;border-radius:4px;background:linear-gradient(180deg,var(--ks-accent),var(--ks-key));}
@media(min-width:768px){.ks-sec__ttl{font-size:23px;}}
.ks-sec__sub{font-size:13px;color:var(--ks-ink-soft);margin:0;line-height:1.8;}
.ks-sec__bar{height:3px;background:repeating-linear-gradient(90deg,var(--ks-key) 0 22px,var(--ks-line) 22px 30px);border-radius:2px;margin-top:9px;}

/* --- 14. カテゴリー・タグ ------------------------------------------ */
.ks-archead{background:linear-gradient(140deg,var(--ks-navy),var(--ks-key-d) 70%);color:#fff;border-radius:var(--ks-radius);padding:22px 18px;margin-bottom:22px;box-shadow:var(--ks-shadow);position:relative;overflow:hidden;}
.ks-archead::after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.06);}
@media(min-width:768px){.ks-archead{padding:30px 32px;}}
.ks-archead__row{display:flex;align-items:flex-start;gap:14px;position:relative;z-index:1;}
.ks-archead__icon{flex:0 0 auto;width:54px;height:54px;border-radius:14px;background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.3);display:grid;place-items:center;}
.ks-archead__icon svg{width:31px;height:31px;color:#fff;}
.ks-archead__kind{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.08em;background:var(--ks-accent);padding:2px 10px;border-radius:999px;margin-bottom:7px;}
.ks-archead h1{font-size:20px;font-weight:800;line-height:1.45;margin:0 0 8px;}
@media(min-width:768px){.ks-archead h1{font-size:27px;}}
.ks-archead p{font-size:13.5px;line-height:1.85;margin:0;color:#dbe9f5;}
.ks-archead__cnt{margin-top:11px;font-size:11.5px;color:#bcd3e6;}

.ks-catgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:13px;}
.ks-catcard{display:flex;gap:11px;align-items:flex-start;background:var(--ks-white);border:1px solid var(--ks-line);border-radius:12px;padding:14px 13px;text-decoration:none;color:inherit;box-shadow:var(--ks-shadow-s);border-top:4px solid var(--ks-key);}
.ks-catcard:hover{color:inherit;box-shadow:var(--ks-shadow);border-top-color:var(--ks-accent);}
.ks-catcard__ic{flex:0 0 auto;width:42px;height:42px;border-radius:11px;background:var(--ks-key-l);display:grid;place-items:center;}
.ks-catcard__ic svg{width:25px;height:25px;color:var(--ks-key-d);}
.ks-catcard__n{display:block;font-size:14px;font-weight:800;color:var(--ks-navy);line-height:1.5;margin-bottom:4px;}
.ks-catcard__d{display:block;font-size:11.5px;color:var(--ks-ink-soft);line-height:1.7;}
.ks-catcard__c{display:inline-block;margin-top:6px;font-size:10.5px;font-weight:800;color:var(--ks-key-d);background:var(--ks-key-l);padding:1px 8px;border-radius:999px;}

.ks-tagcloud{display:flex;flex-wrap:wrap;gap:7px;}
.ks-tagcloud a{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:999px;background:var(--ks-white);border:1.5px solid var(--ks-line);font-size:12.5px;font-weight:700;color:var(--ks-navy);text-decoration:none;}
.ks-tagcloud a::before{content:"#";color:var(--ks-accent);font-weight:800;}
.ks-tagcloud a:hover{border-color:var(--ks-key);background:var(--ks-key-l);color:var(--ks-key-d);}
.ks-tagcloud a small{color:var(--ks-ink-soft);font-size:10.5px;}

/* カテゴリー×タグの絞り込み */
.ks-filter{background:var(--ks-white);border:1px solid var(--ks-line);border-radius:12px;padding:14px;margin-bottom:20px;}
.ks-filter__t{font-size:12.5px;font-weight:800;color:var(--ks-ink-soft);margin:0 0 9px;display:flex;align-items:center;gap:7px;}
.ks-filter__t svg{width:16px;height:16px;color:var(--ks-key);}

/* SNS枠 */
.ks-sns{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:20px 0;}
.ks-sns a{display:flex;align-items:center;gap:9px;padding:11px 13px;border-radius:11px;text-decoration:none;color:#fff;font-size:12.5px;font-weight:800;line-height:1.4;box-shadow:var(--ks-shadow-s);}
.ks-sns a svg{width:20px;height:20px;flex:0 0 auto;}
.ks-sns a small{display:block;font-size:10px;font-weight:600;opacity:.85;}
.ks-sns--yt{background:#c4302b;}
.ks-sns--x{background:#12181f;}
.ks-sns--ig{background:linear-gradient(45deg,#f09433,#e6683c 30%,#dc2743 55%,#bc1888);}
.ks-sns--tt{background:#111;}
.ks-sns a:hover{color:#fff;opacity:.92;}

/* --- 15. サイドバー ------------------------------------------------ */
.ks-widget{background:var(--ks-white);border:1px solid var(--ks-line);border-radius:12px;margin-bottom:18px;overflow:hidden;box-shadow:var(--ks-shadow-s);}
.ks-widget__h{background:linear-gradient(100deg,var(--ks-navy),var(--ks-key));color:#fff;font-size:13.5px;font-weight:800;padding:10px 14px;display:flex;align-items:center;gap:8px;}
.ks-widget__h svg{width:17px;height:17px;}
.ks-widget__b{padding:13px 14px;}
.ks-widget__b > *:last-child{margin-bottom:0;}
.ks-ranklist{list-style:none;margin:0;padding:0;counter-reset:ksr;}
.ks-ranklist li{counter-increment:ksr;display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px dashed var(--ks-line);}
.ks-ranklist li:last-child{border-bottom:0;padding-bottom:0;}
.ks-ranklist li::before{content:counter(ksr);flex:0 0 auto;width:22px;height:22px;border-radius:6px;background:var(--ks-key-l);color:var(--ks-key-d);font-size:11.5px;font-weight:800;display:grid;place-items:center;margin-top:2px;}
.ks-ranklist a{font-size:13px;font-weight:700;color:var(--ks-navy);text-decoration:none;line-height:1.6;}
.ks-ranklist a:hover{color:var(--ks-accent-d);}

/* --- 16. 役に立った ------------------------------------------------ */
.ks-helpful{margin:32px 0;border:2px dashed var(--ks-key);border-radius:var(--ks-radius);background:var(--ks-key-l);padding:18px 16px;text-align:center;}
.ks-helpful__t{font-size:14.5px;font-weight:800;color:var(--ks-navy);margin:0 0 12px;}
.ks-helpful__btn{display:inline-flex;align-items:center;gap:9px;padding:11px 24px;border-radius:999px;border:2px solid var(--ks-key);background:#fff;color:var(--ks-key-d);font-size:15px;font-weight:800;cursor:pointer;box-shadow:0 3px 0 var(--ks-key);}
.ks-helpful__btn:hover{background:var(--ks-key);color:#fff;}
.ks-helpful__btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--ks-key);}
.ks-helpful__btn[disabled]{opacity:.65;cursor:default;transform:translateY(2px);box-shadow:0 1px 0 var(--ks-key);}
.ks-helpful__btn svg{width:19px;height:19px;}
.ks-helpful__n{font-variant-numeric:tabular-nums;}
.ks-helpful__msg{font-size:11.5px;color:var(--ks-ink-soft);margin:10px 0 0;min-height:1.2em;}

/* --- 17. 出典・紹介サイト ------------------------------------------ */
.ks-src{margin:16px 0 8px;padding:11px 13px;background:var(--ks-line-s);border-left:4px solid var(--ks-key);border-radius:0 8px 8px 0;font-size:12.5px;line-height:1.75;}
.ks-src__lab{display:inline-flex;align-items:center;gap:5px;font-weight:800;color:var(--ks-key-d);margin-right:6px;}
.ks-src__lab svg{width:14px;height:14px;}
.ks-src a{color:var(--ks-blue);font-weight:700;}
.ks-src a::after{content:"↗";font-size:.85em;margin-left:3px;color:var(--ks-ink-soft);}

.ks-sites{margin:34px 0 10px;}
.ks-sites__note{font-size:11.5px;color:var(--ks-ink-soft);background:var(--ks-line-s);border:1px dashed var(--ks-line);border-radius:9px;padding:10px 13px;line-height:1.8;margin:0 0 15px;}
.ks-sites__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:11px;list-style:none;padding:0;margin:0;counter-reset:kss;}
.ks-sites__grid li{counter-increment:kss;margin:0;background:var(--ks-white);border:1px solid var(--ks-line);border-radius:11px;padding:12px 13px 12px 13px;position:relative;box-shadow:var(--ks-shadow-s);}
.ks-sites__grid li::before{content:counter(kss);position:absolute;top:9px;right:10px;font-size:10.5px;font-weight:800;color:var(--ks-line);}
.ks-sites__grid a{display:block;font-size:13.5px;font-weight:800;color:var(--ks-navy);text-decoration:none;line-height:1.55;padding-right:24px;}
.ks-sites__grid a:hover{color:var(--ks-accent-d);text-decoration:underline;}
.ks-sites__grid p{font-size:11.5px;color:var(--ks-ink-soft);line-height:1.7;margin:5px 0 0;}
.ks-sites__grid span.ks-sites__host{display:inline-block;font-size:10px;color:var(--ks-key-d);background:var(--ks-key-l);border-radius:4px;padding:1px 7px;margin-top:6px;}
/* 1件ずつ見た目を変える（ルール10） */
.ks-sites__grid li.v1{border-left:5px solid var(--ks-key);}
.ks-sites__grid li.v2{background:linear-gradient(180deg,var(--ks-key-l),#fff 70%);}
.ks-sites__grid li.v3{border-style:dashed;}
.ks-sites__grid li.v4{border-top:4px solid var(--ks-sub);}
.ks-sites__grid li.v5{box-shadow:0 3px 0 var(--ks-line);}
.ks-sites__grid li.v6{border-radius:2px 14px 2px 14px;}
.ks-sites__grid li.v7{background:#fcfdff;border-color:var(--ks-key);}

/* --- 18. ページャ -------------------------------------------------- */
.ks-pager{margin:30px 0 6px;}
.ks-pager .nav-links,.ks-pager ul{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;list-style:none;padding:0;margin:0;}
.ks-pager .page-numbers{display:grid;place-items:center;min-width:40px;height:40px;padding:0 12px;border-radius:9px;border:1.5px solid var(--ks-line);background:var(--ks-white);color:var(--ks-navy);font-weight:800;font-size:14px;text-decoration:none;}
.ks-pager .page-numbers:hover{border-color:var(--ks-key);background:var(--ks-key-l);}
.ks-pager .page-numbers.current{background:var(--ks-key);border-color:var(--ks-key);color:#fff;}
.ks-pager .page-numbers.dots{border:0;background:transparent;}

.ks-prevnext{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:28px 0;}
.ks-prevnext a{display:block;background:var(--ks-white);border:1px solid var(--ks-line);border-radius:12px;padding:13px 15px;text-decoration:none;box-shadow:var(--ks-shadow-s);}
.ks-prevnext a:hover{border-color:var(--ks-key);}
.ks-prevnext small{display:block;font-size:10.5px;font-weight:800;color:var(--ks-key-d);margin-bottom:5px;}
.ks-prevnext b{display:block;font-size:13.5px;font-weight:800;color:var(--ks-navy);line-height:1.6;}

/* --- 19. 検索・404 ------------------------------------------------- */
.ks-empty{text-align:center;padding:40px 18px;background:var(--ks-white);border:2px dashed var(--ks-line);border-radius:var(--ks-radius);}
.ks-empty h2{font-size:19px;color:var(--ks-navy);margin-bottom:10px;}
.ks-empty p{font-size:13.5px;color:var(--ks-ink-soft);}
.ks-404num{font-size:64px;font-weight:800;color:var(--ks-key-l);line-height:1;margin-bottom:6px;letter-spacing:.04em;}

/* --- 統計セクション（トップ） --------------------------------------- */
.ks-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;}
.ks-stat{background:var(--ks-white);border:1px solid var(--ks-line);border-top:5px solid var(--ks-key);border-radius:12px;padding:15px 13px;box-shadow:var(--ks-shadow-s);}
.ks-stat__v{display:block;font-size:26px;font-weight:800;color:var(--ks-key-d);line-height:1.25;}
.ks-stat__v small{font-size:14px;}
.ks-stat__k{display:block;font-size:12px;font-weight:800;color:var(--ks-navy);margin-top:3px;line-height:1.5;}
.ks-stat__s{display:block;font-size:10.5px;color:var(--ks-ink-soft);margin-top:6px;line-height:1.65;}
.ks-stat__s a{color:var(--ks-blue);}

/* 印刷 */
@media print{
  .ks-cta,.ks-head__acts,.ks-drawer,.ks-side,.ks-helpful{display:none!important;}
  body{padding-bottom:0;background:#fff;}
}

/* --- 20. お問い合わせフォーム ------------------------------------- */
.ks-form{margin:26px 0 10px;}
.ks-form__row{margin-bottom:16px;}
.ks-form__row label{display:block;font-size:13.5px;font-weight:800;color:var(--ks-navy);margin-bottom:6px;}
.ks-form__req{display:inline-block;background:var(--ks-red);color:#fff;font-size:10px;font-weight:800;padding:1px 7px;border-radius:4px;margin-left:7px;vertical-align:2px;}
.ks-form input[type="text"],.ks-form input[type="email"],.ks-form select,.ks-form textarea{
  width:100%;padding:11px 13px;border:1.5px solid var(--ks-line);border-radius:9px;font-size:16px;
  font-family:inherit;background:#fff;color:var(--ks-ink);line-height:1.7;}
.ks-form input:focus,.ks-form select:focus,.ks-form textarea:focus{border-color:var(--ks-key,#1a73c7);outline:none;box-shadow:0 0 0 3px var(--ks-key-l,#e8f1fb);}
.ks-form textarea{resize:vertical;min-height:150px;}
.ks-form__row--check label{display:flex;gap:9px;align-items:flex-start;font-weight:600;font-size:13.5px;line-height:1.8;}
.ks-form__row--check input[type="checkbox"]{width:20px;height:20px;flex:0 0 auto;margin-top:2px;accent-color:var(--ks-key,#1a73c7);}
.ks-form__note{font-size:11.5px;color:var(--ks-ink-soft);line-height:1.8;background:var(--ks-line-s);border-radius:8px;padding:10px 12px;margin:0 0 16px;}
.ks-form__submit{display:block;width:100%;max-width:320px;margin-inline:auto;padding:14px 20px;border:0;border-radius:999px;
  background:linear-gradient(180deg,#ff9040,var(--ks-accent-d));color:#fff;font-size:16px;font-weight:800;cursor:pointer;
  box-shadow:0 3px 0 #b04c04;}
.ks-form__submit:hover{transform:translateY(1px);box-shadow:0 2px 0 #b04c04;}

/* --- 21. キーワード一覧ページ ------------------------------------- */
.ks-kwgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:22px 0;}
.ks-kwcard{background:#fff;border:1px solid var(--ks-line);border-radius:12px;padding:15px 14px;box-shadow:var(--ks-shadow-s);}
.ks-kwcard > b{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ks-navy);margin-bottom:9px;padding-bottom:8px;border-bottom:2px solid var(--ks-line-s);}
.ks-kwcard > b svg{width:17px;height:17px;color:var(--ks-key,#1a73c7);flex:0 0 auto;}
.ks-kwcard ul{list-style:none;margin:0;padding:0;}
.ks-kwcard li{margin:0 0 6px;}
.ks-kwcard a{font-size:12.5px;color:var(--ks-blue);text-decoration:none;line-height:1.7;}
.ks-kwcard a:hover{text-decoration:underline;}
