/* =========================================================
   全ページ共通フッター（リンク集・認定資格・活動・SNS）
   HTMLは tools/site_footer.py で全ページに同期しています。
   ========================================================= */
footer.site-footer-common{display:block;grid-template-columns:none;gap:0;margin:0;padding:0;border-top:1px solid rgba(179,204,209,.12);background:#1b2029;color:#eef5f2;font-family:"Noto Sans JP",sans-serif;font-size:13px;line-height:1.7;letter-spacing:.03em}
.site-footer-common a{color:inherit;text-decoration:none}
.site-footer-common ul{margin:0;padding:0;list-style:none}
.site-footer-common .f-inner{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:56px;width:min(1240px,calc(100% - 60px));margin:0 auto;padding:80px 0 56px}
.site-footer-common .f-title{display:flex;align-items:baseline;gap:14px;margin:0 0 28px;padding-bottom:14px;border-bottom:1px solid rgba(190,238,233,.17);font-family:"Noto Serif JP",serif;font-size:18px;font-weight:600;color:#eef5f2;position:relative}
.site-footer-common .f-title::after{content:"";position:absolute;left:0;bottom:-1px;width:120px;height:1px;background:linear-gradient(90deg,#4ed8e5,#a4e0bd)}
.site-footer-common .f-title span{order:2;font-family:"Noto Sans JP",sans-serif;font-size:9px;font-weight:700;letter-spacing:.32em;color:#7be5e9}
.site-footer-common .f-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 28px}
.site-footer-common .f-head{margin:0 0 14px;font-size:13px;font-weight:700;color:#eef5f2}
.site-footer-common .f-group li{margin-bottom:8px}
.site-footer-common .f-group li a{position:relative;display:inline-block;padding-left:16px;font-size:12.5px;color:#aabcb9;transition:color .2s ease}
.site-footer-common .f-group li a::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-top:1px solid #7be5e9;border-right:1px solid #7be5e9;transform:rotate(45deg)}
.site-footer-common .f-group li a:hover{color:#7be5e9}
.site-footer-common .f-group li.f-banner a{padding-left:0}
.site-footer-common .f-group li.f-banner a::before{display:none}
.site-footer-common .f-banner img{display:block;width:181px;height:auto;border:1px solid rgba(190,238,233,.25);background:#fff}
.site-footer-common .f-side{display:grid;gap:44px;align-content:start}
.site-footer-common .f-badges{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.site-footer-common .f-badges a{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;font-size:11px;line-height:1.6;color:#aabcb9;transition:color .2s ease,transform .3s ease}
.site-footer-common .f-badges a:hover{color:#7be5e9;transform:translateY(-3px)}
.site-footer-common .f-badges img{width:80px;height:80px;object-fit:contain;border-radius:8px;background:rgba(255,255,255,.04)}
.site-footer-common .f-bottom{display:grid;grid-template-columns:auto 1fr;gap:24px 45px;align-items:center;padding:40px clamp(25px,7vw,100px) 32px;border-top:1px solid rgba(190,238,233,.12)}
.site-footer-common .footer-brand{display:flex;align-items:center;gap:14px}
.site-footer-common .footer-brand p{margin:0}
.site-footer-common .footer-brand b,.site-footer-common .footer-brand small{display:block}
.site-footer-common .footer-brand b{font-family:"Noto Serif JP",serif;font-size:15px}
.site-footer-common .footer-brand small{margin-top:5px;font-size:9px;color:#738581}
.site-footer-common .footer-brand .brand-logo{display:block;width:54px;height:54px;object-fit:cover;border-radius:50%;filter:invert(1) grayscale(1) contrast(1.2);mix-blend-mode:screen}
.site-footer-common .f-sns{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.site-footer-common .f-sns a{padding:6px 14px;border:1px solid rgba(123,229,233,.3);border-radius:999px;font-size:11px;letter-spacing:.06em;color:#dbe9eb;transition:background .25s ease,color .25s ease}
.site-footer-common .f-sns a:hover{background:#7be5e9;color:#071116}
.site-footer-common .footer-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px 26px;font-size:11px;color:#aabcb9}
.site-footer-common .footer-links a:hover{color:#7be5e9}
.site-footer-common .f-copy{grid-column:1/-1;display:block;padding-top:22px;border-top:1px solid rgba(190,238,233,.12);font-size:10px;color:#738581;letter-spacing:.12em}
@media(max-width:1024px){
  .site-footer-common .f-inner{grid-template-columns:1fr}
}
@media(max-width:640px){
  .site-footer-common .f-inner{width:calc(100% - 40px);padding:64px 0 40px}
  .site-footer-common .f-groups{grid-template-columns:1fr 1fr}
  .site-footer-common .f-badges{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-footer-common .f-bottom{grid-template-columns:1fr;padding:32px 20px 28px}
  .site-footer-common .f-sns{justify-content:flex-start}
  .site-footer-common .footer-links{display:grid;grid-template-columns:1fr 1fr}
}

/* ハンバーガーメニュー：項目が多いのでスクロール可能に・補助リンクは小さめに */
@media(max-width:900px){
  .mobile-nav{justify-content:flex-start;overflow-y:auto;padding:110px 24px 48px}
  .mobile-nav a{font-size:clamp(18px,5.4vw,24px);padding:14px 12px}
  .mobile-nav .mobile-nav__sep{display:block;width:min(420px,82vw);height:1px;margin:14px 0 6px;background:linear-gradient(90deg,transparent,rgba(123,229,233,.5),transparent)}
  .mobile-nav a.mobile-nav__sub{font-family:"Noto Sans JP",sans-serif;font-size:14px;padding:11px 12px;color:#aabcb9;border-bottom-color:rgba(182,231,234,.08)}
  body.menu-open .mobile-nav a:nth-child(n+5){transition-delay:.3s}
}

/* 運営者情報への導線（旧：サイト案内） */
.about-band{padding:0;margin:0;background:linear-gradient(145deg,#0e1c22,#14252a);border-top:1px solid rgba(190,238,233,.12)}
.about-band a{position:relative;display:flex;align-items:center;justify-content:center;gap:clamp(14px,3vw,36px);width:min(1240px,calc(100% - 40px));margin:0 auto;padding:clamp(40px,7vw,72px) 0;color:#eef5f2;text-decoration:none;font-family:"Noto Sans JP",sans-serif;overflow:hidden}
.about-band a::before{content:"";position:absolute;left:50%;bottom:24px;width:0;height:1px;background:linear-gradient(90deg,transparent,#7be5e9,transparent);transform:translateX(-50%);transition:width .5s ease}
.about-band a:hover::before{width:60%}
.about-band__en{font-size:10px;font-weight:700;letter-spacing:.34em;color:#7be5e9}
.about-band__ja{font-family:"Noto Serif JP",serif;font-size:clamp(22px,3.2vw,36px);font-weight:600;letter-spacing:.08em}
.about-band__arrow{display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(123,229,233,.45);border-radius:50%;color:#7be5e9;font-size:20px;transition:background .25s ease,color .25s ease,transform .25s ease}
.about-band a:hover .about-band__arrow{background:#7be5e9;color:#071116;transform:translateX(4px)}
@media(max-width:600px){.about-band a{flex-wrap:wrap;gap:10px 16px}.about-band__en{width:100%;text-align:center}}

/* ヘッダーのサブコピー（AI-Co-Creation ／ 地域の価値を、未来へつなぐ。） */
.site-header .brand small{letter-spacing:.1em;white-space:nowrap}
@media(max-width:600px){.site-header .brand small{white-space:normal;max-width:150px;font-size:8px;line-height:1.45;letter-spacing:.06em;margin-top:2px}}

/* 運営者情報バナー：キャラクターのアイコン */
.about-band__chara{position:relative;flex:none;width:76px;height:76px;border-radius:50%;padding:3px;
  background:conic-gradient(from 0deg,#4ed8e5,#ff5fd2,#4ed8e5);box-shadow:0 0 18px rgba(78,216,229,.35);animation:ab-float 5s ease-in-out infinite}
.about-band__chara::before{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px dashed rgba(123,229,233,.35);animation:ab-spin 18s linear infinite}
.about-band__chara img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;background:#05090f;transition:transform .35s ease}
.about-band a:hover .about-band__chara img{transform:scale(1.08) rotate(-4deg)}
.about-band a:hover .about-band__chara{box-shadow:0 0 26px rgba(255,95,210,.45)}
@keyframes ab-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes ab-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){.about-band__chara{width:56px;height:56px;padding:2px}.about-band__chara::before{inset:-4px}}
@media(prefers-reduced-motion:reduce){.about-band__chara,.about-band__chara::before{animation:none}}
@media(max-width:600px){.about-band a{gap:10px 12px}.about-band__chara{width:46px;height:46px}.about-band__ja{font-size:20px;letter-spacing:.04em}.about-band__arrow{width:40px;height:40px;font-size:17px}}
