@charset "utf-8";
/* ===========================================================
   全ページ共通（トップページの組み方を他のページにも広げる）
   S1. 土台と帯 / S2. ページ見出し帯 / S3. セクション見出し・ボタン
   S4. タイル / S5. 記事カード / S6. タグ / S7. 追加の状態
   S8. 他サイト一覧 / S9. CTA箱 / S10. サイドバー / S11. 記事まわり

   S3〜S6・S8〜S10 は front.css から移した（トップと同じ見え方を全ページで使う）。
   色は main.css の --ks-* トークンだけを使う。指定外の色を足さない。
   =========================================================== */

/* --- S1. 土台と帯 -------------------------------------------------- */
/* どのページも先頭がページ見出し帯になるので、本体の余白は帯が持つ */
.ks-main{padding:0;}
.ks-band{padding:40px 0 44px;}
@media(min-width:768px){.ks-band{padding:52px 0 56px;}}
.ks-band--white{background:var(--ks-white);border-bottom:1px solid var(--ks-line);}
.ks-band--soft{background:var(--ks-bg);}
.ks-band--dark{background:var(--ks-navy-d);color:#fff;}
.ks-band--tight{padding:28px 0 30px;}
@media(min-width:768px){.ks-band--tight{padding:34px 0 36px;}}
/* 帯の中で縦に並べるかたまり */
.ks-block{margin-bottom:44px;}
.ks-block:last-child{margin-bottom:0;}

/* --- S2. ページ見出し帯 -------------------------------------------- */
.ks-phero{background:linear-gradient(150deg,var(--ks-navy-d) 0%,var(--ks-navy) 55%,var(--ks-blue) 120%);color:#fff;}
.ks-phero--b{background:linear-gradient(180deg,var(--ks-navy-d) 0%,var(--ks-navy) 100%);}
.ks-phero--c{background:linear-gradient(115deg,var(--ks-navy-d) 0%,var(--ks-navy) 48%,var(--ks-key-d) 100%);}
.ks-phero__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:center;padding:30px 0 32px;}
@media(min-width:960px){
  .ks-phero__grid{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:44px;padding:44px 0 46px;}
  /* 変種c だけパネルを左に置く */
  .ks-phero--c .ks-phero__main{order:2;}
  .ks-phero--c .ks-phero__side{order:1;}
}
.ks-phero--solo .ks-phero__grid{grid-template-columns:minmax(0,1fr);}
.ks-phero--b .ks-phero__main{text-align:center;max-width:780px;margin-inline:auto;}
.ks-phero--b .ks-phero__lead{margin-inline:auto;}
.ks-phero--b .ks-phero__chips,
.ks-phero--b .ks-phero__facts,
.ks-phero--b .ks-phero__actions{justify-content:center;}
.ks-phero--b .ks-phero__form{margin-inline:auto;}
.ks-phero__main{min-width:0;}
.ks-phero__eyebrow{font-size:14px;font-weight:700;letter-spacing:.06em;color:#bcd8f5;margin:0 0 10px;}
.ks-phero__chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
.ks-phero__chip{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:#dbe8f7;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:4px 12px;text-decoration:none;line-height:1.7;}
.ks-phero__chip:hover{color:#fff;background:rgba(255,255,255,.22);}
.ks-phero__chip svg{width:13px;height:13px;flex:0 0 auto;}
.ks-phero__h1{font-size:25.5px;line-height:1.5;font-weight:800;letter-spacing:.01em;margin:0 0 14px;}
@media(min-width:680px){.ks-phero__h1{font-size:30px;}}
@media(min-width:960px){.ks-phero__h1{font-size:35.5px;}}
.ks-phero__lead{font-size:16.5px;line-height:1.9;color:#dbe8f7;max-width:640px;margin:0;}
.ks-phero__facts{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:18px 0 0;padding:0;}
.ks-phero__fact{display:inline-flex;align-items:center;gap:6px;margin:0;padding:6px 12px;font-size:13.5px;font-weight:600;line-height:1.6;color:#cfe0f2;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:8px;}
.ks-phero__fact svg{width:13px;height:13px;flex:0 0 auto;color:#9fc4e8;}
.ks-phero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;}
.ks-phero__form{margin-top:20px;max-width:440px;}
.ks-phero__form .ks-searchform input[type="search"]{border-color:rgba(255,255,255,.34);}
.ks-phero__form .ks-searchform button{background:var(--ks-accent);}
.ks-phero__form .ks-searchform button:hover{background:var(--ks-accent-d);}
.ks-phero__side{min-width:0;}
.ks-phero__panel{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.2);border-radius:var(--ks-radius);padding:20px;}
.ks-phero__ico{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);color:#fff;margin-bottom:14px;}
.ks-phero__ico svg{width:30px;height:30px;}
.ks-phero__num{font-size:39.5px;font-weight:800;line-height:1.15;color:#fff;margin:0;}
@media(min-width:680px){.ks-phero__num{font-size:45.5px;}}
.ks-phero__num-unit{font-size:15.5px;font-weight:600;color:#bcd8f5;margin-left:5px;}
.ks-phero__panel-label{display:block;font-size:15px;font-weight:700;color:#dbe8f7;line-height:1.6;margin-top:8px;}
.ks-phero__rows{margin:14px 0 0;padding:0;}
.ks-phero__row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid rgba(255,255,255,.14);font-size:14px;line-height:1.6;}
.ks-phero__row dt{margin:0;color:#a9c3dc;}
.ks-phero__row dd{margin:0;color:#fff;font-weight:700;text-align:right;}
.ks-phero__panel-note{font-size:13px;line-height:1.7;color:#a9c3dc;margin:12px 0 0;}
.ks-phero__img{margin:0;border:1px solid rgba(255,255,255,.18);border-radius:var(--ks-radius-s);overflow:hidden;}
.ks-phero__img img{width:100%;height:auto;display:block;}

/* --- S3. セクション見出し・ボタン（front.css から移動） ------------- */
.ksof-section-head{margin-bottom:22px;}
.ksof-section-head h2{font-size:24.5px;font-weight:800;color:var(--ks-navy);margin:0 0 8px;line-height:1.5;}
.ksof-section-head p{font-size:15px;color:var(--ks-ink-soft);line-height:1.8;margin:0;}
.ksof-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:var(--ks-radius-s);font-size:16.5px;font-weight:700;border:1px solid transparent;text-decoration:none;}
.ksof-btn svg{width:16px;height:16px;flex:0 0 auto;}
.ksof-btn-white{background:var(--ks-white);color:var(--ks-navy);border-color:var(--ks-white);}
.ksof-btn-white:hover{color:var(--ks-key-d);background:var(--ks-blue-l);border-color:var(--ks-blue-l);}
.ksof-btn-cta{background:linear-gradient(90deg,var(--ks-accent) 0%,var(--ks-accent-d) 100%);color:#fff;box-shadow:var(--ks-shadow-s);}
.ksof-btn-cta:hover{color:#fff;transform:translateY(1px);}

/* --- S4. カテゴリータイル（5変種。front.css から移動） -------------- */
.ksof-cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;align-items:start;grid-auto-flow:dense;}
@media(max-width:680px){.ksof-cat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));}}
.ksof-tile{display:block;background:var(--ks-white);border:1px solid var(--ks-line);border-radius:var(--ks-radius);box-shadow:var(--ks-shadow-s);text-decoration:none;color:inherit;}
.ksof-tile:hover{color:inherit;box-shadow:var(--ks-shadow);}
.ksof-tile-name{display:block;font-weight:800;color:var(--ks-navy);font-size:17.5px;line-height:1.5;}
.ksof-tile-desc{display:block;font-size:16px;color:var(--ks-ink-soft);line-height:1.75;margin-top:8px;}
.ksof-tile-count{display:block;font-size:13.5px;color:var(--ks-ink-soft);margin-top:10px;font-weight:600;}
/* 変種1：アイコン上置き */
.ksof-tile-icon{padding:24px 20px;}
.ksof-tile-icon .ksof-tile-ico{display:block;width:34px;height:34px;color:var(--ks-blue);margin-bottom:10px;}
.ksof-tile-icon .ksof-tile-ico svg{width:34px;height:34px;}
/* 変種2：反転型（説明を先に大きく） */
.ksof-tile-flip{grid-row:span 2;padding:26px 22px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;background:var(--ks-navy);border-color:var(--ks-navy);}
.ksof-tile-flip .ksof-tile-desc-lead{display:block;font-size:17px;color:var(--ks-blue-l);line-height:1.8;font-weight:600;}
.ksof-tile-flip .ksof-tile-name{color:#fff;}
.ksof-tile-flip .ksof-tile-count{color:#a9c3dc;}
/* 変種3：積み上げ型 */
.ksof-tile-stack{padding:22px 20px;}
.ksof-tile-stack .ksof-tile-count-big{display:block;font-size:24.5px;font-weight:800;color:var(--ks-accent-d);margin-top:4px;line-height:1.3;}
/* 変種4：素の行型 */
.ksof-tile-row{padding:16px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.ksof-tile-row .ksof-tile-name{font-size:17.5px;}
.ksof-tile-row .ksof-tile-count{margin:0;}
/* 変種5：色地型 */
.ksof-tile-color{padding:24px 20px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;border-color:transparent;min-height:132px;}
.ksof-tile-color.ksof-blue{background:var(--ks-blue-l);}
.ksof-tile-color.ksof-orange{background:var(--ks-accent-l);}
.ksof-tile-color .ksof-tile-name{font-size:17.5px;}
.ksof-tile-color-arrow{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ks-white);color:var(--ks-navy);align-self:flex-end;}
.ksof-tile-color-arrow svg{width:14px;height:14px;}
@media(min-width:360px){.ksof-tile-row{grid-column:span 2;}}
@media(max-width:959px){.ksof-tile-flip{grid-row:span 1;}}

/* --- S5. 記事カード（5変種。front.css から移動） -------------------- */
/* --- F9. 記事カード（5変種） ---------------------------------------- */
.ksof-art-grid{display:flex;flex-direction:column;gap:18px;}
.ksof-art{background:var(--ks-white);border:1px solid var(--ks-line);border-radius:var(--ks-radius);overflow:hidden;}
.ksof-art-link{display:block;text-decoration:none;color:inherit;}
.ksof-art-link:hover{color:inherit;}
.ksof-art-link:hover .ksof-art-title{color:var(--ks-accent-d);}
.ksof-art-ph{display:block;background:linear-gradient(135deg,var(--ks-blue-l),var(--ks-line-s));overflow:hidden;}
.ksof-art-ph img{width:100%;height:100%;object-fit:cover;display:block;}
.ksof-art-ph--none{display:grid;place-items:center;color:var(--ks-key-d);min-height:120px;}
.ksof-art-ph--none svg{width:28px;height:28px;opacity:.5;}
.ksof-art-cat{display:inline-block;font-size:12.5px;font-weight:700;color:var(--ks-key-d);background:var(--ks-blue-l);padding:3px 9px;border-radius:6px;line-height:1.7;}
.ksof-art-title{display:block;font-weight:800;color:var(--ks-navy);line-height:1.55;}
.ksof-art-excerpt{display:block;color:var(--ks-ink-soft);font-size:16px;line-height:1.75;}
.ksof-art-metaline{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:var(--ks-ink-soft);margin-top:10px;padding-top:8px;border-top:1px dashed var(--ks-line);}
.ksof-art-metaline span{display:inline-flex;align-items:center;gap:5px;}
.ksof-art-metaline svg{width:13px;height:13px;color:var(--ks-key);}
/* 変種A：大画像＋抜粋 */
.ksof-art-big{box-shadow:var(--ks-shadow-s);}
.ksof-art-big .ksof-art-ph{height:220px;}
.ksof-art-big .ksof-art-body{display:block;padding:20px 22px 22px;}
.ksof-art-big .ksof-art-title{font-size:20px;margin:10px 0 8px;}
/* 変種B：画像左 */
.ksof-art-left .ksof-art-link{display:grid;grid-template-columns:minmax(0,1fr);}
.ksof-art-left .ksof-art-ph{height:170px;}
.ksof-art-left .ksof-art-body{display:flex;flex-direction:column;justify-content:center;padding:18px 20px;}
.ksof-art-left .ksof-art-title{font-size:17px;margin:6px 0;}
/* 変種C：画像右 */
.ksof-art-right .ksof-art-link{display:grid;grid-template-columns:minmax(0,1fr);}
.ksof-art-right .ksof-art-ph{height:170px;}
.ksof-art-right .ksof-art-body{display:flex;flex-direction:column;justify-content:center;padding:18px 20px;}
.ksof-art-right .ksof-art-title{font-size:17px;margin:6px 0;}
/* 変種D：小画像＋タイトルのみ */
.ksof-art-small .ksof-art-link{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;}
.ksof-art-small .ksof-art-ph{height:72px;margin:12px;border-radius:8px;}
.ksof-art-small .ksof-art-body{display:block;padding:12px 14px 12px 0;}
.ksof-art-small .ksof-art-title{font-size:17px;}
/* 変種E：画像なし・左に色帯 */
.ksof-art-flat{border-left:5px solid var(--ks-accent);}
.ksof-art-flat .ksof-art-link{display:flex;flex-direction:column;gap:6px;padding:16px 20px;}
.ksof-art-flat .ksof-art-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font-size:13px;color:var(--ks-ink-soft);}
.ksof-art-flat .ksof-art-title{font-size:17.5px;margin-top:6px;}
@media(min-width:560px){
  .ksof-art-left .ksof-art-link{grid-template-columns:180px minmax(0,1fr);}
  .ksof-art-left .ksof-art-ph{height:100%;min-height:150px;}
  .ksof-art-right .ksof-art-link{grid-template-columns:minmax(0,1fr) 180px;}
  .ksof-art-right .ksof-art-ph{height:100%;min-height:150px;order:2;}
  .ksof-art-right .ksof-art-body{order:1;}
  .ksof-art-small .ksof-art-link{grid-template-columns:120px minmax(0,1fr);}
  .ksof-art-small .ksof-art-ph{height:84px;margin:14px;}
  .ksof-art-small .ksof-art-body{padding:14px 16px 14px 0;}
}

/* --- F10. タグ（大きさ3段階 × 塗り3種） ------------------------------ */
.ksof-tag-wrap{display:flex;flex-wrap:wrap;gap:10px;}
.ksof-tag{display:inline-flex;align-items:center;gap:5px;border-radius:999px;font-weight:700;text-decoration:none;line-height:1.6;}
.ksof-tag-count{font-weight:500;font-size:.9em;}
.ksof-tag-sm{font-size:14px;padding:6px 12px;}
.ksof-tag-md{font-size:15px;padding:9px 16px;}
.ksof-tag-lg{font-size:16.5px;padding:12px 20px;}
.ksof-tag-f1{background:var(--ks-white);border:1px solid var(--ks-line);color:var(--ks-navy);}
.ksof-tag-f1 .ksof-tag-count{color:var(--ks-ink-soft);}
.ksof-tag-f2{background:var(--ks-blue-l);border:1px solid var(--ks-blue-l);color:var(--ks-key-d);}
.ksof-tag-f2 .ksof-tag-count{color:var(--ks-key-d);}
.ksof-tag-f3{background:var(--ks-accent-l);border:1px solid var(--ks-accent-l);color:var(--ks-accent-d);}
.ksof-tag-f3 .ksof-tag-count{color:var(--ks-accent-d);}
.ksof-tag:hover{border-color:var(--ks-key);color:var(--ks-key-d);}

/* --- F11. 他サイト一覧（トップだけ4変種の形に組み替える） ------------ */
.ks-sites{margin:0 0 46px;}
.ks-sites h2{font-size:24.5px;font-weight:800;color:var(--ks-navy);margin:0 0 8px;line-height:1.5;}
.ks-sites__note{font-size:15px;color:var(--ks-ink-soft);background:none;border:0;border-radius:0;padding:0;margin:0 0 22px;line-height:1.8;}
.ks-sites__grid{display:flex;flex-direction:column;gap:14px;counter-reset:kss;}
.ks-sites__grid li{display:block;background:var(--ks-white);border:1px solid var(--ks-line);border-radius:var(--ks-radius-s);box-shadow:none;padding:16px 20px;position:relative;}
.ks-sites__grid li::before{position:static;display:block;color:var(--ks-navy);font-size:14.5px;font-weight:800;margin-bottom:4px;}
.ks-sites__grid a{display:block;font-size:17px;font-weight:800;color:var(--ks-navy);padding:0;line-height:1.55;}
.ks-sites__grid p{font-size:16px;color:var(--ks-ink-soft);line-height:1.7;margin:6px 0 0;}
.ks-sites__grid span.ks-sites__host{display:block;font-size:13.5px;color:var(--ks-key-d);background:none;border-radius:0;padding:0;margin-top:8px;font-weight:600;}
/* 変種a：左に太い罫線・番号を左に添える */
.ks-sites__grid li.v1,
.ks-sites__grid li.v5{border-left:4px solid var(--ks-navy);display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;}
.ks-sites__grid li.v1::before,
.ks-sites__grid li.v5::before{grid-row:span 3;margin:0;}
/* 変種b：淡い地色・番号を丸に */
.ks-sites__grid li.v2,
.ks-sites__grid li.v6{background:var(--ks-blue-l);border-color:var(--ks-blue-l);display:grid;grid-template-columns:26px minmax(0,1fr);gap:14px;padding:18px 20px;}
.ks-sites__grid li.v2::before,
.ks-sites__grid li.v6::before{grid-row:span 3;margin:0;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ks-blue);color:#fff;font-size:14px;}
/* 変種c：破線の枠・番号は右肩 */
.ks-sites__grid li.v3,
.ks-sites__grid li.v7{border:1px dashed var(--ks-ink-soft);}
.ks-sites__grid li.v3::before,
.ks-sites__grid li.v7::before{content:"No." counter(kss);position:absolute;top:14px;right:18px;font-size:13px;color:var(--ks-ink-soft);font-weight:700;margin:0;}
.ks-sites__grid li.v3 a,
.ks-sites__grid li.v7 a{padding-right:48px;}
/* 変種d：番号を大きく・説明を先に */
.ks-sites__grid li.v4{display:grid;grid-template-columns:52px minmax(0,1fr);gap:16px;align-items:start;padding:20px;}
.ks-sites__grid li.v4::before{grid-row:span 3;margin:0;font-size:33px;font-weight:800;color:var(--ks-accent);line-height:1;}
.ks-sites__grid li.v4 a{order:2;font-size:17px;}
.ks-sites__grid li.v4 p{order:1;font-weight:600;color:var(--ks-ink);font-size:16px;margin:0 0 4px;}
.ks-sites__grid li.v4 span.ks-sites__host{order:3;}
@media(max-width:560px){
  .ks-sites__grid li.v1,.ks-sites__grid li.v5,
  .ks-sites__grid li.v2,.ks-sites__grid li.v6,
  .ks-sites__grid li.v4{grid-template-columns:24px minmax(0,1fr);gap:10px;}
  .ks-sites__grid li.v4::before{font-size:24.5px;}
}

/* --- F12. 記事途中のCTA箱（トップの見え方） --------------------------- */
.ks-ctabox{margin:0 0 8px;border:0;border-radius:var(--ks-radius);background:linear-gradient(120deg,var(--ks-navy) 0%,var(--ks-key-d) 100%);padding:26px 22px;text-align:left;box-shadow:none;}
@media(min-width:680px){.ks-ctabox{padding:26px 28px;}}
.ks-ctabox__tag{position:static;transform:none;display:inline-block;font-size:13px;font-weight:700;background:rgba(255,255,255,.16);color:#fff;padding:5px 12px;border-radius:6px;margin-bottom:14px;}
.ks-ctabox p{margin:0 0 18px;font-size:17.5px;font-weight:700;line-height:1.7;color:#fff;max-width:520px;}
.ks-ctabox .ks-cta__btn{font-size:16px;padding:13px 28px;box-shadow:none;background:var(--ks-accent);}
.ks-ctabox__note{font-size:12.5px;color:#c3d6ea;margin:14px 0 0!important;max-width:560px;line-height:1.7;}

/* --- F13. サイドバー（トップは5つの形を変える） ---------------------- */
.ks-side .ks-widget{background:none;border:0;border-radius:0;box-shadow:none;overflow:visible;margin-bottom:22px;}
.ks-side .ks-widget__h{background:none;color:var(--ks-navy);font-size:16px;font-weight:800;padding:0;margin-bottom:14px;gap:8px;}
.ks-side .ks-widget__h svg{color:var(--ks-key);}
.ks-side .ks-widget__b{padding:0;}
/* 1つ目：枠のある白い箱 */
.ks-side .ks-widget:nth-of-type(1){background:var(--ks-white);border:1px solid var(--ks-line);border-radius:var(--ks-radius);padding:18px;}
/* 2つ目：淡橙の地色・枠なし */
.ks-side .ks-widget:nth-of-type(2){background:var(--ks-accent-l);border-radius:var(--ks-radius);padding:20px;}
/* 3つ目：上に太い罫線だけ */
.ks-side .ks-widget:nth-of-type(3){border-top:3px solid var(--ks-blue);padding-top:16px;}
.ks-side .ks-ranklist li{border-bottom:1px solid var(--ks-line-s);padding:9px 0;}
.ks-side .ks-ranklist li::before{width:19px;height:19px;border-radius:50%;font-size:12.5px;}
.ks-side .ks-ranklist a{font-size:14px;font-weight:600;color:var(--ks-ink);}
/* 4つ目：角丸の小さい枠つきリスト（見出しは箱の中） */
.ks-side .ks-widget:nth-of-type(4){background:var(--ks-white);border:1px solid var(--ks-line);border-radius:var(--ks-radius-s);}
.ks-side .ks-widget:nth-of-type(4) .ks-widget__h{padding:16px 16px 0;margin-bottom:10px;}
.ks-side .ks-widget:nth-of-type(4) .ks-widget__b{padding:0 0 4px;}
.ks-side .ks-widget:nth-of-type(4) li{padding:10px 16px!important;border-bottom:1px solid var(--ks-line-s)!important;font-size:14px;}
/* 5つ目：箱なし・ピルだけ */
.ks-side .ks-widget:nth-of-type(5) .ks-tagcloud a{font-size:13px;padding:5px 10px;}

/* --- S7. 追加の状態と組み方 ---------------------------------------- */
/* いま選んでいるタグ／しぼり込みを外すタグ */
.ksof-tag--on{background:var(--ks-navy);border-color:var(--ks-navy);color:#fff;}
.ksof-tag--on .ksof-tag-count{color:#bcd8f5;}
.ksof-tag--on:hover{background:var(--ks-navy-d);border-color:var(--ks-navy-d);color:#fff;}
.ksof-tag--off{background:var(--ks-white);border:1px dashed var(--ks-accent);color:var(--ks-accent-d);}
.ksof-tag--off:hover{background:var(--ks-accent-l);border-color:var(--ks-accent-d);color:var(--ks-accent-d);}
/* 関連記事など、2列に組みたいとき（固定列数は書かない） */
.ksof-art-grid--2{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;}
@media(min-width:760px){.ksof-art-grid--2{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));align-items:start;}}
/* 濃い地色の帯に置いたときの見出し */
.ks-band--dark .ksof-section-head h2{color:#fff;}
.ks-band--dark .ksof-section-head p{color:#bcd0e2;}
.ks-band--dark .ksof-tag-f1{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);color:#fff;}
.ks-band--dark .ksof-tag-f1 .ksof-tag-count{color:#bcd8f5;}

/* --- S11. 記事・固定ページまわり ------------------------------------ */
.ks-post{min-width:0;}
.ks-post .ks-panel{box-shadow:var(--ks-shadow-s);}
.ks-post__thumb{margin:0 0 20px;border:1px solid var(--ks-line);border-radius:var(--ks-radius);overflow:hidden;background:var(--ks-white);}
.ks-post__thumb img{width:100%;height:auto;display:block;}
/* 編集体制の囲み（記事末尾） */
.ks-editnote{margin-top:26px;padding:16px 18px;background:var(--ks-bg);border:1px solid var(--ks-line);border-radius:var(--ks-radius-s);font-size:14px;line-height:1.85;color:var(--ks-ink-soft);}
.ks-editnote b{display:block;color:var(--ks-navy);font-size:14.5px;margin-bottom:4px;}
/* 広告表記（記事冒頭） */
.ks-adnote{font-size:13.5px;line-height:1.75;color:var(--ks-ink-soft);background:var(--ks-bg);border:1px solid var(--ks-line);border-radius:var(--ks-radius-s);padding:10px 13px;margin:0 0 18px;}

/* 前後の記事・ページ送り・空の表示：トップと同じ平らな見え方にそろえる */
.ks-prevnext{margin:28px 0 0;}
.ks-prevnext a{border-radius:var(--ks-radius);box-shadow:none;}
.ks-prevnext a:hover{border-color:var(--ks-key);box-shadow:var(--ks-shadow-s);}
.ks-pager{margin:28px 0 0;}
.ks-pager .page-numbers{border-width:1px;border-radius:var(--ks-radius-s);font-size:15px;}
.ks-empty{background:var(--ks-white);border:1px solid var(--ks-line);border-radius:var(--ks-radius);box-shadow:var(--ks-shadow-s);padding:34px 18px;}
.ks-empty h2{font-size:20px;font-weight:800;}
.ks-404num{color:var(--ks-line);font-size:59.5px;}
.ks-helpful{background:var(--ks-white);border:1px solid var(--ks-line);border-radius:var(--ks-radius);}
.ks-helpful__btn{border-radius:var(--ks-radius-s);border:1px solid var(--ks-key);box-shadow:none;font-size:16px;}
.ks-helpful__btn:active{transform:none;box-shadow:none;}
.ks-helpful__btn[disabled]{transform:none;box-shadow:none;}
/* 目次 */
.ks-toc{border-radius:var(--ks-radius);}
/* SNSの入口 */
.ks-sns a{border-radius:var(--ks-radius-s);box-shadow:none;}
.ks-sns a:hover{box-shadow:var(--ks-shadow-s);}
/* サイドバーの中のCTAボタン（角丸をトップに合わせる） */
.ks-side .ks-cta__btn{border-radius:var(--ks-radius-s);background:linear-gradient(90deg,var(--ks-accent) 0%,var(--ks-accent-d) 100%);box-shadow:none;}
/* SNSの入口の注記 */
.ks-sns__note{font-size:13px;line-height:1.75;color:var(--ks-ink-soft);margin:-8px 0 0;}
.ks-band--dark .ks-sns__note{color:#a9c3dc;}
/* かたまりの中に入れたときは、二重の余白にしない */
.ks-block > .ks-sites{margin-bottom:0;}
