@charset "utf-8";
/* ===========================================================
   gaikokujin-setsuritsu / main.css
   変更したら functions.php の GKS_VER を必ず上げること
   =========================================================== */

:root{
  --gks-navy:#12305c;
  --gks-navy-d:#0b1f3d;
  --gks-blue:#2563a8;
  --gks-blue-l:#e8f0fa;
  --gks-accent:#d8501e;
  --gks-accent-l:#fdefe8;
  --gks-gold:#b8891f;
  --gks-green:#1d7a5f;
  --gks-green-l:#e6f4ef;
  --gks-ink:#1c2430;
  --gks-ink-2:#4a5666;
  --gks-line:#dfe4ec;
  --gks-line-2:#eef1f6;
  --gks-bg:#f6f8fb;
  --gks-card:#ffffff;
  --gks-radius:14px;
  --gks-shadow:0 2px 10px rgba(18,48,92,.07);
  --gks-shadow-l:0 8px 28px rgba(18,48,92,.12);
  --gks-max:1180px;
  --gks-ctabar:96px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:hidden}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
  color:var(--gks-ink);
  background:var(--gks-bg);
  line-height:1.9;
  font-size:16px;
  overflow-x:hidden;
  padding-bottom:var(--gks-ctabar);
  word-break:break-word;
  overflow-wrap:anywhere;
}
img,svg,video,canvas,iframe{max-width:100%;height:auto;border:0}
a{color:var(--gks-blue);text-decoration:none}
a:hover{text-decoration:underline}
p{margin:0 0 1.1em}
ul,ol{padding-left:1.4em}
figure{margin:0}

/* ---------- レイアウト ---------- */
.gks-wrap{width:100%;max-width:var(--gks-max);margin:0 auto;padding:0 16px}
.gks-main{display:block;width:100%}
.gks-layout{display:grid;grid-template-columns:1fr;gap:32px;align-items:start}
@media (min-width:1000px){
  .gks-layout{grid-template-columns:minmax(0,1fr) 316px}
}
.gks-col-main{min-width:0}
.gks-col-side{min-width:0}

/* ---------- ヘッダー ---------- */
.gks-header{background:linear-gradient(180deg,var(--gks-navy) 0%,var(--gks-navy-d) 100%);color:#fff;position:relative;z-index:50}
.gks-header a{color:#fff}
.gks-header__bar{display:flex;align-items:center;gap:12px;padding:12px 0;flex-wrap:wrap}
.gks-brand{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto;text-decoration:none;overflow:hidden}
.gks-brand:hover{text-decoration:none}
.gks-brand__mark{flex:0 0 auto;width:40px;height:40px;border-radius:10px;background:#fff;display:grid;place-items:center;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.gks-brand__name{font-weight:800;font-size:15px;line-height:1.35;letter-spacing:.01em}
.gks-brand__sub{display:block;font-weight:400;font-size:11px;opacity:.82;line-height:1.5;margin-top:2px}
.gks-header__tools{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.gks-navtoggle{white-space:nowrap;appearance:none;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.08);color:#fff;border-radius:9px;padding:8px 12px;font-size:13px;font-weight:700;cursor:pointer;display:flex;gap:6px;align-items:center}
.gks-navtoggle:hover{background:rgba(255,255,255,.18)}
@media (min-width:1000px){.gks-navtoggle{display:none}}
.gks-search{display:flex;gap:0;width:100%;max-width:340px}
.gks-search input[type=search]{flex:1 1 auto;min-width:0;border:0;border-radius:9px 0 0 9px;padding:9px 12px;font-size:14px;background:#fff;color:var(--gks-ink)}
.gks-search button{flex:0 0 auto;border:0;border-radius:0 9px 9px 0;background:var(--gks-accent);color:#fff;font-weight:700;padding:9px 14px;font-size:13px;cursor:pointer}
.gks-header__search{padding:0 0 12px}
@media (min-width:1000px){.gks-header__search{padding:0 0 12px;display:flex;justify-content:flex-end}}

/* グローバルナビ */
.gks-gnav{background:rgba(255,255,255,.07);border-top:1px solid rgba(255,255,255,.14)}
.gks-gnav__list{list-style:none;margin:0;padding:0;display:none;flex-wrap:wrap}
.gks-gnav.is-open .gks-gnav__list{display:block}
.gks-gnav__list a{display:block;padding:11px 4px;font-size:14px;font-weight:600;border-bottom:1px solid rgba(255,255,255,.12)}
@media (min-width:1000px){
  .gks-gnav__list{display:flex!important;gap:2px;border:0}
  .gks-gnav__list a{border:0;padding:12px 12px;font-size:13.5px;border-radius:8px 8px 0 0}
  .gks-gnav__list a:hover{background:rgba(255,255,255,.14);text-decoration:none}
}

/* ---------- パンくず ---------- */
.gks-crumbs{background:#fff;border-bottom:1px solid var(--gks-line);font-size:12.5px;color:var(--gks-ink-2)}
.gks-crumbs ol{list-style:none;margin:0;padding:10px 0;display:flex;flex-wrap:wrap;gap:4px 8px}
.gks-crumbs li{display:flex;align-items:center;gap:8px}
.gks-crumbs li+li::before{content:"›";color:#9aa5b5}
.gks-crumbs a{color:var(--gks-blue)}

/* ---------- 見出し共通 ---------- */
.gks-secttl{font-size:clamp(19px,4.4vw,25px);line-height:1.5;margin:0 0 6px;font-weight:800;color:var(--gks-navy)}
.gks-sectlead{color:var(--gks-ink-2);font-size:14px;margin:0 0 18px}
.gks-sechead{display:flex;align-items:flex-start;gap:12px;margin:44px 0 16px;padding-bottom:12px;border-bottom:3px solid var(--gks-navy)}
.gks-sechead__num{flex:0 0 auto;background:var(--gks-navy);color:#fff;font-weight:800;font-size:12px;border-radius:7px;padding:5px 9px;letter-spacing:.06em;margin-top:4px}
.gks-sechead h2{margin:0}

/* ---------- カード（一覧のバリエーション：ルール10） ---------- */
.gks-cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(272px,1fr))}
.gks-cards--wide{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.gks-card{background:var(--gks-card);border:1px solid var(--gks-line);border-radius:var(--gks-radius);overflow:hidden;box-shadow:var(--gks-shadow);display:flex;flex-direction:column;min-width:0;position:relative;transition:box-shadow .2s,transform .2s}
.gks-card:hover{box-shadow:var(--gks-shadow-l);transform:translateY(-2px)}
.gks-card__thumb{display:block;background:var(--gks-blue-l);overflow:hidden;line-height:0}
.gks-card__thumb img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:16/9}
.gks-card__body{padding:14px 15px 16px;display:flex;flex-direction:column;gap:8px;flex:1 1 auto;min-width:0}
.gks-card__cat{font-size:11px;font-weight:700;color:var(--gks-accent);background:var(--gks-accent-l);border-radius:999px;padding:3px 9px;align-self:flex-start;line-height:1.6}
.gks-card__ttl{font-size:15.5px;line-height:1.62;font-weight:700;margin:0}
.gks-card__ttl a{color:var(--gks-ink)}
.gks-card__ex{font-size:13px;color:var(--gks-ink-2);line-height:1.8;margin:0}
.gks-card__meta{font-size:11.5px;color:#8590a2;display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:4px}

/* 変種A：画像左 / 変種B：画像右（560px以上で横並び、以下は縦積み） */
.gks-card--imgleft .gks-card__inner,
.gks-card--imgright .gks-card__inner{display:flex;flex-direction:column}
@media (min-width:560px){
  .gks-card--imgleft .gks-card__inner{flex-direction:row}
  .gks-card--imgright .gks-card__inner{flex-direction:row-reverse}
  .gks-card--imgleft .gks-card__thumb,
  .gks-card--imgright .gks-card__thumb{flex:0 0 40%;max-width:40%}
  .gks-card--imgleft .gks-card__thumb img,
  .gks-card--imgright .gks-card__thumb img{height:100%;aspect-ratio:auto;min-height:132px}
  .gks-card--imgleft .gks-card__body,
  .gks-card--imgright .gks-card__body{flex:1 1 auto;min-width:0}
}
/* 変種C：画像を上に大きく1カラム */
.gks-card--imgtop{grid-column:1/-1}
.gks-card--imgtop .gks-card__thumb img{aspect-ratio:16/9;max-height:340px;object-position:left center}
.gks-card--imgtop .gks-card__ttl{font-size:clamp(16px,3.6vw,20px)}
.gks-card--imgtop .gks-card__body{padding:16px 18px 18px}
/* 変種D：画像なし・色帯 */
.gks-card--band{border-left:7px solid var(--gks-accent);background:linear-gradient(120deg,#fff 0%,var(--gks-accent-l) 100%)}
.gks-card--band .gks-card__body{padding:16px 16px 18px}
/* 変種E：画像左（濃色ボディ） */
.gks-card--dark{background:var(--gks-navy);border-color:var(--gks-navy)}
.gks-card--dark .gks-card__ttl a,.gks-card--dark .gks-card__ttl{color:#fff}
.gks-card--dark .gks-card__ex{color:#c8d5e6}
.gks-card--dark .gks-card__meta{color:#9db2cd}
.gks-card--dark .gks-card__cat{background:rgba(255,255,255,.14);color:#ffd9c8}
/* 変種F：番号つき・画像小 */
.gks-card--numbered .gks-card__body{padding-left:52px}
.gks-card--numbered .gks-card__no{position:absolute;left:12px;top:12px;width:30px;height:30px;border-radius:50%;background:var(--gks-green);color:#fff;font-weight:800;font-size:13px;display:grid;place-items:center;z-index:2}
/* 変種G：枠線強調・上部ライン */
.gks-card--ruled{border-top:5px solid var(--gks-gold);box-shadow:none}
.gks-card--ruled:hover{box-shadow:var(--gks-shadow)}

/* ---------- カテゴリーカード ---------- */
.gks-catgrid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(238px,1fr))}
.gks-cat{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--gks-line);border-radius:12px;padding:14px;min-width:0;box-shadow:var(--gks-shadow)}
.gks-cat:hover{text-decoration:none;border-color:var(--gks-blue);box-shadow:var(--gks-shadow-l)}
.gks-cat__ico{flex:0 0 auto;width:44px;height:44px;border-radius:11px;background:var(--gks-blue-l);display:grid;place-items:center;color:var(--gks-navy)}
.gks-cat__ico svg{width:26px;height:26px;display:block}
.gks-cat__b{min-width:0;display:block}
.gks-cat__n{display:block;font-weight:800;font-size:14.5px;color:var(--gks-navy);line-height:1.5;margin:0 0 3px}
.gks-cat__d{display:block;font-size:12.5px;color:var(--gks-ink-2);line-height:1.75;margin:0}
.gks-cat__c{font-size:11px;color:#8590a2;margin-top:5px;display:block}
.gks-cat--v2{background:linear-gradient(135deg,#fff,var(--gks-green-l));border-left:5px solid var(--gks-green)}
.gks-cat--v2 .gks-cat__ico{background:#fff;color:var(--gks-green)}
.gks-cat--v3{flex-direction:column;text-align:left}
.gks-cat--v3 .gks-cat__ico{width:50px;height:50px;background:var(--gks-accent-l);color:var(--gks-accent)}
.gks-cat--v4{background:var(--gks-navy);border-color:var(--gks-navy)}
.gks-cat--v4 .gks-cat__n{color:#fff}
.gks-cat--v4 .gks-cat__d{color:#c8d5e6}
.gks-cat--v4 .gks-cat__ico{background:rgba(255,255,255,.14);color:#fff}
.gks-cat--v5{border-top:5px solid var(--gks-gold)}
.gks-cat--v5 .gks-cat__ico{background:#fdf6e6;color:var(--gks-gold)}

/* ---------- 記事本文 ---------- */
.gks-article{background:#fff;border:1px solid var(--gks-line);border-radius:var(--gks-radius);padding:20px 16px 28px;box-shadow:var(--gks-shadow);min-width:0}
@media (min-width:768px){.gks-article{padding:32px 34px 40px}}
.gks-article__head{margin:0 0 18px}
.gks-title{font-size:clamp(21px,5vw,31px);line-height:1.48;font-weight:800;margin:8px 0 12px;color:var(--gks-navy)}
.gks-postmeta{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12px;color:var(--gks-ink-2);border-top:1px dashed var(--gks-line);border-bottom:1px dashed var(--gks-line);padding:9px 0;margin:0 0 16px}
.gks-eyecatch{margin:0 0 20px;border-radius:12px;overflow:hidden;line-height:0}
.gks-eyecatch img{width:100%;display:block}

.gks-body{font-size:15.5px;line-height:2.0}
@media (min-width:768px){.gks-body{font-size:16px}}
.gks-body h2{font-size:clamp(18.5px,4.4vw,24px);line-height:1.55;margin:46px 0 16px;font-weight:800;scroll-margin-top:16px}
.gks-body h3{font-size:clamp(16.5px,3.9vw,19.5px);line-height:1.6;margin:34px 0 12px;font-weight:800;color:var(--gks-navy);scroll-margin-top:16px}
.gks-body h4{font-size:16px;margin:24px 0 10px;font-weight:800;color:var(--gks-ink)}
.gks-body img{border-radius:10px}
.gks-body figure{margin:22px 0}
.gks-body figcaption{font-size:12px;color:var(--gks-ink-2);margin-top:7px;line-height:1.7;text-align:left}
.gks-body ul,.gks-body ol{margin:0 0 1.2em;padding-left:1.5em}
.gks-body li{margin-bottom:.5em}
.gks-body strong{font-weight:800}
.gks-body a{text-decoration:underline;text-underline-offset:3px}

/* 表：出力側フィルタで .gks-tablewrap に包む（ルール9） */
.gks-tablewrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:20px 0;border:1px solid var(--gks-line);border-radius:10px;background:#fff}
.gks-tablewrap>table{border-collapse:collapse;width:100%;min-width:520px;margin:0;font-size:13.5px;line-height:1.75}
.gks-tablewrap>table th,.gks-tablewrap>table td{border:1px solid var(--gks-line);padding:10px 12px;text-align:left;vertical-align:top}
.gks-tablewrap>table thead th{background:var(--gks-navy);color:#fff;font-weight:700;white-space:nowrap}
.gks-tablewrap>table tbody tr:nth-child(even){background:#f8fafd}
.gks-tablewrap::after{content:""}
.gks-tablenote{font-size:11.5px;color:#8590a2;margin:-14px 0 20px}

/* 出典リンク（ルール4） */
.gks-src{margin:14px 0 8px;padding:11px 13px;background:#f4f7fb;border-left:4px solid var(--gks-blue);border-radius:0 8px 8px 0;font-size:12.5px;line-height:1.8;color:var(--gks-ink-2)}
.gks-src b{color:var(--gks-navy);font-weight:700;margin-right:4px}
.gks-src a{color:var(--gks-blue);text-decoration:underline;word-break:break-all}

/* 読者ブロック（冒頭・末尾） */
.gks-forwhom{border:2px solid var(--gks-navy);border-radius:12px;padding:15px 16px;margin:0 0 24px;background:linear-gradient(135deg,#fff,var(--gks-blue-l))}
.gks-forwhom__t{font-weight:800;color:var(--gks-navy);font-size:14.5px;margin:0 0 7px;display:flex;align-items:center;gap:7px}
.gks-forwhom p{margin:0 0 .6em;font-size:14px;line-height:1.9}
.gks-forwhom p:last-child{margin-bottom:0}
.gks-callout{border-radius:12px;padding:17px 17px 18px;margin:30px 0 6px;background:var(--gks-navy);color:#fff}
.gks-callout__t{font-weight:800;font-size:15px;margin:0 0 8px;color:#ffd9c8}
.gks-callout p{margin:0 0 .7em;font-size:14px;line-height:1.9;color:#dde6f2}
.gks-callout p:last-child{margin-bottom:0}

/* 目次 */
.gks-toc{border:1px solid var(--gks-line);background:#fff;border-radius:12px;padding:14px 15px;margin:0 0 28px}
.gks-toc__t{font-weight:800;color:var(--gks-navy);font-size:15px;margin:0 0 8px;display:flex;align-items:center;gap:8px}
.gks-toc ol{margin:0;padding-left:1.25em;font-size:13.5px;line-height:1.85}
.gks-toc ol ol{margin:4px 0 6px;padding-left:1.1em;font-size:12.8px;color:var(--gks-ink-2)}
.gks-toc a{color:var(--gks-ink)}
.gks-toc a:hover{color:var(--gks-blue)}
.gks-toc__btn{appearance:none;border:1px solid var(--gks-line);background:#f6f8fb;border-radius:8px;font-size:12px;padding:4px 10px;cursor:pointer;color:var(--gks-ink-2);margin-left:auto}

/* 役に立った */
.gks-helpful{margin:30px 0 0;border:1px dashed var(--gks-blue);border-radius:12px;padding:15px;text-align:center;background:#fbfdff}
.gks-helpful__t{font-weight:800;font-size:14.5px;margin:0 0 10px;color:var(--gks-navy)}
.gks-helpful__btn{appearance:none;cursor:pointer;border:2px solid var(--gks-blue);background:#fff;color:var(--gks-blue);font-weight:800;border-radius:999px;padding:9px 22px;font-size:14px;display:inline-flex;align-items:center;gap:8px;transition:.18s}
.gks-helpful__btn:hover{background:var(--gks-blue);color:#fff}
.gks-helpful__btn.is-done{background:var(--gks-green);border-color:var(--gks-green);color:#fff;cursor:default}
.gks-helpful__n{font-variant-numeric:tabular-nums}
.gks-helpful__note{font-size:11.5px;color:#8590a2;margin:8px 0 0}

/* 紹介サイト（ルール2） */
.gks-sites{margin:34px 0 0}
.gks-sites__note{font-size:12px;color:var(--gks-ink-2);background:#f4f7fb;border-radius:8px;padding:9px 12px;margin:0 0 14px;line-height:1.8}
.gks-sitelist{list-style:none;margin:0;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(258px,1fr))}
.gks-site{border:1px solid var(--gks-line);border-radius:10px;padding:11px 13px;background:#fff;min-width:0}
.gks-site__n{font-size:13.5px;font-weight:700;line-height:1.6;margin:0 0 4px;display:flex;gap:7px;align-items:flex-start}
.gks-site__i{flex:0 0 auto;font-size:11px;font-weight:800;color:#fff;background:var(--gks-blue);border-radius:5px;padding:1px 6px;margin-top:3px;font-variant-numeric:tabular-nums}
.gks-site__n a{word-break:break-word}
.gks-site__d{font-size:12px;color:var(--gks-ink-2);line-height:1.75;margin:0}
.gks-site__u{font-size:10.5px;color:#94a0b0;word-break:break-all;margin:5px 0 0;display:block}
.gks-site:nth-child(3n+2){background:#fbfcfe}
.gks-site:nth-child(5n+3){border-left:4px solid var(--gks-green)}
.gks-site:nth-child(7n+5){border-left:4px solid var(--gks-gold)}

/* 関連記事 */
.gks-related{margin:36px 0 0}
/* タグ */
.gks-taglist{display:flex;flex-wrap:wrap;gap:7px;margin:22px 0 0;padding:0;list-style:none}
.gks-tag{display:inline-block;font-size:12px;border:1px solid var(--gks-line);background:#fff;color:var(--gks-ink-2);border-radius:999px;padding:4px 11px;line-height:1.7}
.gks-tag:hover{border-color:var(--gks-blue);color:var(--gks-blue);text-decoration:none}
.gks-tag--on{background:var(--gks-navy);border-color:var(--gks-navy);color:#fff}

/* ---------- サイドバー ---------- */
.gks-widget{background:#fff;border:1px solid var(--gks-line);border-radius:12px;padding:14px 15px;margin:0 0 16px;box-shadow:var(--gks-shadow)}
.gks-widget__t{font-size:14px;font-weight:800;color:var(--gks-navy);margin:0 0 10px;padding-bottom:8px;border-bottom:2px solid var(--gks-blue-l)}
.gks-widget ul{list-style:none;margin:0;padding:0;font-size:13px;line-height:1.75}
.gks-widget li{padding:7px 0;border-bottom:1px dotted var(--gks-line)}
.gks-widget li:last-child{border-bottom:0}
.gks-widget a{color:var(--gks-ink)}
.gks-widget a:hover{color:var(--gks-blue)}
.gks-sidecta{background:linear-gradient(160deg,var(--gks-accent),#b83f13);color:#fff;border:0}
.gks-sidecta .gks-widget__t{color:#fff;border-bottom-color:rgba(255,255,255,.3)}
.gks-sidecta p{font-size:13px;color:#ffe7dd;line-height:1.85}
.gks-sidecta__b{display:block;text-align:center;background:#fff;color:var(--gks-accent);font-weight:800;border-radius:9px;padding:11px;font-size:14.5px}
.gks-sidecta__b:hover{text-decoration:none;background:#fff6f2}

/* ---------- 固定CTA（ルール8） ---------- */
.gks-ctabar{position:fixed;left:0;right:0;bottom:0;z-index:900;background:rgba(255,255,255,.97);backdrop-filter:blur(6px);border-top:2px solid var(--gks-accent);box-shadow:0 -3px 14px rgba(18,48,92,.14);padding:8px 0 7px}
.gks-ctabar__in{max-width:var(--gks-max);margin:0 auto;padding:0 12px;display:flex;align-items:center;gap:10px;flex-wrap:nowrap}
.gks-ctabar__txt{min-width:0;flex:1 1 auto}
.gks-ctabar__lb{font-size:12.5px;font-weight:800;color:var(--gks-navy);line-height:1.45;display:block}
.gks-ctabar__note{font-size:9.5px;color:#8590a2;line-height:1.45;margin:2px 0 0;display:block}
.gks-ctabar__btn{flex:0 0 auto;background:linear-gradient(135deg,var(--gks-accent),#c04412);color:#fff;font-weight:800;border-radius:999px;padding:11px 16px;font-size:13.5px;white-space:nowrap;box-shadow:0 3px 10px rgba(216,80,30,.4);display:inline-flex;align-items:center;gap:6px}
.gks-ctabar__btn:hover{text-decoration:none;filter:brightness(1.06)}
@media (min-width:600px){
  .gks-ctabar__lb{font-size:14px}
  .gks-ctabar__note{font-size:11px}
  .gks-ctabar__btn{padding:12px 26px;font-size:15px}
}
@media (max-width:359px){
  .gks-ctabar__btn{padding:9px 11px;font-size:12px}
  .gks-ctabar__lb{font-size:11.5px}
}

/* 記事内CTA */
.gks-incta{margin:32px 0;border-radius:14px;overflow:hidden;border:2px solid var(--gks-accent);background:#fff}
.gks-incta__h{background:var(--gks-accent);color:#fff;font-weight:800;padding:10px 14px;font-size:14.5px}
.gks-incta__b{padding:15px 14px 16px}
.gks-incta__b p{font-size:13.5px;color:var(--gks-ink-2);margin:0 0 12px;line-height:1.85}
.gks-incta__btn{display:block;text-align:center;background:var(--gks-accent);color:#fff;font-weight:800;border-radius:10px;padding:13px;font-size:15px}
.gks-incta__btn:hover{text-decoration:none;filter:brightness(1.07)}
.gks-incta__note{font-size:10.5px;color:#8590a2;margin:8px 0 0;text-align:center}

/* ---------- ページネーション ---------- */
.gks-pager{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:30px 0 0;padding:0;list-style:none}
.gks-pager a,.gks-pager span{display:inline-block;min-width:38px;text-align:center;padding:8px 11px;border:1px solid var(--gks-line);border-radius:8px;background:#fff;font-size:13.5px;color:var(--gks-ink)}
.gks-pager .current{background:var(--gks-navy);color:#fff;border-color:var(--gks-navy);font-weight:700}
.gks-pager a:hover{border-color:var(--gks-blue);color:var(--gks-blue);text-decoration:none}

/* ---------- アーカイブヘッダー ---------- */
.gks-archhead{background:linear-gradient(135deg,var(--gks-navy),var(--gks-blue));color:#fff;border-radius:14px;padding:20px 17px;margin:20px 0 22px;box-shadow:var(--gks-shadow-l)}
.gks-archhead__k{font-size:11.5px;font-weight:700;letter-spacing:.09em;opacity:.85;display:block;margin-bottom:5px}
.gks-archhead h1{font-size:clamp(19px,4.6vw,27px);line-height:1.45;margin:0 0 9px;font-weight:800}
.gks-archhead p{font-size:13.5px;line-height:1.85;margin:0;color:#d9e5f4}
.gks-archhead__ico{width:52px;height:52px;border-radius:13px;background:rgba(255,255,255,.16);display:grid;place-items:center;margin:0 0 11px}
.gks-archhead__ico svg{width:30px;height:30px;color:#fff}

/* ---------- SNS枠 ---------- */
.gks-sns{display:grid;gap:11px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:22px 0 0}
.gks-sns__i{border:1px solid var(--gks-line);border-radius:11px;padding:12px 13px;background:#fff;min-width:0}
.gks-sns__h{font-weight:800;font-size:13px;margin:0 0 6px;display:flex;align-items:center;gap:7px}
.gks-sns__h svg{width:17px;height:17px;flex:0 0 auto}
.gks-sns__d{font-size:11.5px;color:var(--gks-ink-2);margin:0 0 8px;line-height:1.7}
.gks-sns__a{font-size:12px;font-weight:700;display:inline-block;border:1px solid var(--gks-line);border-radius:7px;padding:5px 10px;color:var(--gks-blue)}
.gks-sns__a:hover{text-decoration:none;background:var(--gks-blue-l)}
.gks-sns--yt .gks-sns__h{color:#c4302b}
.gks-sns--x .gks-sns__h{color:#111}
.gks-sns--ig .gks-sns__h{color:#c13584}
.gks-sns--tt .gks-sns__h{color:#0d0d0d}

/* ---------- 統計セクション ---------- */
.gks-stats{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(168px,1fr))}
.gks-stat{background:#fff;border:1px solid var(--gks-line);border-radius:12px;padding:14px;text-align:center;min-width:0;box-shadow:var(--gks-shadow)}
.gks-stat__n{font-size:clamp(22px,5.4vw,31px);font-weight:800;color:var(--gks-navy);line-height:1.25;font-variant-numeric:tabular-nums;display:block}
.gks-stat__u{font-size:12px;color:var(--gks-accent);font-weight:700}
.gks-stat__l{font-size:12px;color:var(--gks-ink-2);margin:6px 0 0;line-height:1.65}
.gks-stat__s{font-size:10px;color:#94a0b0;margin:7px 0 0;display:block;line-height:1.6}
.gks-stat__s a{color:#7b8798;text-decoration:underline}
.gks-stat:nth-child(4n+2){background:linear-gradient(150deg,#fff,var(--gks-blue-l))}
.gks-stat:nth-child(4n+3){border-top:4px solid var(--gks-green)}
.gks-stat:nth-child(4n+4){border-top:4px solid var(--gks-gold)}

/* ---------- フッター ---------- */
.gks-footer{background:var(--gks-navy-d);color:#c3d0e2;margin-top:46px;padding:30px 0 22px;font-size:13px;line-height:1.9}
.gks-footer a{color:#dbe6f4}
.gks-footer a:hover{color:#fff}
.gks-footer__grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.gks-footer__t{font-size:13.5px;font-weight:800;color:#fff;margin:0 0 9px;padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.18)}
.gks-footer ul{list-style:none;margin:0;padding:0}
.gks-footer li{padding:4px 0;font-size:12.5px}
.gks-footer__bt{margin-top:24px;padding-top:15px;border-top:1px solid rgba(255,255,255,.15);font-size:11.5px;color:#93a4bc;line-height:1.8}
.gks-footer__cats{display:flex;flex-wrap:wrap;gap:6px}
.gks-footer__cats a{font-size:11.5px;background:rgba(255,255,255,.08);border-radius:6px;padding:3px 8px;display:inline-block}

/* ---------- 検索・404・固定ページ ---------- */
.gks-page{background:#fff;border:1px solid var(--gks-line);border-radius:var(--gks-radius);padding:20px 16px 30px;box-shadow:var(--gks-shadow)}
@media (min-width:768px){.gks-page{padding:32px 34px 40px}}
.gks-notfound{text-align:center;padding:40px 14px}
.gks-notfound__n{font-size:clamp(50px,14vw,84px);font-weight:800;color:var(--gks-blue-l);line-height:1;margin:0}

/* 文中に置くインラインSVGの既定サイズ（指定しないと巨大化する） */
.gks-toc__t svg,.gks-forwhom__t svg,.gks-helpful__btn svg,.gks-box__t svg,.gks-navtoggle svg,.gks-brand__mark svg,.gks-sechead svg{width:18px;height:18px;flex:0 0 auto;display:inline-block;vertical-align:-3px}
.gks-brand__mark svg{width:24px;height:24px;color:var(--gks-navy)}
.gks-navtoggle svg{width:15px;height:15px}
.gks-helpful__btn svg{width:17px;height:17px}
.gks-toc__t svg{width:19px;height:19px;color:var(--gks-blue)}
.gks-body svg{max-width:100%}

/* ---------- 汎用ユーティリティ ---------- */
.gks-mt0{margin-top:0}
.gks-mb0{margin-bottom:0}
.gks-hr{border:0;border-top:1px dashed var(--gks-line);margin:30px 0}
.gks-note{font-size:12px;color:#8590a2;line-height:1.75}
.gks-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gks-skip{position:absolute;left:-9999px}
.gks-skip:focus{left:8px;top:8px;background:#fff;padding:8px 14px;z-index:999;border-radius:8px}

/* Bootstrap との共存調整（記事内で .container を使ったとき用） */
.gks-body .container,.gks-body .container-fluid{padding-left:0;padding-right:0;max-width:100%}
.gks-body .row{margin-left:0;margin-right:0}
.gks-body [class^="col-"],.gks-body [class*=" col-"]{padding-left:0;padding-right:0}
.gks-body .row>*{padding-left:6px;padding-right:6px}
