@charset "UTF-8";
/* 政策テーマ一覧・政策ハブ共通型 v0.3.1
 * 政策8テーマの配色は確認済みの指定色。アイコンの原画・色は変更しない。
 * R06系のレイアウト・個別政策ハブの細部は工程13〜17で照合する。
 */
.aoyagi-page--hub {
  --aoyagi-topic-color: var(--aoyagi-blue);
  --aoyagi-topic-pale: var(--aoyagi-pale);
}
.aoyagi-page--hub.aoyagi-topic--education,
.aoyagi-page--hub .aoyagi-topic--education { --aoyagi-topic-color: #f472b6; }
.aoyagi-page--hub.aoyagi-topic--disaster,
.aoyagi-page--hub .aoyagi-topic--disaster { --aoyagi-topic-color: #f97316; }
.aoyagi-page--hub.aoyagi-topic--reform,
.aoyagi-page--hub .aoyagi-topic--reform { --aoyagi-topic-color: #3b82f6; }
.aoyagi-page--hub.aoyagi-topic--community,
.aoyagi-page--hub .aoyagi-topic--community { --aoyagi-topic-color: #22c55e; }
.aoyagi-page--hub.aoyagi-topic--welfare,
.aoyagi-page--hub .aoyagi-topic--welfare { --aoyagi-topic-color: #a855f7; }
.aoyagi-page--hub.aoyagi-topic--industry,
.aoyagi-page--hub .aoyagi-topic--industry { --aoyagi-topic-color: #06b6d4; }
.aoyagi-page--hub.aoyagi-topic--culture,
.aoyagi-page--hub .aoyagi-topic--culture { --aoyagi-topic-color: #d4a017; }
.aoyagi-page--hub.aoyagi-topic--assembly,
.aoyagi-page--hub .aoyagi-topic--assembly { --aoyagi-topic-color: #ef4444; }
.aoyagi-page--hub .aoyagi-hub__hero {
  position: relative; overflow: hidden; display: grid; align-items: center;
  min-height: clamp(270px, 28vw, 420px); background: #ddecf8;
  border-radius: var(--aoyagi-radius-lg);
}
.aoyagi-page--hub .aoyagi-hub__hero-media { position: absolute; inset: 0; }
.aoyagi-page--hub .aoyagi-hub__hero-media img {
  display: block; width: 100%; height: 100%; object-fit: cover;
}
.aoyagi-page--hub .aoyagi-hub__hero::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, rgb(255 255 255 / 91%), rgb(255 255 255 / 68%) 45%, rgb(255 255 255 / 4%) 95%);
}
.aoyagi-page--hub .aoyagi-hub__hero-inner { position: relative; z-index: 1; width: min(100% - 40px, 1150px); margin: auto; }
.aoyagi-page--hub .aoyagi-hub__hero-title {
  max-width: 700px; margin: 0 0 12px; padding: 0;
  border: 0; color: var(--aoyagi-navy); background: none;
  font-family: var(--aoyagi-font-serif); font-weight: 700;
  font-size: clamp(2rem, 1.5rem + 2vw, 3.1rem); line-height: 1.45;
}
.aoyagi-page--hub .aoyagi-hub__hero-title::before,
.aoyagi-page--hub .aoyagi-hub__hero-title::after { content: none; display: none; }
.aoyagi-page--hub .aoyagi-hub__hero-copy { max-width: 620px; margin: 0; line-height: 1.85; }
.aoyagi-page--hub .aoyagi-hub__index-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px;
}
.aoyagi-page--hub .aoyagi-hub__topic {
  display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0;
  overflow: hidden; border: 1px solid var(--aoyagi-line);
  border-radius: var(--aoyagi-radius-md); background: #fff;
  box-shadow: var(--aoyagi-shadow); color: var(--aoyagi-navy); text-decoration: none;
}
.aoyagi-page--hub .aoyagi-hub__topic-media { aspect-ratio: 1.95 / 1; overflow: hidden; background: var(--aoyagi-pale); }
.aoyagi-page--hub .aoyagi-hub__topic-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.aoyagi-page--hub .aoyagi-hub__topic-body { display: grid; grid-template-columns: 56px minmax(0, 1fr); align-items: center; gap: 12px; padding: 14px 18px; }
.aoyagi-page--hub .aoyagi-hub__topic-icon { width: 54px; height: 54px; object-fit: contain; }
.aoyagi-page--hub .aoyagi-hub__topic-title { display: block; margin: 0 0 4px; color: var(--aoyagi-navy); font-weight: 700; font-size: 1.125rem; line-height: 1.5; }
.aoyagi-page--hub .aoyagi-hub__topic-copy { display: block; margin: 0; color: var(--aoyagi-muted); font-size: .92rem; line-height: 1.65; }
.aoyagi-page--hub .aoyagi-hub__section { margin-block: clamp(48px, 5vw, 72px); }
.aoyagi-page--hub .aoyagi-hub__section-label { display: inline-block; border-bottom: 3px solid var(--aoyagi-topic-color); padding-bottom: 6px; color: var(--aoyagi-navy); font-weight: 700; }
.aoyagi-page--hub .aoyagi-hub__statement {
  max-width: 800px; padding: clamp(22px, 3vw, 36px);
  border-left: 4px solid var(--aoyagi-topic-color); background: var(--aoyagi-pale);
  border-radius: 0 var(--aoyagi-radius-md) var(--aoyagi-radius-md) 0;
}
.aoyagi-page--hub .aoyagi-hub__statement > :first-child { margin-top: 0; }
.aoyagi-page--hub .aoyagi-hub__statement > :last-child { margin-bottom: 0; }
.aoyagi-page--hub .aoyagi-hub__process {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px;
  margin: 0; padding: 0; list-style: none; counter-reset: policy-step;
}
.aoyagi-page--hub .aoyagi-hub__process-item {
  counter-increment: policy-step; min-width: 0;
  padding: 18px; border: 1px solid var(--aoyagi-line);
  border-radius: var(--aoyagi-radius-md); background: #fff;
}
.aoyagi-page--hub .aoyagi-hub__process-item::before {
  content: counter(policy-step, decimal-leading-zero);
  display: inline-block; min-width: 2em; margin-bottom: 10px;
  padding-bottom: 4px; color: var(--aoyagi-navy); font-weight: 800;
  border-bottom: 3px solid var(--aoyagi-topic-color);
}
.aoyagi-page--hub .aoyagi-hub__process-title { margin: 0 0 8px; color: var(--aoyagi-navy); font-size: 1.0625rem; font-weight: 700; line-height: 1.5; }
.aoyagi-page--hub .aoyagi-hub__process-text { margin: 0; line-height: 1.8; }
.aoyagi-page--hub .aoyagi-hub__related { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.aoyagi-page--hub .aoyagi-hub__related > * { min-width: 0; }
.aoyagi-page--hub .aoyagi-hub__related-item {
  display: block; padding: 16px 20px; border-radius: var(--aoyagi-radius-sm);
  border: 1px solid var(--aoyagi-line); background: #fff;
  color: var(--aoyagi-navy); text-decoration: none;
}
.aoyagi-page--hub .aoyagi-hub__related-item::after { content: " →"; font-weight: 700; }
@media (max-width: 767px) {
  .aoyagi-page--hub .aoyagi-hub__hero { display: flex; flex-direction: column; min-height: 0; }
  .aoyagi-page--hub .aoyagi-hub__hero-media { position: relative; width: 100%; aspect-ratio: 1.65; }
  .aoyagi-page--hub .aoyagi-hub__hero::after { display: none; }
  .aoyagi-page--hub .aoyagi-hub__hero-inner { width: 100%; padding: 24px 20px 28px; }
  .aoyagi-page--hub .aoyagi-hub__hero-title { font-size: 1.9rem; }
  .aoyagi-page--hub .aoyagi-hub__index-grid { grid-template-columns: 1fr; gap: 14px; }
  .aoyagi-page--hub .aoyagi-hub__topic-body { grid-template-columns: 48px minmax(0, 1fr); padding: 14px; }
  .aoyagi-page--hub .aoyagi-hub__topic-icon { width: 46px; height: 46px; }
  .aoyagi-page--hub .aoyagi-hub__process { grid-template-columns: 1fr; }
  .aoyagi-page--hub .aoyagi-hub__related { grid-template-columns: 1fr; }
}

/* AOYAGI_STAGE14_POLICY_HUB_START | v0.9 | 2026-10-22
 * 工程14 防災・減災／教育・子育て。共通base・hubは保持し、追加部分は政策ハブだけ。
 * 固定ページはSWELLで1カラム。内部の本文＋補助案内は2列→スマホ1列。
 * source CSS: 工程04-06の統合正本 v0.3.3。二重読み込みしない。
 */
.aoyagi-page--hub.aoyagi-policy-hub { max-width: 1200px; margin-inline: auto; }
.aoyagi-policy-hub .aoyagi-hub__hero { min-height: 395px; }
.aoyagi-policy-hub .aoyagi-hub__hero::after {
  background: linear-gradient(90deg, rgba(255,255,255,.96),rgba(255,255,255,.85) 36%,rgba(255,255,255,.12) 75%);
}
.aoyagi-policy-hub .aoyagi-hub__hero-inner { display: flex; align-items: center; min-height: 395px; padding-block: 24px; }
.aoyagi-policy-hub .aoyagi-policy-hub__hero-copy { max-width: 560px; }
.aoyagi-policy-hub .aoyagi-policy-hub__eyebrow {
  display: flex; align-items: center; gap: 10px; margin: 0 0 6px;
  color: var(--aoyagi-navy); font-size: .8rem; letter-spacing: .07em; font-weight: 800; line-height: 1.45;
}
.aoyagi-policy-hub .aoyagi-policy-hub__eyebrow img { width: 48px; height: 48px; object-fit: contain; flex: 0 0 48px; }
.aoyagi-policy-hub .aoyagi-hub__hero-title { font-size: clamp(2.05rem,3vw,3.1rem); margin-bottom: 12px; }
.aoyagi-policy-hub .aoyagi-policy-hub__hero-statement {
  margin: 0 0 12px; font-family: var(--aoyagi-font-serif); font-weight: 700;
  color: var(--aoyagi-navy); line-height: 1.6; font-size: clamp(1.14rem, 1rem + 1vw, 1.55rem);
}
.aoyagi-policy-hub .aoyagi-hub__hero-copy { max-width: 520px; line-height: 1.8; }
.aoyagi-policy-hub .aoyagi-policy-hub__hero-button { margin-top: 20px; }
/* 教育写真の主題が左側のため、PCのみ文字を右へ。画像を反転・合成しない。 */
#aoyagi-policy-education .aoyagi-hub__hero::after {
  background: linear-gradient(270deg, rgba(255,255,255,.97),rgba(255,255,255,.88) 34%,rgba(255,255,255,.06) 75%);
}
#aoyagi-policy-education .aoyagi-hub__hero-inner { justify-content: flex-end; }
#aoyagi-policy-education .aoyagi-policy-hub__hero-copy { width: min(48%, 540px); }
.aoyagi-policy-hub .aoyagi-policy-hub__nav {
  display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 0; padding: 0;
}
.aoyagi-policy-hub .aoyagi-policy-hub__chip {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; flex: 1 1 160px;
  padding: 9px 15px; border: 1px solid var(--aoyagi-line); border-radius: 8px;
  background: #fff; box-shadow: var(--aoyagi-shadow); color: var(--aoyagi-navy);
  font-size: .86rem; font-weight: 700; line-height: 1.5; text-align: center; text-decoration: none;
  border-bottom: 3px solid var(--aoyagi-topic-color);
}
.aoyagi-policy-hub .aoyagi-policy-hub__chip:hover { background: var(--aoyagi-pale); }
.aoyagi-policy-hub .aoyagi-policy-hub__layout {
  display: grid; grid-template-columns: minmax(0,2.25fr) minmax(248px,.86fr); align-items: start;
  gap: clamp(20px,2.5vw,32px); margin-block: 52px 65px;
}
.aoyagi-policy-hub .aoyagi-policy-hub__main,
.aoyagi-policy-hub .aoyagi-policy-hub__aside { min-width: 0; }
.aoyagi-policy-hub .aoyagi-policy-hub__section { margin: 0 0 clamp(45px,5vw,70px); scroll-margin-top: 100px; }
.aoyagi-policy-hub .aoyagi-policy-hub__section-head { display: flex; align-items: baseline; gap: 12px; margin: 0 0 18px; }
.aoyagi-policy-hub .aoyagi-policy-hub__section-index { color: var(--aoyagi-topic-color); font-size: 1.05rem; font-weight: 800; }
.aoyagi-policy-hub .aoyagi-policy-hub__section-head .aoyagi-section__heading { margin: 0; }
.aoyagi-policy-hub .aoyagi-policy-hub__intro-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; gap: 14px; }
.aoyagi-policy-hub .aoyagi-policy-hub__intro-grid > * { min-width: 0; }
.aoyagi-policy-hub .aoyagi-policy-hub__intro-text { max-width: none; padding: clamp(18px,2vw,28px); }
.aoyagi-policy-hub .aoyagi-policy-hub__intro-heading {
  margin: 0 0 16px; padding: 0; color: var(--aoyagi-navy); font-family: var(--aoyagi-font-serif);
  font-size: clamp(1.2rem,1rem + .4vw,1.45rem); line-height: 1.6; border: 0; background: none;
}
.aoyagi-policy-hub .aoyagi-policy-hub__intro-heading::before,
.aoyagi-policy-hub .aoyagi-policy-hub__intro-heading::after { display: none; content: none; }
.aoyagi-policy-hub .aoyagi-policy-hub__intro-text p { margin: 0 0 12px; font-size: .96rem; line-height: 1.87; }
.aoyagi-policy-hub .aoyagi-policy-hub__intro-text p:last-child { margin-bottom: 0; }
.aoyagi-policy-hub .aoyagi-policy-hub__intro-emphasis { color: var(--aoyagi-navy); font-weight: 700; }
.aoyagi-policy-hub .aoyagi-policy-hub__intro-image { position: relative; margin: 0; overflow: hidden; border-radius: 12px; background: var(--aoyagi-pale); min-height: 290px; }
.aoyagi-policy-hub .aoyagi-policy-hub__intro-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.aoyagi-policy-hub .aoyagi-policy-hub__intro-image figcaption {
  position: absolute; bottom: 0; inset-inline: 0; margin: 0; padding: 22px 14px 12px;
  color: #fff; font-size: .8rem; line-height: 1.5; background: linear-gradient(0deg, rgba(8,30,52,.77), transparent);
}
.aoyagi-policy-hub .aoyagi-policy-hub__pillars { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.aoyagi-policy-hub .aoyagi-policy-hub__pillar { padding: 19px 16px; border: 1px solid var(--aoyagi-line); border-top: 4px solid var(--aoyagi-topic-color); border-radius: 10px; background: #fff; min-width: 0; }
.aoyagi-policy-hub .aoyagi-policy-hub__pillar h3 { margin: 0 0 9px; padding: 0; font-size: 1.05rem; line-height: 1.5; color: var(--aoyagi-navy); border: 0; background: none; }
.aoyagi-policy-hub .aoyagi-policy-hub__pillar h3::before,
.aoyagi-policy-hub .aoyagi-policy-hub__pillar h3::after { display: none; content: none; }
.aoyagi-policy-hub .aoyagi-policy-hub__pillar p { margin: 0; font-size: .93rem; line-height: 1.76; }
.aoyagi-policy-hub .aoyagi-policy-hub__articles { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.aoyagi-policy-hub .aoyagi-policy-hub__article { min-width: 0; display: flex; flex-direction: column; padding: 20px; background: #fff; border: 1px solid var(--aoyagi-line); border-radius: 12px; box-shadow: var(--aoyagi-shadow); }
.aoyagi-policy-hub .aoyagi-policy-hub__article-meta { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; font-size: .79rem; color: var(--aoyagi-muted); }
.aoyagi-policy-hub .aoyagi-policy-hub__article-meta span { padding: 3px 8px; border-radius: 4px; color: var(--aoyagi-navy); background: var(--aoyagi-pale); font-weight: 700; }
.aoyagi-policy-hub .aoyagi-policy-hub__article-title { margin: 12px 0 8px; padding: 0; background: none; border: 0; box-shadow: none; color: var(--aoyagi-navy); line-height: 1.55; font-size: 1.065rem; }
.aoyagi-policy-hub .aoyagi-policy-hub__article-title::before,
.aoyagi-policy-hub .aoyagi-policy-hub__article-title::after { content: none; display: none; }
.aoyagi-policy-hub .aoyagi-policy-hub__article-title a { color: inherit; text-decoration: none; }
.aoyagi-policy-hub .aoyagi-policy-hub__article-title a:hover { text-decoration: underline; text-underline-offset: .18em; }
.aoyagi-policy-hub .aoyagi-policy-hub__article p { margin: 0 0 12px; font-size: .92rem; line-height: 1.7; }
.aoyagi-policy-hub .aoyagi-policy-hub__article-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: auto; color: var(--aoyagi-navy); font-weight: 700; font-size: .9rem; }
.aoyagi-policy-hub .aoyagi-policy-hub__process { margin-top: 20px; }
.aoyagi-policy-hub .aoyagi-policy-hub__aside { display: grid; gap: 18px; }
.aoyagi-policy-hub .aoyagi-policy-hub__aside-box { padding: 22px; border: 1px solid var(--aoyagi-line); background: #f5fafe; border-radius: 12px; }
.aoyagi-policy-hub .aoyagi-policy-hub__aside-box h2 { margin: 0 0 14px; padding: 0; font-family: var(--aoyagi-font-serif); font-size: 1.25rem; color: var(--aoyagi-navy); border: 0; background: none; }
.aoyagi-policy-hub .aoyagi-policy-hub__aside-box h2::before,
.aoyagi-policy-hub .aoyagi-policy-hub__aside-box h2::after { content: none; display: none; }
.aoyagi-policy-hub .aoyagi-policy-hub__aside-box p { margin: 0 0 15px; font-size: .94rem; line-height: 1.8; }
.aoyagi-policy-hub .aoyagi-policy-hub__aside-note { border-top: 4px solid var(--aoyagi-topic-color); }
.aoyagi-policy-hub .aoyagi-policy-hub__aside-list { margin: 0; padding: 0; list-style: none; }
.aoyagi-policy-hub .aoyagi-policy-hub__aside-list li { padding: 12px 0; border-bottom: 1px solid var(--aoyagi-line); }
.aoyagi-policy-hub .aoyagi-policy-hub__aside-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.aoyagi-policy-hub .aoyagi-policy-hub__aside-list strong { display: block; margin-bottom: 4px; color: var(--aoyagi-navy); font-size: .95rem; }
.aoyagi-policy-hub .aoyagi-policy-hub__aside-list span { display: block; color: var(--aoyagi-muted); font-size: .89rem; line-height: 1.65; }
.aoyagi-policy-hub .aoyagi-policy-hub__cta { margin-top: 36px; margin-bottom: 20px; scroll-margin-top: 100px; }
.aoyagi-policy-hub .aoyagi-policy-hub__cta-note { margin: 12px 0 0; color: var(--aoyagi-muted); font-size: .79rem; line-height: 1.65; }
.aoyagi-policy-hub .aoyagi-policy-hub__cta .aoyagi-button { flex: 0 1 auto; }
@media (min-width: 768px) and (max-width: 1023px) {
  .aoyagi-policy-hub .aoyagi-policy-hub__layout { grid-template-columns: minmax(0,1fr) 240px; gap: 16px; }
  .aoyagi-policy-hub .aoyagi-policy-hub__intro-grid { grid-template-columns: 1fr; }
  .aoyagi-policy-hub .aoyagi-policy-hub__intro-image { height: 260px; min-height: 0; }
  #aoyagi-policy-education .aoyagi-policy-hub__hero-copy { width: 53%; }
}
@media (max-width: 767px) {
  .aoyagi-policy-hub .aoyagi-hub__hero { min-height: 0; }
  .aoyagi-policy-hub .aoyagi-hub__hero-media { aspect-ratio: 4 / 5; }
  .aoyagi-policy-hub .aoyagi-hub__hero-inner { min-height: 0; padding: 25px 20px 30px; }
  .aoyagi-policy-hub .aoyagi-policy-hub__hero-copy,
  #aoyagi-policy-education .aoyagi-policy-hub__hero-copy { width: 100%; max-width: none; }
  .aoyagi-policy-hub .aoyagi-policy-hub__nav { gap: 8px; margin: 12px 0; }
  .aoyagi-policy-hub .aoyagi-policy-hub__chip { flex: 1 1 calc(50% - 8px); padding: 9px 8px; font-size: .8rem; }
  .aoyagi-policy-hub .aoyagi-policy-hub__layout { grid-template-columns: 1fr; gap: 8px; margin-block: 36px; }
  .aoyagi-policy-hub .aoyagi-policy-hub__section { margin-bottom: 45px; }
  .aoyagi-policy-hub .aoyagi-policy-hub__intro-grid,
  .aoyagi-policy-hub .aoyagi-policy-hub__pillars,
  .aoyagi-policy-hub .aoyagi-policy-hub__articles { grid-template-columns: 1fr; }
  .aoyagi-policy-hub .aoyagi-policy-hub__intro-image { min-height: 0; aspect-ratio: 4 / 3; }
  .aoyagi-policy-hub .aoyagi-policy-hub__aside { gap: 12px; }
  .aoyagi-policy-hub .aoyagi-policy-hub__cta { margin-block: 28px 14px; }
  .aoyagi-policy-hub .aoyagi-policy-hub__cta .aoyagi-button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .aoyagi-policy-hub .aoyagi-policy-hub__chip { transition: none; }
}
/* AOYAGI_STAGE14_POLICY_HUB_END */

/* 工程14 SWELLの標準H1を保持し、表示だけHEROへ一本化 */
#body_wrap.page:has(.aoyagi-policy-hub) #main_content { max-width:1200px; }
#body_wrap.page:has(.aoyagi-policy-hub) .c-pageTitle { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

/* AOYAGI_STAGE16_START | 2026-10-22 | 地域活性化・企業誘致産業のみ
 * 工程04〜06 共通正本 v0.3.3 のaoyagi-hub.css末尾への追加差分。
 * 工程14/15で新たに編集された最新版がある場合、そちらを優先しこの範囲のみ追記する。
 */
.aoyagi-page--hub.aoyagi-stage16 {
  width: 100%;
  max-width: var(--aoyagi-width-wide);
  margin-inline: auto;
}
.aoyagi-stage16 .aoyagi-hub__hero { isolation: isolate; }
.aoyagi-stage16 .aoyagi-hub__hero::after {
  background: linear-gradient(90deg, rgb(255 255 255 / 96%) 0%, rgb(255 255 255 / 85%) 35%, rgb(255 255 255 / 20%) 75%, transparent 100%);
}
.aoyagi-stage16 .aoyagi-hub__hero-inner { padding-block: 36px; }
.aoyagi-stage16 .aoyagi-stage16__hero-heading {
  display: flex; align-items: center; gap: 18px; max-width: 740px;
}
.aoyagi-stage16 .aoyagi-stage16__hero-icon {
  display: block; width: clamp(50px, 5vw, 70px); height: auto;
  aspect-ratio: 1; object-fit: contain; flex: none;
}
.aoyagi-stage16 .aoyagi-stage16__eyebrow {
  color: var(--aoyagi-navy); letter-spacing: .04em; margin: 0 0 7px;
}
.aoyagi-stage16 .aoyagi-hub__hero-title { margin: 0; }
.aoyagi-stage16 .aoyagi-stage16__hero-message {
  max-width: 700px; margin: 14px 0 10px;
  color: var(--aoyagi-navy); font-family: var(--aoyagi-font-serif);
  font-weight: 700; font-size: clamp(1.35rem, 1.1rem + .8vw, 1.9rem);
  line-height: 1.55;
}
.aoyagi-stage16 .aoyagi-hub__hero-copy { max-width: 62ch; color: #213951; }
.aoyagi-stage16 .aoyagi-hub__section > .aoyagi-hub__section-label {
  margin-bottom: 16px;
}
.aoyagi-stage16 .aoyagi-stage16__statement-lead {
  color: var(--aoyagi-navy); font-size: clamp(1.18rem, 1.05rem + .5vw, 1.45rem);
  line-height: 1.65; font-weight: 700;
}
.aoyagi-stage16 .aoyagi-hub__statement p:last-child { margin-bottom: 0; }
.aoyagi-stage16 .aoyagi-stage16__focus-card { border-top: 3px solid var(--aoyagi-topic-color); }
.aoyagi-stage16 .aoyagi-stage16__focus-count {
  display: inline-flex; align-self: flex-start; min-width: 45px; min-height: 34px;
  align-items: center; justify-content: center; padding: 3px 8px;
  border-radius: 7px; background: var(--aoyagi-pale);
  color: var(--aoyagi-navy); font-weight: 700; font-variant-numeric: tabular-nums;
}
.aoyagi-stage16 .aoyagi-stage16__focus-grid .aoyagi-card__body { gap: 12px; }
.aoyagi-stage16 .aoyagi-hub__process-item { display: flex; flex-direction: column; }
.aoyagi-stage16 .aoyagi-stage16__step-link {
  display: inline-flex; align-items: center; min-height: 44px;
  margin-top: auto; padding-top: 15px; color: var(--aoyagi-navy);
  font-weight: 700; text-decoration: underline; text-underline-offset: .2em;
}
.aoyagi-stage16 .aoyagi-stage16__step-link::after { content: " →"; }
.aoyagi-stage16 .aoyagi-stage16__article-grid .aoyagi-card__body { min-height: 260px; }
.aoyagi-stage16 .aoyagi-stage16__article-grid .aoyagi-card__more { margin-top: auto; }
.aoyagi-stage16 .aoyagi-stage16__next { margin-bottom: 28px; }
.aoyagi-stage16 .aoyagi-stage16__consult { margin-bottom: 32px; }
.aoyagi-stage16 :is(.aoyagi-hub__process-item, .aoyagi-card, .aoyagi-next) { min-width: 0; }
.aoyagi-stage16 :is(.aoyagi-hub__process-item, .aoyagi-card) a:focus-visible {
  outline: 3px solid var(--aoyagi-focus); outline-offset: 3px;
}
@media (max-width: 767px) {
  .aoyagi-stage16 .aoyagi-hub__hero-inner { padding: 24px 20px 30px; }
  .aoyagi-stage16 .aoyagi-hub__hero-media { aspect-ratio: 1.6 / 1; }
  .aoyagi-stage16 .aoyagi-stage16__hero-heading { gap: 12px; }
  .aoyagi-stage16 .aoyagi-stage16__hero-icon { width: 50px; }
  .aoyagi-stage16 .aoyagi-stage16__hero-message { font-size: 1.35rem; }
  .aoyagi-stage16 .aoyagi-stage16__article-grid .aoyagi-card__body { min-height: 0; }
  .aoyagi-stage16 .aoyagi-stage16__consult .aoyagi-button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .aoyagi-stage16 * { scroll-behavior: auto; }
}
/* SWELL標準H1を保持しHERO表示へ一本化。対象2ページ内のみ。 */
#body_wrap.page:has(.aoyagi-stage16) #main_content { max-width:1200px; }
#body_wrap.page:has(.aoyagi-stage16) .c-pageTitle { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.aoyagi-stage16 .aoyagi-stage16__consult .aoyagi-next__title { background:none; border:0; box-shadow:none; padding:0; }
.aoyagi-stage16 .aoyagi-stage16__consult .aoyagi-next__title::before, .aoyagi-stage16 .aoyagi-stage16__consult .aoyagi-next__title::after { content:none; display:none; }
/* AOYAGI_STAGE16_END */

/* ==============================================================
   AOYAGI_13_POLICY_INDEX_START
   工程13 | 政策テーマ一覧 R06 | 2026-10-22 v1.0
   追記先：子テーマ /assets/css/aoyagi/aoyagi-hub.css の末尾
   既存v0.3.3は削除・上書きしない。本文には<style>を入れない。
   =============================================================== */
#aoyagi-policy-index {
  max-width: 1200px;
  margin-inline: auto;
}
#aoyagi-policy-index .aoyagi-policy-index__hero {
  margin: 0;
  min-height: clamp(310px, 33vw, 430px);
}
#aoyagi-policy-index .aoyagi-policy-index__hero::after {
  background: linear-gradient(90deg, rgb(255 255 255 / 86%) 0%, rgb(255 255 255 / 73%) 33%, rgb(255 255 255 / 15%) 77%, transparent 100%);
}
#aoyagi-policy-index .aoyagi-policy-index__hero-kicker {
  margin: 0 0 14px;
  padding: 0;
  color: var(--aoyagi-navy);
  border: none;
  background: transparent;
  box-shadow: none;
  font-family: var(--aoyagi-font-serif);
  font-weight: 700;
  font-size: clamp(1.7rem, 1.3rem + 2.1vw, 2.7rem);
  line-height: 1.25;
}
#aoyagi-policy-index .aoyagi-policy-index__hero-kicker::before,
#aoyagi-policy-index .aoyagi-policy-index__hero-kicker::after {
  display: none;
  content: none;
}
#aoyagi-policy-index .aoyagi-policy-index__hero-catch {
  max-width: 760px;
  margin: 0;
  font-size: clamp(1.45rem, 1.1rem + 1.5vw, 2.15rem);
  line-height: 1.6;
  font-weight: 700;
}
#aoyagi-policy-index .aoyagi-policy-index__nowrap { white-space: nowrap; }
#aoyagi-policy-index .aoyagi-policy-index__main {
  padding: 0 clamp(2px, 1.2vw, 16px) 1px;
}
#aoyagi-policy-index .aoyagi-policy-index__lead {
  max-width: 820px;
  padding: clamp(24px, 3.5vw, 44px) 0 0;
  color: var(--aoyagi-text);
}
#aoyagi-policy-index .aoyagi-policy-index__lead p {
  margin: 0;
  line-height: 1.9;
}
#aoyagi-policy-index .aoyagi-policy-index__topics {
  margin-block: clamp(44px, 5vw, 68px);
}
#aoyagi-policy-index .aoyagi-policy-index__section-title {
  margin-bottom: 24px;
  padding-left: 17px;
  border-left: 4px solid var(--aoyagi-blue);
}
#aoyagi-policy-index .aoyagi-policy-index__grid {
  gap: clamp(16px, 2.1vw, 24px);
}
#aoyagi-policy-index .aoyagi-policy-index__card {
  position: relative;
}
#aoyagi-policy-index .aoyagi-policy-index__card-media {
  position: relative;
  aspect-ratio: 30 / 11;
  overflow: hidden;
}
#aoyagi-policy-index .aoyagi-policy-index__card-media img {
  object-position: center center;
}
#aoyagi-policy-index .aoyagi-policy-index__card-body {
  min-height: 108px;
  padding: 15px 18px 17px;
  border-top: 4px solid var(--aoyagi-topic-color);
}
#aoyagi-policy-index .aoyagi-policy-index__card-title {
  font-size: clamp(1.0625rem, .99rem + .4vw, 1.22rem);
  margin-bottom: 6px;
  color: var(--aoyagi-navy);
}
#aoyagi-policy-index .aoyagi-policy-index__card-title::before,
#aoyagi-policy-index .aoyagi-policy-index__card-title::after {
  content: none;
  display: none;
}
#aoyagi-policy-index .aoyagi-policy-index__image-note {
  position: absolute;
  bottom: 8px;
  right: 9px;
  padding: 2px 8px;
  background: rgb(255 255 255 / 92%);
  color: #354a60;
  border-radius: 3px;
  font-size: .74rem;
  line-height: 1.5;
  font-weight: 700;
  pointer-events: none;
}
#aoyagi-policy-index .aoyagi-policy-index__cta {
  margin: clamp(30px, 5vw, 66px) 0 0;
  border: 1px solid var(--aoyagi-line);
}
#aoyagi-policy-index .aoyagi-policy-index__cta .aoyagi-next__title {
  margin-bottom: 12px;
  font-family: var(--aoyagi-font-serif);
  font-size: clamp(1.25rem, 1.08rem + .7vw, 1.6rem);
}
#aoyagi-policy-index a.aoyagi-policy-index__card {
  transition: box-shadow .15s ease, transform .15s ease;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  #aoyagi-policy-index a.aoyagi-policy-index__card:hover {
    transform: translateY(-2px);
    box-shadow: 0 9px 24px rgb(7 53 109 / 12%);
  }
}
@media (max-width: 767px) {
  #aoyagi-policy-index .aoyagi-policy-index__hero { min-height: 0; }
  #aoyagi-policy-index .aoyagi-policy-index__hero::after { display: none; }
  #aoyagi-policy-index .aoyagi-policy-index__hero-kicker { font-size: 1.45rem; }
  #aoyagi-policy-index .aoyagi-policy-index__hero-catch { font-size: clamp(1.35rem, 5vw, 1.8rem); }
  #aoyagi-policy-index .aoyagi-policy-index__hero .aoyagi-hub__hero-inner { padding: 22px 20px 26px; }
  #aoyagi-policy-index .aoyagi-policy-index__desktop-break { display: none; }
  #aoyagi-policy-index .aoyagi-policy-index__lead { padding-top: 28px; }
  #aoyagi-policy-index .aoyagi-policy-index__section-title { margin-bottom: 20px; }
  #aoyagi-policy-index .aoyagi-policy-index__card-body { min-height: 0; }
  #aoyagi-policy-index .aoyagi-policy-index__cta { align-items: stretch; }
  #aoyagi-policy-index .aoyagi-policy-index__cta .aoyagi-button { width: 100%; }
}
@media (max-width: 390px) {
  #aoyagi-policy-index .aoyagi-policy-index__nowrap { white-space: normal; }
}
/* SWELL標準H1を保持しHERO表示へ一本化。工程13のみ。 */
#body_wrap.page:has(#aoyagi-policy-index) #main_content { max-width:1200px; }
#body_wrap.page:has(#aoyagi-policy-index) .c-pageTitle { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
#aoyagi-policy-index .aoyagi-policy-index__cta .aoyagi-next__title { background:none; border:0; padding:0; box-shadow:none; }
#aoyagi-policy-index .aoyagi-policy-index__cta .aoyagi-next__title::before, #aoyagi-policy-index .aoyagi-policy-index__cta .aoyagi-next__title::after { content:none; display:none; }
/* AOYAGI_13_POLICY_INDEX_END */

/* AOYAGI_STAGE15_START */
body:has(#aoyagi-policy-administration) .c-pageTitle,
body:has(#aoyagi-policy-welfare) .c-pageTitle {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
#aoyagi-policy-administration.aoyagi-p15,
#aoyagi-policy-welfare.aoyagi-p15 {
  --p15-navy: #0d356f;
  --p15-muted: #4c607b;
  --p15-faint: #edf5fc;
  --p15-border: #dce9f6;
  --p15-accent: #2379c5;
  --p15-light: #eaf4fe;
  width: min(1180px, calc(100vw - 32px));
  max-width: none;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 0;
  margin-bottom: 0;
  color: var(--p15-navy);
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif;
  font-size: 17px;
  line-height: 1.85;
  overflow-wrap: anywhere;
}
#aoyagi-policy-welfare.aoyagi-p15 {
  --p15-accent: #8754ad;
  --p15-light: #f4edfa;
}
#aoyagi-policy-administration.aoyagi-p15 *,
#aoyagi-policy-welfare.aoyagi-p15 * {box-sizing: border-box;}
#aoyagi-policy-administration.aoyagi-p15 h2,
#aoyagi-policy-welfare.aoyagi-p15 h2,
#aoyagi-policy-administration.aoyagi-p15 h3,
#aoyagi-policy-welfare.aoyagi-p15 h3 {
  margin: 0;
  padding: 0;
  color: var(--p15-navy);
  border: 0;
  background: none;
  font-weight: 750;
  line-height: 1.45;
  box-shadow: none;
}
#aoyagi-policy-administration.aoyagi-p15 h2::before,
#aoyagi-policy-administration.aoyagi-p15 h2::after,
#aoyagi-policy-administration.aoyagi-p15 h3::before,
#aoyagi-policy-administration.aoyagi-p15 h3::after,
#aoyagi-policy-welfare.aoyagi-p15 h2::before,
#aoyagi-policy-welfare.aoyagi-p15 h2::after,
#aoyagi-policy-welfare.aoyagi-p15 h3::before,
#aoyagi-policy-welfare.aoyagi-p15 h3::after {
  content: none !important;
  display: none !important;
}
#aoyagi-policy-administration.aoyagi-p15 p,
#aoyagi-policy-welfare.aoyagi-p15 p {margin: 0 0 1em; color: inherit;}
#aoyagi-policy-administration.aoyagi-p15 a,
#aoyagi-policy-welfare.aoyagi-p15 a {text-decoration: none;}
#aoyagi-policy-administration.aoyagi-p15 a:focus-visible,
#aoyagi-policy-welfare.aoyagi-p15 a:focus-visible {outline: 3px solid #f39b27; outline-offset: 3px; border-radius: 5px;}
/* Hero: real photo, accessible HTML text overlay. */
#aoyagi-policy-administration .aoyagi-p15__hero,
#aoyagi-policy-welfare .aoyagi-p15__hero {
  isolation: isolate;
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  min-height: 405px;
  display: flex;
  align-items: center;
  padding: clamp(28px, 4.5vw, 58px);
  margin: 0 0 16px;
  background: #eaf2f8;
}
#aoyagi-policy-administration .aoyagi-p15__hero::before,
#aoyagi-policy-welfare .aoyagi-p15__hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.94) 35%, rgba(255,255,255,.32) 68%, transparent 100%);
}
#aoyagi-policy-administration .aoyagi-p15__hero-photo,
#aoyagi-policy-welfare .aoyagi-p15__hero-photo {position: absolute; inset: 0; z-index: -2; display:block;}
#aoyagi-policy-administration .aoyagi-p15__hero-photo img,
#aoyagi-policy-welfare .aoyagi-p15__hero-photo img {display: block; width: 100%; height: 100%; object-fit: cover; object-position: center;}
#aoyagi-policy-administration .aoyagi-p15__hero-copy,
#aoyagi-policy-welfare .aoyagi-p15__hero-copy {max-width: 600px; position: relative; z-index: 1;}
#aoyagi-policy-administration .aoyagi-p15__kicker,
#aoyagi-policy-welfare .aoyagi-p15__kicker {display: block; font-size: 11px; letter-spacing: .18em; color: var(--p15-accent); font-weight: 800; margin-bottom: 9px;}
#aoyagi-policy-administration .aoyagi-p15__hero h2,
#aoyagi-policy-welfare .aoyagi-p15__hero h2 {font-size: clamp(33px, 4.6vw, 58px); letter-spacing: .055em; margin-bottom: 15px;}
#aoyagi-policy-administration .aoyagi-p15__hero-headline,
#aoyagi-policy-welfare .aoyagi-p15__hero-headline {font-size: clamp(20px, 2.2vw, 28px); line-height: 1.55; font-weight: 750; max-width: 17em; margin-bottom: 15px;}
#aoyagi-policy-administration .aoyagi-p15__hero-lead,
#aoyagi-policy-welfare .aoyagi-p15__hero-lead {font-size: 15px; line-height: 1.8; max-width: 36em;}
/* Anchor navigation */
#aoyagi-policy-administration .aoyagi-p15__anchor-nav,
#aoyagi-policy-welfare .aoyagi-p15__anchor-nav {display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; margin: 0 0 34px;}
#aoyagi-policy-administration .aoyagi-p15__anchor-nav a,
#aoyagi-policy-welfare .aoyagi-p15__anchor-nav a {display: flex; align-items: center; justify-content: center; text-align: center; min-height: 51px; background: #f5f9fd; border: 1px solid var(--p15-border); border-radius: 9px; color: var(--p15-navy); font-size: 13px; font-weight: 700; padding: 8px; transition: background-color .18s ease, border-color .18s ease;}
#aoyagi-policy-administration .aoyagi-p15__anchor-nav a:hover,
#aoyagi-policy-welfare .aoyagi-p15__anchor-nav a:hover {background: var(--p15-light); border-color: var(--p15-accent);}
/* Reading layout is one SWELL column with internal notes rail on desktop. */
#aoyagi-policy-administration .aoyagi-p15__layout,
#aoyagi-policy-welfare .aoyagi-p15__layout {display:grid; grid-template-columns:minmax(0,2.65fr) minmax(230px,1fr); gap:clamp(18px,2.5vw,28px); align-items:start;}
#aoyagi-policy-administration .aoyagi-p15__main,
#aoyagi-policy-welfare .aoyagi-p15__main {min-width:0;}
#aoyagi-policy-administration .aoyagi-p15__section,
#aoyagi-policy-welfare .aoyagi-p15__section {margin:0 0 39px; scroll-margin-top: 130px;}
#aoyagi-policy-administration .aoyagi-p15__section-label,
#aoyagi-policy-welfare .aoyagi-p15__section-label {font-size:10px; letter-spacing:.17em; color:var(--p15-accent); font-weight:800; margin-bottom:5px;}
#aoyagi-policy-administration .aoyagi-p15__section h2,
#aoyagi-policy-welfare .aoyagi-p15__section h2 {font-size:clamp(22px,2.25vw,28px); border-bottom: 2px solid var(--p15-border); padding-bottom: 10px; margin-bottom:16px;}
#aoyagi-policy-administration .aoyagi-p15__section-intro,
#aoyagi-policy-welfare .aoyagi-p15__section-intro {font-size:15px; color:var(--p15-muted); margin: 0 0 18px;}
#aoyagi-policy-administration .aoyagi-p15__about,
#aoyagi-policy-welfare .aoyagi-p15__about {display:grid; grid-template-columns:1.3fr .7fr; gap:14px;}
#aoyagi-policy-administration .aoyagi-p15__about-lead,
#aoyagi-policy-welfare .aoyagi-p15__about-lead {padding:24px; background:#f2f8fc; border:1px solid var(--p15-border); border-radius:12px;}
#aoyagi-policy-administration .aoyagi-p15__about .aoyagi-p15__large,
#aoyagi-policy-welfare .aoyagi-p15__about .aoyagi-p15__large {font-size:clamp(19px,2.1vw,23px); font-weight:750; line-height:1.65;}
#aoyagi-policy-administration .aoyagi-p15__about-lead p:not(.aoyagi-p15__large),
#aoyagi-policy-welfare .aoyagi-p15__about-lead p:not(.aoyagi-p15__large) {font-size:15px; line-height:1.85;}
#aoyagi-policy-administration .aoyagi-p15__statement,
#aoyagi-policy-welfare .aoyagi-p15__statement {background:var(--p15-light); border:1px solid var(--p15-border); padding:24px; border-radius:12px; display:flex; flex-direction:column; justify-content:center;}
#aoyagi-policy-administration .aoyagi-p15__statement span,
#aoyagi-policy-welfare .aoyagi-p15__statement span {font-size:12px; color:var(--p15-accent); font-weight:700;}
#aoyagi-policy-administration .aoyagi-p15__statement p,
#aoyagi-policy-welfare .aoyagi-p15__statement p {font-size:clamp(19px,2.1vw,24px); font-weight:750; margin:10px 0 0; line-height:1.65;}
/* Issues and links */
#aoyagi-policy-administration .aoyagi-p15__issues,
#aoyagi-policy-welfare .aoyagi-p15__issues {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;}
#aoyagi-policy-administration .aoyagi-p15__issue,
#aoyagi-policy-welfare .aoyagi-p15__issue {background:#fff; border:1px solid var(--p15-border); border-radius:12px; padding:20px; min-height:192px;}
#aoyagi-policy-administration .aoyagi-p15__issue-num,
#aoyagi-policy-welfare .aoyagi-p15__issue-num {display:inline-flex; align-items:center; justify-content:center; background:var(--p15-light); color:var(--p15-accent); border-radius:50%; width:36px; height:36px; font-size:13px; font-weight:800; margin-bottom:12px;}
#aoyagi-policy-administration .aoyagi-p15__issue h3,
#aoyagi-policy-welfare .aoyagi-p15__issue h3 {font-size:18px; margin-bottom:9px;}
#aoyagi-policy-administration .aoyagi-p15__issue p,
#aoyagi-policy-welfare .aoyagi-p15__issue p {font-size:14px; color:var(--p15-muted); margin:0; line-height:1.75;}
#aoyagi-policy-administration .aoyagi-p15__stages,
#aoyagi-policy-welfare .aoyagi-p15__stages {list-style:none!important; padding:0!important; margin:0!important; counter-reset:none; display:grid; gap:9px;}
#aoyagi-policy-administration .aoyagi-p15__stage,
#aoyagi-policy-welfare .aoyagi-p15__stage {margin:0!important; border:1px solid var(--p15-border); border-left:4px solid var(--p15-accent); border-radius:9px; padding:14px 18px; background:#fff;}
#aoyagi-policy-administration .aoyagi-p15__stage-label,
#aoyagi-policy-welfare .aoyagi-p15__stage-label {display:block; font-size:12px; color:var(--p15-accent); font-weight:800;}
#aoyagi-policy-administration .aoyagi-p15__stage strong,
#aoyagi-policy-welfare .aoyagi-p15__stage strong {display:block; font-size:17px; line-height:1.5; margin:3px 0 5px;}
#aoyagi-policy-administration .aoyagi-p15__stage p,
#aoyagi-policy-welfare .aoyagi-p15__stage p {font-size:14px; color:var(--p15-muted); margin:0;}
#aoyagi-policy-administration .aoyagi-p15__stage a,
#aoyagi-policy-welfare .aoyagi-p15__stage a {display:inline-block; min-height:44px; padding:10px 0; color:var(--p15-accent); font-weight:700; font-size:14px;}
#aoyagi-policy-administration .aoyagi-p15__articles,
#aoyagi-policy-welfare .aoyagi-p15__articles {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;}
#aoyagi-policy-administration .aoyagi-p15__article,
#aoyagi-policy-welfare .aoyagi-p15__article {display:flex; flex-direction:column; align-items:flex-start; gap:9px; border:1px solid var(--p15-border); border-radius:10px; padding:19px 17px; color:var(--p15-navy); background:#fff; min-height:185px; transition:box-shadow .18s ease, transform .18s ease;}
#aoyagi-policy-administration .aoyagi-p15__article:hover,
#aoyagi-policy-welfare .aoyagi-p15__article:hover {box-shadow:0 9px 20px rgba(11,47,95,.08); transform:translateY(-2px);}
#aoyagi-policy-administration .aoyagi-p15__article-type,
#aoyagi-policy-welfare .aoyagi-p15__article-type {font-size:11px; color:var(--p15-accent); font-weight:700;}
#aoyagi-policy-administration .aoyagi-p15__article strong,
#aoyagi-policy-welfare .aoyagi-p15__article strong {font-size:17px; line-height:1.5; color:var(--p15-navy);}
#aoyagi-policy-administration .aoyagi-p15__article > span:not(.aoyagi-p15__article-type):not(.aoyagi-p15__more),
#aoyagi-policy-welfare .aoyagi-p15__article > span:not(.aoyagi-p15__article-type):not(.aoyagi-p15__more) {font-size:13px; color:var(--p15-muted); line-height:1.65;}
#aoyagi-policy-administration .aoyagi-p15__more,
#aoyagi-policy-welfare .aoyagi-p15__more {font-size:12px; color:var(--p15-accent); font-weight:800; margin-top:auto;}
/* Side column is an in-page supplemental column, not a WordPress sidebar. */
#aoyagi-policy-administration .aoyagi-p15__side,
#aoyagi-policy-welfare .aoyagi-p15__side {display:grid; gap:12px;}
#aoyagi-policy-administration .aoyagi-p15__side-block,
#aoyagi-policy-welfare .aoyagi-p15__side-block {padding:20px 16px; background:#f1f8fd; border-radius:10px; border:1px solid #e4edf5;}
#aoyagi-policy-welfare .aoyagi-p15__side-block {background:#f7f2fb;}
#aoyagi-policy-administration .aoyagi-p15__side-block h2,
#aoyagi-policy-welfare .aoyagi-p15__side-block h2 {font-size:18px; margin-bottom:13px;}
#aoyagi-policy-administration .aoyagi-p15__side-block p,
#aoyagi-policy-welfare .aoyagi-p15__side-block p {font-size:13px; line-height:1.8;}
#aoyagi-policy-administration .aoyagi-p15__side-lead,
#aoyagi-policy-welfare .aoyagi-p15__side-lead {font-size:17px!important; font-weight:750;}
#aoyagi-policy-administration .aoyagi-p15__side-block ul,
#aoyagi-policy-welfare .aoyagi-p15__side-block ul {margin:8px 0 0; padding-left:1.4em; font-size:13px;}
#aoyagi-policy-administration .aoyagi-p15__side .aoyagi-p15__article,
#aoyagi-policy-welfare .aoyagi-p15__side .aoyagi-p15__article {min-height:0; padding:14px 11px; gap:6px;}
#aoyagi-policy-administration .aoyagi-p15__side .aoyagi-p15__article strong,
#aoyagi-policy-welfare .aoyagi-p15__side .aoyagi-p15__article strong {font-size:14px;}
#aoyagi-policy-administration .aoyagi-p15__side-block--next a,
#aoyagi-policy-welfare .aoyagi-p15__side-block--next a {display:flex; align-items:center; justify-content:space-between; min-height:46px; padding:8px 10px; margin:5px 0; border-radius:7px; background:#fff; color:var(--p15-navy); font-size:13px; font-weight:700;}
#aoyagi-policy-administration .aoyagi-p15__city,
#aoyagi-policy-welfare .aoyagi-p15__city {background:#f5f9fd; padding:24px; border:1px solid var(--p15-border); border-radius:12px;}
#aoyagi-policy-administration .aoyagi-p15__city p,
#aoyagi-policy-welfare .aoyagi-p15__city p {font-size:15px;}
#aoyagi-policy-administration .aoyagi-p15__button,
#aoyagi-policy-welfare .aoyagi-p15__button {display:inline-flex; align-items:center; justify-content:center; gap:14px; background:#0b397a; color:#fff; min-height:48px; min-width:230px; max-width:100%; padding:11px 24px; text-align:center; font-size:14px; font-weight:750; border-radius:7px; border:1px solid #0b397a;}
#aoyagi-policy-administration .aoyagi-p15__button:hover,
#aoyagi-policy-welfare .aoyagi-p15__button:hover {background:#092d62; color:#fff;}
#aoyagi-policy-administration .aoyagi-p15__button--outline,
#aoyagi-policy-welfare .aoyagi-p15__button--outline {color: #0b397a; background: #fff;}
#aoyagi-policy-administration .aoyagi-p15__button--outline:hover,
#aoyagi-policy-welfare .aoyagi-p15__button--outline:hover {color:#fff;}
#aoyagi-policy-administration .aoyagi-p15__cta,
#aoyagi-policy-welfare .aoyagi-p15__cta {scroll-margin-top:130px; background:linear-gradient(115deg,#0c3974,#18589a); color:#fff; padding:35px 25px; margin:24px 0 0; border-radius:12px; text-align:center;}
#aoyagi-policy-welfare .aoyagi-p15__cta {background:linear-gradient(115deg,#4c3671,#845aaa);}
#aoyagi-policy-administration .aoyagi-p15__cta > span,
#aoyagi-policy-welfare .aoyagi-p15__cta > span {font-size:11px; letter-spacing:.15em; opacity:.85;}
#aoyagi-policy-administration .aoyagi-p15__cta h2,
#aoyagi-policy-welfare .aoyagi-p15__cta h2 {font-size:clamp(24px,3.2vw,37px); color:#fff; margin:5px 0 8px;}
#aoyagi-policy-administration .aoyagi-p15__cta p,
#aoyagi-policy-welfare .aoyagi-p15__cta p {color:#fff; font-size:15px; max-width:48em; margin:0 auto 20px;}
#aoyagi-policy-administration .aoyagi-p15__cta .aoyagi-p15__button,
#aoyagi-policy-welfare .aoyagi-p15__cta .aoyagi-p15__button {color:#0b397a; background:#fff; border-color:#fff;}
@media (max-width: 980px) {
  #aoyagi-policy-administration .aoyagi-p15__anchor-nav,
  #aoyagi-policy-welfare .aoyagi-p15__anchor-nav {grid-template-columns:repeat(3,minmax(0,1fr));}
  #aoyagi-policy-administration .aoyagi-p15__layout,
  #aoyagi-policy-welfare .aoyagi-p15__layout {grid-template-columns: minmax(0,1fr);}
  #aoyagi-policy-administration .aoyagi-p15__side,
  #aoyagi-policy-welfare .aoyagi-p15__side {grid-template-columns: repeat(2,minmax(0,1fr));}
  #aoyagi-policy-administration .aoyagi-p15__side-block--next,
  #aoyagi-policy-welfare .aoyagi-p15__side-block--next {grid-column: 1 / -1;}
}
@media (max-width: 767px) {
  #aoyagi-policy-administration.aoyagi-p15,
  #aoyagi-policy-welfare.aoyagi-p15 {font-size:16px; line-height:1.85;}
  #aoyagi-policy-administration .aoyagi-p15__hero,
  #aoyagi-policy-welfare .aoyagi-p15__hero {min-height:485px; align-items:flex-end; padding:24px 20px; border-radius:10px;}
  #aoyagi-policy-administration .aoyagi-p15__hero::before,
  #aoyagi-policy-welfare .aoyagi-p15__hero::before {background:linear-gradient(0deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.91) 47%,rgba(255,255,255,.08) 94%);}
  #aoyagi-policy-administration .aoyagi-p15__hero-photo img,
  #aoyagi-policy-welfare .aoyagi-p15__hero-photo img {object-position:50% 24%;}
  #aoyagi-policy-administration .aoyagi-p15__hero h2,
  #aoyagi-policy-welfare .aoyagi-p15__hero h2 {font-size:36px; margin-bottom:8px;}
  #aoyagi-policy-administration .aoyagi-p15__hero-headline,
  #aoyagi-policy-welfare .aoyagi-p15__hero-headline {font-size:21px; margin-bottom:7px;}
  #aoyagi-policy-administration .aoyagi-p15__hero-lead,
  #aoyagi-policy-welfare .aoyagi-p15__hero-lead {font-size:14px; margin-bottom:0;}
  #aoyagi-policy-administration .aoyagi-p15__anchor-nav,
  #aoyagi-policy-welfare .aoyagi-p15__anchor-nav {grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-bottom:25px;}
  #aoyagi-policy-administration .aoyagi-p15__anchor-nav a,
  #aoyagi-policy-welfare .aoyagi-p15__anchor-nav a {font-size:12px; min-height:48px;}
  #aoyagi-policy-administration .aoyagi-p15__about,
  #aoyagi-policy-welfare .aoyagi-p15__about,
  #aoyagi-policy-administration .aoyagi-p15__issues,
  #aoyagi-policy-welfare .aoyagi-p15__issues,
  #aoyagi-policy-administration .aoyagi-p15__articles,
  #aoyagi-policy-welfare .aoyagi-p15__articles,
  #aoyagi-policy-administration .aoyagi-p15__side,
  #aoyagi-policy-welfare .aoyagi-p15__side {grid-template-columns:minmax(0,1fr);}
  #aoyagi-policy-administration .aoyagi-p15__about-lead,
  #aoyagi-policy-welfare .aoyagi-p15__about-lead,
  #aoyagi-policy-administration .aoyagi-p15__statement,
  #aoyagi-policy-welfare .aoyagi-p15__statement {padding:18px;}
  #aoyagi-policy-administration .aoyagi-p15__section,
  #aoyagi-policy-welfare .aoyagi-p15__section {margin-bottom:30px;}
  #aoyagi-policy-administration .aoyagi-p15__issue,
  #aoyagi-policy-welfare .aoyagi-p15__issue {min-height:auto;}
  #aoyagi-policy-administration .aoyagi-p15__article,
  #aoyagi-policy-welfare .aoyagi-p15__article {min-height:145px;}
  #aoyagi-policy-administration .aoyagi-p15__cta,
  #aoyagi-policy-welfare .aoyagi-p15__cta {padding:27px 17px;}
}
@media (prefers-reduced-motion: reduce) {
  #aoyagi-policy-administration .aoyagi-p15__article,
  #aoyagi-policy-welfare .aoyagi-p15__article,
  #aoyagi-policy-administration .aoyagi-p15__anchor-nav a,
  #aoyagi-policy-welfare .aoyagi-p15__anchor-nav a {transition:none!important; transform:none!important;}
}
/* AOYAGI_STAGE15_END */

/* AOYAGI_STAGE17_START | 工程14共通型を再利用 | 2026-10-22 */
#aoyagi-policy-traditional-culture .aoyagi-policy-hub__cta .aoyagi-next__title,
#aoyagi-policy-council-reform .aoyagi-policy-hub__cta .aoyagi-next__title { background:none; border:0; padding:0; box-shadow:none; }
#aoyagi-policy-traditional-culture .aoyagi-policy-hub__cta .aoyagi-next__title::before,
#aoyagi-policy-traditional-culture .aoyagi-policy-hub__cta .aoyagi-next__title::after,
#aoyagi-policy-council-reform .aoyagi-policy-hub__cta .aoyagi-next__title::before,
#aoyagi-policy-council-reform .aoyagi-policy-hub__cta .aoyagi-next__title::after { content:none; display:none; }
#aoyagi-policy-council-reform .aoyagi-policy-hub__articles > .aoyagi-policy-hub__cta-note { grid-column:1 / -1; margin:0; }
/* AOYAGI_STAGE17_END */
