/* AIガバナンス専門学校 コラム 共有スタイル */
:root{
  --navy:#0B1F3A;--navy2:#12305C;--navy3:#1B4079;--ink:#17202E;--muted:#5A6473;
  --paper:#FBF9F4;--paper2:#F4F0E6;--card:#FFFFFF;--line:#E7E1D2;--line2:#EEE9DC;
  --gold:#C8A24B;--gold-d:#A9822F;--gold-l:#E4C877;--gold-ink:#846617;--danger:#B4472E;
  --shadow:0 18px 50px -20px rgba(11,31,58,.28);--shadow-sm:0 8px 24px -14px rgba(11,31,58,.25);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Meiryo","メイリオ","Hiragino Kaku Gothic ProN",sans-serif;color:var(--ink);background:var(--paper);line-height:1.85;font-size:17px;-webkit-font-smoothing:antialiased;letter-spacing:.015em}
img,svg{display:block;max-width:100%}
a{color:var(--navy3);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4,strong,b{font-family:"Arial Black","Meiryo","メイリオ",sans-serif;font-weight:700}
.wrap{max-width:1160px;margin:0 auto;padding:0 clamp(20px,4vw,48px)}
a:focus-visible,button:focus-visible{outline:3px solid var(--navy3);outline-offset:3px;border-radius:6px}

/* header */
.chd{position:sticky;top:0;z-index:50;background:rgba(251,249,244,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.chd .in{display:flex;align-items:center;justify-content:space-between;height:70px;gap:16px}
.brand{display:flex;align-items:center;gap:12px}
.brand .em{width:38px;height:38px;flex:0 0 auto}
.brand b{font-size:18px;font-weight:900;color:var(--navy);line-height:1.1}
.brand span{display:block;font-family:"Arial Black","Arial",sans-serif;font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--gold-ink)}
.chd nav{display:flex;align-items:center;gap:22px}
.chd nav a{font-size:15px;font-weight:700;color:var(--ink)}
.chd nav a:hover{color:var(--gold-ink);text-decoration:none}
.chd .cta{background:var(--navy);color:#fff!important;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:700}
.chd .cta:hover{background:var(--navy2);text-decoration:none}
@media(max-width:820px){.chd nav a:not(.cta){display:none}}

/* breadcrumb */
.bc{font-size:14px;color:var(--muted);padding:18px 0 0}
.bc a{color:var(--muted)}
.bc .sep{margin:0 8px;opacity:.6}

/* article layout */
.article{max-width:800px;margin:0 auto;padding:8px 0 40px}
.art-cat{display:inline-block;font-size:13px;font-weight:700;color:var(--gold-ink);background:rgba(200,162,75,.12);border:1px solid rgba(200,162,75,.4);padding:4px 12px;border-radius:100px;margin-bottom:16px}
.article h1{font-size:clamp(26px,4vw,38px);line-height:1.4;color:var(--navy);margin:4px 0 18px;letter-spacing:.01em}
.art-meta{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;font-size:14px;color:var(--muted);padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:8px}
.art-meta .sup{display:flex;align-items:center;gap:8px}
.art-meta .sup img{width:30px;height:30px;border-radius:50%;object-fit:cover}
.art-meta b{color:var(--navy);font-weight:700}

/* table of contents */
.toc{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 28px;margin:28px 0}
.toc h2{font-size:16px;color:var(--navy);margin:0 0 12px;display:flex;align-items:center;gap:8px}
.toc h2::before{content:"";width:5px;height:18px;background:var(--gold);border-radius:2px}
.toc ol{margin:0;padding-left:1.4em;display:flex;flex-direction:column;gap:8px}
.toc a{color:var(--ink);font-size:15px;font-weight:500}
.toc a:hover{color:var(--gold-ink)}

/* body typography */
.body{font-size:17px;line-height:2}
.body>h2{font-size:clamp(21px,2.6vw,26px);color:var(--navy);margin:52px 0 18px;padding-top:8px;border-top:2px solid var(--line);padding-left:0;position:relative}
.body>h2::before{content:"";display:block;width:44px;height:4px;background:linear-gradient(90deg,var(--gold),var(--gold-d));border-radius:2px;margin-bottom:16px}
.body h3{font-size:19px;color:var(--navy);margin:34px 0 12px}
.body p{margin:0 0 20px;color:#25303f}
.body ul,.body ol{margin:0 0 20px;padding-left:1.4em}
.body li{margin-bottom:9px}
.body strong{color:var(--navy)}
.body a{font-weight:700;border-bottom:1px solid rgba(27,64,121,.3)}
.body a:hover{text-decoration:none;border-bottom-color:var(--navy3)}
.body blockquote{margin:24px 0;padding:18px 24px;background:var(--paper2);border-left:4px solid var(--gold);border-radius:0 10px 10px 0;color:#37424f;font-size:16px}
.body table{width:100%;border-collapse:collapse;margin:24px 0;font-size:15.5px}
.body th,.body td{border:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top}
.body th{background:var(--navy);color:#EAF0F8;font-weight:700;font-size:15px}
.body tr:nth-child(even) td{background:#FCFAF4}
.body figure{margin:26px 0}
.body figure img{width:100%;border-radius:12px;border:1px solid var(--line)}
.body figcaption{font-size:13px;color:var(--muted);text-align:center;margin-top:8px}
.body .diagram{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 20px;margin:26px 0}
.body .diagram svg{width:100%;height:auto;display:block;border:0;border-radius:0}
.body .diagram figcaption{font-size:13px;color:var(--muted);text-align:center;margin-top:12px}
/* callout */
.body .note{background:#FCFAF3;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:0 10px 10px 0;padding:18px 22px;margin:24px 0;font-size:15.5px;color:#37424f}
.body .note b{color:var(--navy)}

/* inline CTA */
.cta-box{background:linear-gradient(160deg,#12305C,#0B1F3A);color:#fff;border-radius:18px;padding:34px 30px;margin:40px 0;text-align:center;box-shadow:var(--shadow)}
.cta-box h3{color:#fff;font-size:20px;margin-bottom:10px;line-height:1.5}
.cta-box p{color:#C6D2E4;font-size:15px;max-width:560px;margin:0 auto 22px}
.cta-box .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:.5em;font-weight:700;font-size:15px;padding:14px 28px;border-radius:8px;border:1.5px solid transparent}
.btn:hover{text-decoration:none;transform:translateY(-2px);transition:.2s}
.btn-gold{background:linear-gradient(135deg,var(--gold-l),var(--gold) 55%,var(--gold-d));color:#2A1E06!important}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.7);color:#fff!important}

/* faq */
.faq-q{font-weight:700;color:var(--navy);font-size:17px;margin:26px 0 8px}
.faq-q::before{content:"Q. ";color:var(--gold-d)}
.faq-a{color:#37424f;margin-bottom:8px}

/* author card */
.author{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 28px;margin:40px 0;box-shadow:var(--shadow-sm)}
.author img{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:center 18%;flex:0 0 auto;border:2px solid var(--gold)}
.author .role{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--gold-ink);text-transform:uppercase}
.author .nm{font-size:18px;font-weight:900;color:var(--navy);margin:2px 0 8px}
.author p{font-size:14px;color:var(--muted);line-height:1.8}

/* related */
.related{margin:48px 0 0}
.related h2{font-size:20px;color:var(--navy);margin-bottom:18px}
.rel-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rel-card{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 22px;transition:.2s}
.rel-card:hover{border-color:var(--gold);text-decoration:none;transform:translateY(-3px);box-shadow:var(--shadow-sm)}
.rel-card .c{font-size:12px;color:var(--gold-ink);font-weight:700}
.rel-card b{display:block;color:var(--navy);font-size:15.5px;line-height:1.6;margin-top:6px}

/* column index */
.col-hero{background:radial-gradient(700px 440px at 82% -10%,rgba(200,162,75,.12),transparent 60%),linear-gradient(180deg,#0B1F3A,#12305C);color:#fff;padding:56px 0}
.col-hero .ey{font-family:"Arial Black","Arial",sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-l);font-size:14px;font-weight:700}
.col-hero h1{font-size:clamp(28px,4vw,42px);color:#fff;margin:12px 0 14px;line-height:1.35}
.col-hero p{color:#C6D2E4;font-size:16px;max-width:680px}
.cats{display:flex;flex-wrap:wrap;gap:10px;margin:40px 0 8px}
.cats a{font-size:14px;font-weight:700;color:var(--navy);background:#fff;border:1px solid var(--line);padding:8px 16px;border-radius:100px}
.cats a:hover{border-color:var(--gold);color:var(--gold-ink);text-decoration:none}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:32px 0 0;padding-bottom:20px}
.post{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:.2s;box-shadow:var(--shadow-sm)}
.post:hover{transform:translateY(-4px);box-shadow:var(--shadow);text-decoration:none;border-color:var(--gold)}
.post .thumb{aspect-ratio:1200/630;background:linear-gradient(135deg,#12305C,#0B1F3A);display:grid;place-items:center;position:relative;overflow:hidden}
.post .thumb img.th{width:100%;height:100%;object-fit:cover;display:block}
.post .thumb .c{position:absolute;top:12px;left:12px;font-size:12px;font-weight:700;color:#2A1E06;background:var(--gold-l);padding:4px 11px;border-radius:100px}
.post .thumb svg{width:56px;height:56px;opacity:.9}
.post .body2{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.post h3{font-size:17px;color:var(--navy);line-height:1.6;margin-bottom:10px}
.post p{font-size:14px;color:var(--muted);line-height:1.75;flex:1}
.post .more{margin-top:14px;font-size:14px;font-weight:700;color:var(--gold-ink)}

/* footer */
.cft{background:#081729;color:#8A98B0;padding:48px 0 26px;margin-top:60px}
.cft .top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.08)}
.cft .top a{color:#B9C6DB;font-size:14px;margin-right:18px}
.cft .top a:hover{color:var(--gold-l)}
.cft .cp{padding-top:20px;font-size:13px;color:#748299}
.cft b{color:#B9C6DB}

@media(max-width:760px){
  .rel-grid{grid-template-columns:1fr}
  .posts{grid-template-columns:1fr}
  .author{flex-direction:column}
}

/* floating CTA (desktop, bottom-right) — LP と共通デザイン */
.floatcta{position:fixed;right:22px;bottom:22px;z-index:80;display:none;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:100px;padding:11px 13px 11px 24px;box-shadow:0 20px 46px -16px rgba(11,31,58,.45);opacity:0;transform:translateY(18px);transition:opacity .35s ease,transform .35s ease}
.floatcta.show{opacity:1;transform:none}
.fc-label{line-height:1.35;margin-right:2px}
.fc-label b{display:block;font-size:15px;color:var(--navy);font-weight:900}
.fc-label span{display:block;font-size:12.5px;color:var(--muted)}
.fc-btn{display:inline-flex;align-items:center;gap:.5em;font-weight:700;font-size:15px;padding:12px 22px;border-radius:100px;white-space:nowrap;transition:.2s;border:1.5px solid transparent;text-decoration:none}
.fc-btn:hover{transform:translateY(-1px);text-decoration:none}
.fc-outline{background:#fff;border-color:var(--navy);color:var(--navy)}
.fc-outline:hover{background:var(--paper2)}
.fc-primary{background:linear-gradient(135deg,var(--gold-l),var(--gold) 55%,var(--gold-d));color:#2A1E06}
.fc-btn .ar{font-size:1em;transition:transform .2s}
.fc-btn:hover .ar{transform:translateX(2px)}
@media(min-width:901px){.floatcta{display:flex}}
