/*
Theme Name: Aoba Soccer 2025 (core-only)
Description: ACFなし・ゼロベース最小テーマ（レスポンシブ対応・ハンバーガー安定版／配色継承修正）
Version: 0.8.13
*/

/* =========================
   基本トークン / レイアウト
   ========================= */
:root{
  --aoba-black:#111;
  --aoba-white:#fff;

  --color-adults:#778899;
  --color-futsal:#32CD32;
  --color-ladies:#9400D3;
  --color-juniorhigh:#000080;
  --color-boys-girls:#1E90FF;
  --color-boys_select:#0000FF;
  --color-girls_select:#FF1493;
  --color-beginners:#FFCC00;
  --color-about:#111111;

  --text:#111;
  --bg:#fff;
  --accent:#000;
  --container:1120px;
  --gutter:24px;
  --gap:24px;
  --badge-radius:9999px;
}

*{box-sizing:border-box}

body{
  margin:0;
  color:var(--text);
  background:#fafafa;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans JP",sans-serif;
}

a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}

/* =========================
   ロゴ
   ========================= */
.logo{max-width:40vw}
.logo img,
.custom-logo{
  width:100%;
  height:auto;
  max-width:400px;
}
.site-title{display:none!important}

/* =========================
   コンテナ / レイアウト
   ========================= */
.container{
  max-width:none;
  width:100%;
  margin:0 auto;
  padding:0 var(--gutter);
}

.main-wrap{
  display:grid;
  grid-template-columns:1fr 320px;
  gap:var(--gap);
  margin:24px auto;
}

@media (max-width:960px){
  :root{--gutter:3px}
  .main-wrap{
    grid-template-columns:1fr;
    gap:16px;
  }
}

/* =========================
   ヘッダー / PCナビ
   ========================= */
.header{padding-bottom:10px}
.header-inner{
  margin-bottom:20px;
  position:relative;
}
.navbar{margin-top:0}

.menu-primary,
.menu-primary ul{
  list-style:none;
  margin:0;
  padding:0;
}

.navbar .menu-primary{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:nowrap;
}

.navbar .menu-primary > li{
  position:relative;
  --menu-bg:#111;
  --menu-fg:#fff;
}

.navbar .menu-primary > li > a{
  display:block;
  padding:10px 14px;
  border-radius:12px;
  background:var(--menu-bg);
  color:var(--menu-fg);
  font-weight:600;
  line-height:1;
  white-space:nowrap;
}

.navbar .menu-primary > li .sub-menu{
  position:absolute;
  top:100%;
  left:0;
  min-width:220px;
  padding:6px 0;
  background:var(--menu-bg);
  color:var(--menu-fg);
  border-radius:0 0 12px 12px;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  visibility:hidden;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .15s ease,transform .15s ease,visibility .15s;
}

.navbar .menu-primary > li:hover > .sub-menu,
.navbar .menu-primary > li:focus-within > .sub-menu{
  visibility:visible;
  opacity:1;
  transform:translateY(0);
}

.navbar .menu-primary > li .sub-menu a{
  display:block;
  padding:10px 14px;
  color:var(--menu-fg);
}

.navbar .menu-primary > li:hover > a,
.navbar .menu-primary > li:focus-within > a{
  background:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08)),var(--menu-bg);
}

.navbar .menu-primary > li .sub-menu a:hover{
  background:linear-gradient(rgba(0,0,0,.10),rgba(0,0,0,.10)),var(--menu-bg);
}

.navbar .menu-primary > li.current-menu-item > a,
.navbar .menu-primary > li.current-menu-ancestor > a{
  outline:2px solid rgba(255,255,255,.35);
  outline-offset:2px;
}

.navbar .menu-primary > li[class^="nav-"],
.navbar .menu-primary > li[class*=" nav-"]{
  --menu-fg:#fff;
}

.navbar .menu-primary > li.nav-adults{--menu-bg:var(--color-adults)}
.navbar .menu-primary > li.nav-futsal{--menu-bg:var(--color-futsal)}
.navbar .menu-primary > li.nav-ladies{--menu-bg:var(--color-ladies)}
.navbar .menu-primary > li.nav-juniorhigh{--menu-bg:var(--color-juniorhigh)}
.navbar .menu-primary > li.nav-boys-girls,
.navbar .menu-primary > li.nav-boys_girls{--menu-bg:var(--color-boys-girls)}
.navbar .menu-primary > li.nav-boys_select{--menu-bg:var(--color-boys_select)}
.navbar .menu-primary > li.nav-girls_select{--menu-bg:var(--color-girls_select)}
.navbar .menu-primary > li.nav-beginners{
  --menu-bg:var(--color-beginners);
  --menu-fg:#fff;
}
.navbar .menu-primary > li.nav-about{--menu-bg:var(--color-about)}

/* =========================
   Hero
   ========================= */
.hero{margin:8px 0 16px}

.hero-img img{
  width:100%;
  height:auto;
  border-radius:8px;
}

.hero-comment,
.hero-comment *,
.hero-comment-title,
.hero-comment-sub{
  font-family:'Yuji Syuku','Yu Mincho','Hiragino Mincho ProN',serif!important;
  font-weight:400!important;
  letter-spacing:.04em;
}

.hero-comment{
  margin-top:12px;
  padding:12px 16px;
  color:#111;
  text-align:center;
  background:#fff;
  border:1px solid #eee;
  border-radius:8px;
}

.hero-comment-title{
  font-size:clamp(31px,4.8vw,48px)!important;
  line-height:1.35;
}

.hero-comment-sub{
  margin-top:10px;
  font-size:clamp(19px,2.9vw,24px)!important;
  line-height:1.9;
}

@media (max-width:767px){
  .hero-comment{padding:10px 14px}
}

/* =========================
   TOP お知らせ / 大会・試合
   ========================= */
.section{margin:20px 0}
.section h2{
  margin:0 0 8px;
  font-size:18px;
}

.list-simple{
  list-style:none;
  margin:0;
  padding:0;
}

.cn-item{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 0;
  border-bottom:1px solid #eee;
}

.cn-title{font-weight:600}
.cn-date{
  margin-left:auto;
  font-size:12px;
  color:#666;
}
.cn-new{
  margin-left:8px;
  font-size:11px;
  font-weight:700;
  color:#e60000;
}

/* TOP見出し + 一覧リンク */
.entry .section .section-title-row{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  width:100%;
  margin:0 0 12px;
  padding:0;
  gap:15px;
}

.entry .section .section-title-row h2{
  flex:1 1 auto;
  width:auto!important;
  margin:0!important;
  padding:0;
  min-width:0;
}

.entry .section .section-list-link{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  padding:7px 14px;
  font-size:13px;
  font-weight:700;
  line-height:1;
  color:#fff!important;
  background:#333!important;
  border:1px solid #333;
  border-radius:6px;
  text-decoration:none!important;
  white-space:nowrap;
  cursor:pointer;
}

.entry .section .section-list-link::after{
  content:"›";
  margin-left:7px;
  font-size:17px;
  line-height:1;
}

.entry .section .section-list-link:hover{
  color:#fff!important;
  background:#555!important;
  text-decoration:none!important;
}

@media (max-width:768px){
  .entry .section .section-title-row{
    flex-direction:row!important;
    align-items:center;
    gap:8px;
  }

  .entry .section .section-title-row h2{
    width:auto!important;
    flex:1 1 auto;
  }

  .entry .section .section-list-link{
    flex:0 0 auto;
    padding:6px 10px;
    font-size:12px;
  }
}

/* =========================
   バッジ
   ========================= */
.cn-badge{
  display:inline-block;
  padding:3px 10px;
  border-radius:var(--badge-radius);
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
  color:#111;
  background:#ddd;
  border:1px solid rgba(0,0,0,.06);
}

.badge-adults{background:var(--color-adults);color:#fff}
.badge-futsal{background:var(--color-futsal);color:#fff}
.badge-ladies{background:var(--color-ladies);color:#fff}
.badge-juniorhigh{background:var(--color-juniorhigh);color:#fff}
.badge-boys-girls{background:var(--color-boys-girls);color:#fff}
.badge-boys_select{background:var(--color-boys_select);color:#fff}
.badge-girls_select{background:var(--color-girls_select);color:#fff}
.badge-beginners{background:var(--color-beginners);color:#fff}
.badge-about{background:var(--color-about);color:#fff}

/* =========================
   右サイドバー：バナー
   ========================= */
.sidebar .widget-title,
.sidebar h2{
  font-size:1.5em;
  text-align:center;
}

.banner-sections{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.banner-sections > h2{
  margin:0 0 8px;
  font-size:1.125rem;
  font-weight:700;
}

.banner-block{display:block}

.banner-heading{
  margin:8px 0;
  font-size:1rem;
  font-weight:700;
}

.banner-grid{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}

.banner-grid.cols-1{grid-template-columns:1fr}
.banner-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.banner-grid.cols-3{grid-template-columns:repeat(3,1fr)}

.banner-cell{
  display:flex;
  justify-content:center;
  align-items:center;
}

.banner-grid .banner-cell > a.banner-box{
  display:inline-block;
  border:2px solid var(--aoba-black,#111)!important;
  border-radius:0!important;
  background:var(--aoba-white,#fff);
  padding:0;
  line-height:0;
  text-decoration:none;
  box-sizing:content-box;
  outline:0;
}

.banner-grid .banner-cell > a.banner-box .banner-image{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
}

.banner-placeholder{
  display:inline-block;
  width:100%;
  padding:0;
  color:#666;
  font-size:.82rem;
  line-height:1;
  text-align:center;
}

.banner-empty{
  margin:8px 0 0;
  color:#666;
  font-size:.875rem;
}

.banner-ad-link{
  margin-top:16px;
  text-align:center;
}

.banner-ad-link .btn-black{
  display:block;
  width:100%;
  padding:.6em 0;
  margin-top:1.2em;
  text-align:center;
  background:#FF6600;
  color:#fff!important;
  border:2px solid #FF6600;
  border-radius:12px;
  font-size:2em;
  font-weight:bold;
  line-height:1.2;
  text-decoration:none;
  transition:background-color .2s ease,transform .1s ease;
}

.banner-ad-link .btn-black:hover,
.banner-ad-link .btn-black:focus{
  background:#e65c00;
  color:#fff!important;
  transform:scale(1.02);
  text-decoration:none;
}

/* サイドバー Link */
.sidebar-links{margin-top:28px}

.sidebar-links-title{
  margin:0 0 12px;
  padding:0 0 6px;
  font-size:18px;
  font-weight:700;
  border-bottom:2px solid #111;
}

.sidebar-links-list{
  margin:0;
  padding:0;
  list-style:none;
}

.sidebar-links-list li{
  margin:0;
  border-bottom:1px solid #ddd;
}

.sidebar-links-list a{
  display:block;
  padding:9px 4px;
  color:#333;
  text-decoration:none;
  font-size:14px;
  line-height:1.5;
}

.sidebar-links-list a::before{
  content:"›";
  margin-right:6px;
}

.sidebar-links-list a:hover{
  color:#000;
  background:#f5f5f5;
}

/* =========================
   モバイルメニュー
   ========================= */
@media (min-width:1025px){
  .hamburger{display:none!important}
  .mobile-nav,
  .mobile-backdrop{display:none!important}
}

@media (max-width:1024px){
  .navbar{display:none!important}

  .hamburger{
    position:fixed;
    top:14px;
    right:14px;
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#111!important;
    border:0;
    border-radius:8px;
    z-index:11000!important;
    cursor:pointer;
    color:transparent!important;
  }

  .hamburger svg{
    width:32px!important;
    height:32px!important;
    display:block;
  }

  .hamburger line{
    stroke:#fff!important;
    stroke-width:3px!important;
    stroke-linecap:round;
  }

  .hamburger.is-open #hb-bars{display:none!important}
  .hamburger.is-open #hb-x{display:block!important}

  .mobile-nav-header,
  .mobile-nav .mobile-close{display:none!important}

  .mobile-nav{
    position:fixed;
    top:0!important;
    right:0;
    bottom:0;
    width:min(90vw,360px);
    background:#fff;
    z-index:10020;
    overflow-y:auto;
    box-shadow:-2px 0 12px rgba(0,0,0,.15);
    transform:translateX(100%);
    transition:transform .25s ease;
  }

  .mobile-nav.is-open{transform:translateX(0)}

  .mobile-backdrop{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.6);
    z-index:10010;
  }

  .mobile-nav .menu-primary{padding-top:8px}

  .mobile-nav .menu-primary > li > a{
    display:flex;
    align-items:center;
    min-height:56px;
    padding:14px 44px 14px 16px;
    box-sizing:border-box;
    background:transparent!important;
    color:inherit!important;
  }

  .mobile-nav .menu-primary > li.current-menu-item > a,
  .mobile-nav .menu-primary > li.current-menu-ancestor > a{
    font-weight:800!important;
  }

  .mobile-nav li.menu-item-has-children > a{
    position:relative;
  }

  .mobile-nav li.menu-item-has-children > a > .submenu-toggle{
    position:absolute;
    top:50%;
    right:10px;
    transform:translateY(-50%);
    width:32px;
    height:32px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:transparent;
    border:0;
    color:currentColor;
    cursor:pointer;
  }

  .mobile-nav li.menu-item-has-children > a > .submenu-toggle svg{
    width:18px;
    height:18px;
    stroke:currentColor;
    fill:none;
    stroke-width:2.2;
  }

  .mobile-nav li.menu-item-has-children > .sub-menu{
    display:none;
    margin:0;
    padding:6px 0 10px;
    list-style:none;
    background:inherit;
    color:inherit;
  }

  .mobile-nav .sub-menu > li > a{
    display:block;
    padding:12px 16px 12px 24px;
    color:inherit!important;
    text-decoration:none;
    border-top:1px solid rgba(255,255,255,.18)!important;
  }

  .mobile-nav .menu-primary > li[class*="nav-"]{--fg:#fff}
  .mobile-nav .menu-primary > li > a{
    color:var(--fg,inherit)!important;
    border:0!important;
  }

  .mobile-nav .menu-primary > li.nav-adults,
  .mobile-nav .menu-primary > li.nav-adults .sub-menu{
    background:var(--color-adults)!important;
    color:#fff!important;
  }

  .mobile-nav .menu-primary > li.nav-futsal,
  .mobile-nav .menu-primary > li.nav-futsal .sub-menu{
    background:var(--color-futsal)!important;
    color:#fff!important;
  }

  .mobile-nav .menu-primary > li.nav-ladies,
  .mobile-nav .menu-primary > li.nav-ladies .sub-menu{
    background:var(--color-ladies)!important;
    color:#fff!important;
  }

  .mobile-nav .menu-primary > li.nav-juniorhigh,
  .mobile-nav .menu-primary > li.nav-juniorhigh .sub-menu{
    background:var(--color-juniorhigh)!important;
    color:#fff!important;
  }

  .mobile-nav .menu-primary > li.nav-boys-girls,
  .mobile-nav .menu-primary > li.nav-boys-girls .sub-menu,
  .mobile-nav .menu-primary > li.nav-boys_girls,
  .mobile-nav .menu-primary > li.nav-boys_girls .sub-menu{
    background:var(--color-boys-girls)!important;
    color:#fff!important;
  }

  .mobile-nav .menu-primary > li.nav-boys_select,
  .mobile-nav .menu-primary > li.nav-boys_select .sub-menu{
    background:var(--color-boys_select)!important;
    color:#fff!important;
  }

  .mobile-nav .menu-primary > li.nav-girls_select,
  .mobile-nav .menu-primary > li.nav-girls_select .sub-menu{
    background:var(--color-girls_select)!important;
    color:#fff!important;
  }

  .mobile-nav .menu-primary > li.nav-beginners,
  .mobile-nav .menu-primary > li.nav-beginners .sub-menu{
    background:var(--color-beginners)!important;
    color:#fff!important;
  }

  .mobile-nav .menu-primary > li.nav-about,
  .mobile-nav .menu-primary > li.nav-about .sub-menu{
    background:var(--color-about)!important;
    color:#fff!important;
  }

  .mobile-nav .menu-primary > li.home,
  .mobile-nav .menu-primary > li.page_item,
  .mobile-nav .menu-primary > li.menu-item-home,
  .mobile-nav .menu-primary > li:first-child{
    background:#111!important;
    color:#fff!important;
  }

  .mobile-nav .menu-primary > li.home > a,
  .mobile-nav .menu-primary > li.page_item > a,
  .mobile-nav .menu-primary > li.menu-item-home > a,
  .mobile-nav .menu-primary > li:first-child > a{
    min-height:56px!important;
    padding:14px 16px!important;
    background:#111!important;
    color:#fff!important;
    font-weight:600!important;
    border:0!important;
    border-radius:0!important;
    text-decoration:none!important;
    line-height:1.4!important;
  }
}

/* =========================
   パンくず
   ========================= */
.breadcrumbs{
  max-width:none;
  width:100%;
  margin:6px 0 16px;
  padding:0 var(--gutter);
  box-sizing:border-box;
  font-size:14px;
}

.breadcrumbs ol,
.breadcrumbs ul{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}

.breadcrumbs .bc-list{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  display:flex;
  flex-wrap:wrap;
}

.breadcrumbs .bc-item{
  display:flex;
  align-items:center;
}

.breadcrumbs .bc-item + .bc-item::before{
  content:" > ";
  opacity:.6;
  padding:0 .4em;
}

.breadcrumbs a{color:#0073aa}
.breadcrumbs a:hover{text-decoration:underline}

/* =========================
   子ページタブ
   ========================= */
.child-page-tabs,
.related-tabs .tab-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:0;
  margin:0;
  list-style:none;
}

.related-tabs{
  margin:0 0 20px;
  border-bottom:2px solid #ddd;
}

.related-tabs .tab-list{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}

.related-tabs .tab-list::-webkit-scrollbar{display:none}

.child-page-tabs li,
.related-tabs .tab-list li{
  margin:0;
  padding:0;
}

.child-page-tabs li a,
.related-tabs .tab-list li a{
  display:block;
  padding:12px 24px;
  border-radius:9999px;
  font-size:1.4rem;
  font-weight:600;
  text-decoration:none;
  background:#999;
  color:#fff;
  white-space:nowrap;
  transition:background-color .2s ease,transform .1s ease;
}

.child-page-tabs li a:hover,
.related-tabs .tab-list li a:hover{
  transform:translateY(-2px);
}

.child-page-tabs li:nth-child(1) a,
.related-tabs .tab-list li:nth-child(1) a{
  background:#f7b3c9;
  color:#fff;
}

.child-page-tabs li:nth-child(1) a:hover,
.related-tabs .tab-list li:nth-child(1) a:hover{
  background:#f093b0;
}

.child-page-tabs li:nth-child(2) a,
.related-tabs .tab-list li:nth-child(2) a{
  background:#b6e6a1;
  color:#fff;
}

.child-page-tabs li:nth-child(2) a:hover,
.related-tabs .tab-list li:nth-child(2) a:hover{
  background:#9fdc84;
}

.child-page-tabs li:nth-child(3) a,
.related-tabs .tab-list li:nth-child(3) a{
  background:#ffd800;
  color:#fff;
}

.child-page-tabs li:nth-child(3) a:hover,
.related-tabs .tab-list li:nth-child(3) a:hover{
  background:#e6c400;
}

.child-page-tabs li:nth-child(4) a,
.related-tabs .tab-list li:nth-child(4) a{
  background:#a8d8ff;
  color:#fff;
}

.child-page-tabs li:nth-child(4) a:hover,
.related-tabs .tab-list li:nth-child(4) a:hover{
  background:#8ec7fb;
}

.child-page-tabs li.current_page_item a,
.child-page-tabs li.current-menu-item a,
.related-tabs .tab-list li.is-current a,
.related-tabs .tab-list li.current a{
  box-shadow:0 0 0 2px rgba(0,0,0,.05) inset;
}

/* 「協会について」だけ白背景・黒文字 */
.page-id-145 .related-tabs .tab-list li a{
  background:#fff!important;
  color:#000!important;
  border:1px solid #ccc;
}

.page-id-145 .related-tabs .tab-list li a:hover{
  background:#f5f5f5!important;
}

/* =========================
   協会について
   ========================= */
.hero-about-wrap{margin-bottom:0}
.hero-about-wrap .hero{margin-bottom:24px}
.hero-about-wrap + .main-wrap{margin-top:0}

.about-layout{
  display:grid;
  grid-template-columns:1fr 320px;
  gap:24px;
  align-items:start;
}

.about-layout .about-hero{margin-bottom:24px}
.about-layout .about-hero .hero{margin-bottom:0}
.about-layout h1.page-title{margin-top:0}

.about-hero-wrap{
  display:flex;
  flex-direction:column;
  margin-bottom:0;
}

.about-hero-wrap .about-hero-inner{
  flex:1;
  max-width:calc(100% - 320px);
}

.about-hero-wrap .hero{margin-bottom:24px}
.about-hero-wrap + .main-wrap h1.page-title{margin-top:0}
.main-wrap .page-title{margin-top:0}

.page-about .about-signature-block{
  margin-top:32px;
  padding-top:16px;
  border-top:1px solid #eee;
}

.page-about .about-signature-label{
  margin-bottom:4px;
  font-size:.9rem;
  color:#666;
  text-align:right;
  letter-spacing:.04em;
}

.page-about .about-signature{
  text-align:right;
  font-style:italic;
  line-height:1.6;
  letter-spacing:.05em;
  font-size:clamp(1.4rem,2.2vw,2rem);
  font-family:"Yuji Syuku","HGP行書体","HG行書体","Yu Mincho","游明朝体","Hiragino Mincho ProN","HGS明朝E",serif;
  font-kerning:normal;
  text-rendering:optimizeLegibility;
}

.about-photo-block{
  float:right;
  width:30%;
  max-width:200px;
  margin:0 0 20px 24px;
  text-align:center;
}

.about-photo{
  width:100%;
  height:auto;
  border-radius:12px;
  border:1px solid #ddd;
  box-shadow:0 2px 6px rgba(0,0,0,.1);
}

.about-signature-block{
  clear:both;
  margin-top:40px;
  text-align:center;
}

@media (max-width:960px){
  .about-layout{grid-template-columns:1fr!important}
}

@media (max-width:768px){
  .about-photo-block{
    float:none;
    width:60%;
    max-width:180px;
    margin:0 auto 20px;
  }
}

/* =========================
   TOPヒーロー幅調整
   ========================= */
.home .main-wrap .hero{
  margin-left:0!important;
  margin-right:0!important;
  width:100%!important;
  max-width:100%!important;
}

.home .main-wrap .hero img{
  margin-left:0!important;
  margin-right:0!important;
  width:100%!important;
  max-width:100%!important;
  display:block;
}

.home .main-wrap .top-comment,
.home .main-wrap .hero-comment{
  margin-left:0!important;
  margin-right:0!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box;
}

.home .front-page-article .hero-wrap{
  margin:8px 0 16px!important;
  width:100%!important;
  max-width:100%!important;
}

.home .front-page-article .hero-wrap > .container{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box;
}

.home .front-page-article .hero-wrap .hero-img,
.home .front-page-article .hero-wrap .hero-img img{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  display:block;
}

.home .front-page-article .hero-wrap .hero-comment{
  width:100%!important;
  max-width:100%!important;
  margin-top:12px!important;
  box-sizing:border-box;
}

/* =========================
   旧サイトリンク
   ========================= */
.old-site-link-top{
  text-align:right;
  margin-top:8px;
  margin-bottom:8px;
}

.old-site-link-top .old-site-link{
  position:static!important;
  top:auto!important;
  right:auto!important;
  display:inline-block;
  padding:8px 14px;
  background:rgba(0,0,0,.75);
  color:#fff;
  border-radius:6px;
  font-size:.95rem;
  text-decoration:none;
  transition:background .3s,transform .2s;
}

.old-site-link-top .old-site-link:hover{
  background:rgba(0,0,0,.9);
  transform:translateY(-2px);
}

@media (max-width:768px){
  .old-site-link-top{
    margin-top:4px;
    margin-bottom:6px;
  }

  .old-site-link-top .old-site-link{
    font-size:.85rem;
    padding:6px 10px;
  }
}

/* =========================
   PDF添付ブロック
   ========================= */
@media (min-width:768px){
  .single .entry .wp-block-file,
  .single .entry .wp-block-file *{
    display:inline-block!important;
    visibility:visible!important;
    height:auto!important;
    overflow:visible!important;
  }

  .single .entry embed[type="application/pdf"],
  .single .entry object[type="application/pdf"],
  .single .entry iframe[src$=".pdf"],
  .single .entry iframe[src*=".pdf"]{
    display:block!important;
    width:100%!important;
    min-height:480px!important;
    visibility:visible!important;
  }
}
/* =========================
   Ver.0.8.9 委員会投稿ポータル
   ========================= */
.aoba-portal{background:#f4f7fa;min-height:70vh;padding:34px 16px 60px;color:#1d2733}.aoba-portal-shell{max-width:1100px;margin:0 auto}.aoba-login-shell{max-width:520px}.aoba-portal-card{background:#fff;border:1px solid #dce3ea;border-radius:14px;padding:24px;box-shadow:0 3px 16px rgba(18,45,70,.06);margin-bottom:22px}.aoba-portal-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:18px}.aoba-portal-head h1{font-size:30px;margin:3px 0 6px}.aoba-portal-head p{margin:0}.aoba-portal-kicker{font-size:13px;font-weight:700;color:#567}.aoba-portal-user{text-align:right;font-size:14px}.aoba-portal-nav{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}.aoba-portal-nav a{background:#fff;border:1px solid #ccd7e2;border-radius:9px;padding:10px 18px;text-decoration:none;font-weight:700;color:#26384a}.aoba-portal-nav a.is-current{background:#1769aa;color:#fff;border-color:#1769aa}.aoba-portal-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}.aoba-action-card{display:grid;grid-template-columns:auto 1fr;column-gap:14px;background:#fff;border:2px solid #d9e4ee;border-radius:14px;padding:24px;text-decoration:none;color:#1d2733}.aoba-action-card>span{grid-row:1/3;font-size:34px;color:#1769aa}.aoba-action-card strong{font-size:20px}.aoba-action-card small{color:#647486;margin-top:4px}.aoba-card-title{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}.aoba-card-title h2,.aoba-portal-card h2{margin:0}.aoba-primary,.aoba-secondary,.aoba-portal-form button,.aoba-featured button,.aoba-trash-form button{display:inline-block;border:0;border-radius:8px;padding:10px 17px;font-weight:700;cursor:pointer;text-decoration:none}.aoba-primary{background:#1769aa!important;color:#fff!important}.aoba-secondary{background:#e9eef3!important;color:#24384b!important}.aoba-post-list{border-top:1px solid #e3e8ed}.aoba-post-row{display:flex;justify-content:space-between;gap:20px;padding:15px 2px;border-bottom:1px solid #e3e8ed}.aoba-post-row strong,.aoba-post-row small{display:block}.aoba-post-row strong{margin:5px 0}.aoba-post-row small{color:#6b7885}.aoba-type{display:inline-block;font-size:12px;background:#eef4f8;border-radius:99px;padding:3px 8px}.aoba-row-actions{display:flex;gap:12px;align-items:center;white-space:nowrap}.aoba-portal-alert{padding:13px 16px;border-radius:9px;margin:0 0 18px;background:#e8f5eb;border:1px solid #b8dfc0}.aoba-portal-alert.error{background:#fff0f0;border-color:#efbcbc}.aoba-portal-lead{color:#5d6d7c}.aoba-portal-form{display:grid;gap:20px}.aoba-field label{display:block;font-weight:700;margin-bottom:7px}.aoba-field label em{font-style:normal;color:#b42318;font-size:12px}.aoba-field label span{font-weight:400;color:#6b7885}.aoba-field>input[type=text],.aoba-field>input[type=date]{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #b9c5d0;border-radius:7px;font-size:16px}.aoba-field-date{max-width:260px}.aoba-form-section{border:1px solid #dbe3ea;border-radius:11px;padding:18px;background:#fbfcfd}.aoba-form-section h3{margin:0 0 12px;font-size:21px}.aoba-form-section h4{margin:20px 0 8px;padding-bottom:6px;border-bottom:1px solid #e4e9ee}.aoba-category{border-width:2px}.aoba-doc-row{display:grid;grid-template-columns:150px minmax(220px,1fr) auto auto;gap:8px;align-items:center;margin:9px 0}.aoba-doc-row input,.aoba-doc-label input,.aoba-award-row input[type=text]{width:100%;box-sizing:border-box;padding:9px;border:1px solid #bdc8d2;border-radius:6px}.aoba-doc-row button,.aoba-award-row button,.aoba-featured button{background:#edf2f6;color:#24384b;padding:8px 10px}.aoba-doc-label{margin:0 0 12px 158px}.aoba-award-row{display:grid;grid-template-columns:80px minmax(160px,1fr) 78px auto auto;gap:9px;align-items:center;padding:9px 0;border-bottom:1px dotted #ccd5dd}.aoba-media-preview{display:inline-block;width:72px;min-height:45px}.aoba-media-preview img{width:72px;height:54px;object-fit:cover;border-radius:5px}.aoba-featured{display:flex;gap:14px;align-items:center}.aoba-submit-bar{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #e1e6eb;padding-top:18px}.aoba-trash-form{text-align:right;margin-top:8px}.aoba-trash-form button{background:transparent;color:#a12b2b;padding-right:0}.aoba-login-shell #loginform p{margin:0 0 16px}.aoba-login-shell #loginform label{display:block;font-weight:700;margin-bottom:5px}.aoba-login-shell #loginform input[type=text],.aoba-login-shell #loginform input[type=password]{width:100%;box-sizing:border-box;padding:11px;border:1px solid #b9c5d0;border-radius:7px}.aoba-login-shell #wp-submit{background:#1769aa;color:#fff;border:0;border-radius:8px;padding:11px 20px;font-weight:700}.aoba-empty{color:#6b7885}
@media(max-width:760px){.aoba-portal{padding:20px 10px 40px}.aoba-portal-card{padding:16px}.aoba-portal-head{display:block}.aoba-portal-user{text-align:left;margin-top:10px}.aoba-portal-actions{grid-template-columns:1fr}.aoba-post-row{display:block}.aoba-row-actions{margin-top:10px}.aoba-doc-row,.aoba-award-row{grid-template-columns:1fr}.aoba-doc-label{margin-left:0}.aoba-card-title{align-items:flex-start;flex-direction:column}.aoba-submit-bar{position:sticky;bottom:0;background:#fff;padding:12px 0;z-index:5}}

/* v0.8.10 管理者用 投稿先委員会切替 */
.aoba-committee-switcher{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:14px 18px;background:#fff;border:1px solid #dfe5e8;border-radius:10px}.aoba-committee-switcher select{min-width:240px;max-width:100%;padding:9px 36px 9px 12px;border:1px solid #b8c2c8;border-radius:6px;background:#fff}@media(max-width:600px){.aoba-committee-switcher{align-items:stretch;flex-direction:column}.aoba-committee-switcher select{width:100%;min-width:0}}

/* v0.8.13: privacy policy footer link */
.site-footer-privacy { margin-top: .35rem; }
.site-footer-privacy a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
