@charset "UTF-8";
/*
 * 青柳あつし Official Site | 工程04 共通CSS（新規設計）
 * v0.3.1 | 2026-10-22 | renew導入用・検証結果は実施報告を参照
 * 対象：SWELL 子テーマ／共通の .aoyagi-page 内だけに作用
 * 旧 AOYAGI_RENEWAL_MASTER の内容をコピー・継承しない。
 * 注：サイト幅1200px／本文幅800px／本文PC17px・SP16pxはSWELL側の設定を維持。
 * 確定UIの専用レイアウトは各ページ工程で実装する。
 */

/* 1. デザイントークン。原則として正式アイコンの色を再着色しない。 */
.aoyagi-page {
  --aoyagi-navy: #07356d;
  --aoyagi-navy-deep: #092b58;
  --aoyagi-blue: #087ccd;
  --aoyagi-text: #263c55;
  --aoyagi-muted: #556b80;
  --aoyagi-line: #dbe8f4;
  --aoyagi-pale: #eff8fd;
  --aoyagi-pale-strong: #e7f4fc;
  --aoyagi-white: #fff;
  --aoyagi-focus: #b95100;
  --aoyagi-width-wide: 1200px;
  --aoyagi-width-reading: 800px;
  --aoyagi-radius-sm: 8px;
  --aoyagi-radius-md: 12px;
  --aoyagi-radius-lg: 16px;
  --aoyagi-shadow: 0 3px 16px rgb(7 53 109 / 7%);
  --aoyagi-s-1: 8px;
  --aoyagi-s-2: 12px;
  --aoyagi-s-3: 16px;
  --aoyagi-s-4: 24px;
  --aoyagi-s-5: 32px;
  --aoyagi-s-6: 48px;
  --aoyagi-s-7: 64px;
  --aoyagi-s-8: 80px;
  --aoyagi-font-serif: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  color: var(--aoyagi-text);
  overflow-wrap: anywhere;
}

.aoyagi-page,
.aoyagi-page *,
.aoyagi-page *::before,
.aoyagi-page *::after {
  box-sizing: border-box;
}

/* 2. コンテンツ幅。SWELLの本文800px制限自体は上書きしない。
   1200pxの一覧は後工程で該当ページだけSWELLの枠を調整する。 */
.aoyagi-page .aoyagi-container {
  width: min(calc(100% - 32px), var(--aoyagi-width-wide));
  margin-inline: auto;
}

.aoyagi-page .aoyagi-reading {
  width: 100%;
  max-width: var(--aoyagi-width-reading);
  margin-inline: auto;
}

/* 3. 余白・見出し・読み物。 */
.aoyagi-page .aoyagi-section {
  margin-block: clamp(48px, 6vw, 80px);
}

.aoyagi-page .aoyagi-section--compact {
  margin-block: clamp(32px, 4vw, 48px);
}

.aoyagi-page .aoyagi-section__heading {
  margin: 0 0 var(--aoyagi-s-4);
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: var(--aoyagi-navy);
  font-family: var(--aoyagi-font-serif);
  font-size: clamp(1.45rem, 1.2rem + 1.2vw, 2rem);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .015em;
}

.aoyagi-page .aoyagi-section__heading::before,
.aoyagi-page .aoyagi-section__heading::after {
  display: none;
  content: none;
}

.aoyagi-page .aoyagi-section__intro,
.aoyagi-page .aoyagi-lead {
  max-width: 70ch;
  margin: 0 0 var(--aoyagi-s-5);
  color: var(--aoyagi-text);
  line-height: 1.85;
}

.aoyagi-page .aoyagi-eyebrow {
  display: block;
  margin-bottom: var(--aoyagi-s-2);
  color: var(--aoyagi-blue);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .09em;
  line-height: 1.5;
}

.aoyagi-page .aoyagi-surface {
  padding: clamp(20px, 3vw, 36px);
  border: 1px solid var(--aoyagi-line);
  border-radius: var(--aoyagi-radius-lg);
  background: var(--aoyagi-pale);
}

/* 4. 読み手に次の行動が分かるボタン。SWELL標準ボタンは変更しない。 */
.aoyagi-page .aoyagi-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 11px 22px;
  border: 1px solid var(--aoyagi-navy);
  border-radius: var(--aoyagi-radius-sm);
  background: var(--aoyagi-navy);
  color: var(--aoyagi-white);
  font: inherit;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.aoyagi-page .aoyagi-button:hover {
  border-color: var(--aoyagi-navy-deep);
  background: var(--aoyagi-navy-deep);
  color: var(--aoyagi-white);
}

.aoyagi-page .aoyagi-button--outline {
  background: var(--aoyagi-white);
  color: var(--aoyagi-navy);
}

.aoyagi-page .aoyagi-button--outline:hover {
  background: var(--aoyagi-pale);
  color: var(--aoyagi-navy-deep);
}

.aoyagi-page .aoyagi-button--wide {
  width: 100%;
}

/* 5. 選ぶための一覧：読むページに自動的な多段組を適用しない。 */
.aoyagi-page .aoyagi-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 24px);
}

.aoyagi-page .aoyagi-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aoyagi-page .aoyagi-grid--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* 6. カード。画像比率16:9はデフォルト。各確定UIの比率が優先。 */
.aoyagi-page .aoyagi-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--aoyagi-line);
  border-radius: var(--aoyagi-radius-md);
  background: var(--aoyagi-white);
  box-shadow: var(--aoyagi-shadow);
}

.aoyagi-page .aoyagi-card__media {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--aoyagi-pale-strong);
}

.aoyagi-page .aoyagi-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aoyagi-page .aoyagi-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--aoyagi-s-2);
  min-width: 0;
  padding: clamp(16px, 2vw, 24px);
}

.aoyagi-page .aoyagi-card__title {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: var(--aoyagi-navy);
  font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem);
  font-weight: 700;
  line-height: 1.55;
}

.aoyagi-page .aoyagi-card__text {
  margin: 0;
  color: var(--aoyagi-text);
  line-height: 1.8;
}

.aoyagi-page .aoyagi-card__more {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  align-self: flex-start;
  margin-top: auto;
  color: var(--aoyagi-navy);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: .2em;
}

/* 7. 関連導線。記事本文の最後に一段落で次へ進める。 */
.aoyagi-page .aoyagi-next {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  padding: clamp(20px, 3vw, 32px);
  border-radius: var(--aoyagi-radius-lg);
  background: var(--aoyagi-pale);
}

.aoyagi-page .aoyagi-next__text {
  flex: 1 1 300px;
  min-width: 0;
}

.aoyagi-page .aoyagi-next__title {
  margin: 0 0 var(--aoyagi-s-2);
  padding: 0;
  color: var(--aoyagi-navy);
  font-size: 1.25rem;
  line-height: 1.5;
}

.aoyagi-page .aoyagi-next__body {
  margin: 0;
  line-height: 1.8;
}

/* 8. アクセシビリティ。背景と文字の区別に色以外も使う。 */
.aoyagi-page :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--aoyagi-focus);
  outline-offset: 3px;
}

.aoyagi-page .aoyagi-card:focus-within {
  border-color: var(--aoyagi-navy);
}

.aoyagi-page .aoyagi-sr-only {
  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;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 767px) {
  .aoyagi-page .aoyagi-section {
    margin-block: 48px;
  }

  .aoyagi-page .aoyagi-grid,
  .aoyagi-page .aoyagi-grid--three,
  .aoyagi-page .aoyagi-grid--four {
    grid-template-columns: minmax(0, 1fr);
  }

  /* 2列は確定UIで許可された一覧だけに明示する。 */
  .aoyagi-page .aoyagi-grid--mobile-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .aoyagi-page .aoyagi-grid--mobile-two .aoyagi-card__body {
    padding: 12px;
  }

  .aoyagi-page .aoyagi-grid--mobile-two .aoyagi-card__title {
    font-size: 1rem;
  }

  .aoyagi-page .aoyagi-next {
    align-items: stretch;
  }
}

@media (hover: none) {
  .aoyagi-page .aoyagi-button:hover {
    border-color: var(--aoyagi-navy);
    background: var(--aoyagi-navy);
  }

  .aoyagi-page .aoyagi-button--outline:hover {
    background: var(--aoyagi-white);
  }
}

@media (prefers-reduced-motion: reduce) {
  .aoyagi-page .aoyagi-button {
    transition: none;
  }
}


/* 9. 共通の補助部品。すべて新サイト専用ラッパー内に限定。 */
.aoyagi-page .aoyagi-section__subheading {
  margin: 0 0 var(--aoyagi-s-3);
  color: var(--aoyagi-navy);
  font-size: clamp(1.15rem, 1.05rem + .4vw, 1.5rem);
  font-weight: 700;
  line-height: 1.55;
}
.aoyagi-page .aoyagi-section__subheading::before,
.aoyagi-page .aoyagi-section__subheading::after { content: none; display: none; }
.aoyagi-page .aoyagi-stack > * + * { margin-block-start: var(--aoyagi-s-4); }
.aoyagi-page .aoyagi-stack--tight > * + * { margin-block-start: var(--aoyagi-s-2); }
.aoyagi-page .aoyagi-muted { color: var(--aoyagi-muted); }
.aoyagi-page .aoyagi-meta {
  display: flex; flex-wrap: wrap; gap: 8px 14px;
  color: var(--aoyagi-muted); font-size: .875rem; line-height: 1.6;
}
.aoyagi-page .aoyagi-pill {
  display: inline-flex; align-items: center; min-height: 28px;
  padding: 3px 10px; border: 1px solid var(--aoyagi-line);
  border-radius: 999px; background: var(--aoyagi-pale);
  color: var(--aoyagi-navy); font-size: .8125rem; font-weight: 700; line-height: 1.45;
}
.aoyagi-page .aoyagi-media { overflow: hidden; border-radius: var(--aoyagi-radius-md); }
.aoyagi-page .aoyagi-media img { display: block; max-width: 100%; height: auto; }
.aoyagi-page .aoyagi-link-arrow {
  display: inline-flex; align-items: center; gap: 8px;
  min-height: 44px; color: var(--aoyagi-navy); font-weight: 700;
  text-decoration: underline; text-underline-offset: .2em;
}
.aoyagi-page .aoyagi-link-arrow::after { content: "→"; display: inline-block; }
.aoyagi-page .aoyagi-divider {
  border: 0; border-top: 1px solid var(--aoyagi-line); margin-block: var(--aoyagi-s-5);
}
.aoyagi-page .aoyagi-card__media--portrait { aspect-ratio: 4 / 5; }
.aoyagi-page .aoyagi-card__media--square { aspect-ratio: 1; }
.aoyagi-page .aoyagi-card__media--wide { aspect-ratio: 2 / 1; }
.aoyagi-page :is(.aoyagi-grid, .aoyagi-card, .aoyagi-section, .aoyagi-next) > * { min-width: 0; }

@media (max-width: 479px) {
  .aoyagi-page .aoyagi-grid--mobile-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aoyagi-page .aoyagi-grid--mobile-two .aoyagi-card__title { font-size: .9375rem; }
}

/* AOYAGI_STAGE05_COMMON_START | v0.4 | 2026-10-22 | 確定UI共通ヘッダー・フッター */
#header,#fix_header {background:#fff;color:#07356d;}
#header .l-header__inner,#fix_header .l-fixHeader__inner {min-height:64px;}
#header .c-headLogo__link,#fix_header .c-headLogo__link {display:inline-flex;align-items:baseline;gap:9px;white-space:nowrap;position:relative;color:#07356d;text-decoration:none;}
#header .c-headLogo__img,#fix_header .c-headLogo__img {position:absolute!important;width:1px!important;height:1px!important;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);}
#header .c-headLogo__link::before,#fix_header .c-headLogo__link::before {content:"青柳あつし";font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:32px;font-weight:700;letter-spacing:.03em;line-height:1.4;}
#header .c-headLogo__link::after,#fix_header .c-headLogo__link::after {content:"Official Site";font-family:Georgia,"Times New Roman",serif;font-size:16px;font-weight:400;}
#header .c-gnav>li>a,#fix_header .c-gnav>li>a {color:#07356d;font-size:12px;font-weight:700;}
#header .c-gnav__s,#fix_header .c-gnav__s {display:flex;align-items:center;padding-inline:10px;}
#header .c-gnav__sBtn,#fix_header .c-gnav__sBtn {width:40px;height:40px;border-radius:50%;background:#07356d;color:white;}
#header :is(a,button):focus-visible,#fix_header :is(a,button):focus-visible,#footer :is(a,button,input):focus-visible,#sp_menu :is(a,button):focus-visible,#aoyagi-common-cta a:focus-visible {outline:3px solid #b95100;outline-offset:3px;}
#footer {background:#0077DB;color:white;}
#footer .l-footer__widgetArea {display:none;}
#footer .l-footer__foot {padding-block:20px;}
#footer .l-footer__foot>.l-container {display:grid;grid-template-columns:220px minmax(0,1fr) auto;gap:5px 20px;align-items:center;}
#footer .l-footer__foot>.l-container::before {content:"青柳 篤始";grid-column:1;grid-row:1;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:28px;letter-spacing:.08em;font-weight:700;line-height:1.4;}
#footer .copyright {grid-column:1;grid-row:2;margin:0;text-align:left;font-size:10px;line-height:1.7;}
#footer .copyright::before {content:"あわら市議会議員";display:block;font-size:11px;margin-bottom:4px;}
#footer .l-footer__nav {grid-column:2;grid-row:1/3;margin:0;gap:4px 13px;justify-content:center;}
#footer .l-footer__nav a {display:inline-flex;align-items:center;min-height:36px;padding:0;border:0;color:white;font-size:11px;}
#footer .l-footer__nav a::before,#footer .l-footer__nav a::after {content:none;}
#footer .c-iconList {grid-column:3;grid-row:1/3;margin:0;gap:3px;}
#footer .c-iconList__link {display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:44px;color:white;font-size:23px;}
#footer .c-iconList__item.-line,#footer .c-iconList__item.-rss {display:none;}
#footer .c-iconList__item.-twitter-x {order:0;}
#footer .c-iconList__item.-facebook {order:1;}
#footer .c-iconList__item.-youtube {order:2;}
#footer .c-iconList__item.-instagram {order:3;}
#sp_menu .c-widget__title.-spmenu {background:#07356d;color:white;border:0;}
#sp_menu .p-spMenu__closeBtn .c-iconBtn {min-width:44px;min-height:44px;color:#07356d;background:white;}
#sp_menu .p-spMenu__inner {background:white;color:#07356d;}
#sp_menu .c-spnav a {display:flex;align-items:center;min-height:48px;color:#07356d;font-size:16px;}
/* 全ページ共通CTA。SWELL「フッター直前」custom_html-7 */
.w-beforeFooter:has(#aoyagi-common-cta) {width:100%;max-width:none;padding:0;margin:0;}
.w-beforeFooter:has(#aoyagi-common-cta)>.l-container {width:100%;max-width:none;padding:0;}
.w-beforeFooter:has(#aoyagi-common-cta) .c-widget {margin:0;}
#aoyagi-common-cta {width:100%;margin:0;padding:26px 24px;min-height:180px;color:#07356d;background:linear-gradient(90deg,rgba(240,249,255,.65),rgba(240,249,255,.78) 48%,rgba(240,249,255,0) 85%),url('https://a-aoyagi.com/wp-content/uploads/2026/10/aoyagi-profile-future-banner-bg.webp') center 60%/cover no-repeat;}
#aoyagi-common-cta .aoyagi-common-cta__inner {max-width:1180px;margin:auto;display:grid;grid-template-columns:minmax(300px,.85fr) minmax(320px,1fr) minmax(80px,.35fr);gap:35px;align-items:center;}
#aoyagi-common-cta h2 {margin:0;padding:0;border:0;background:none;box-shadow:none;color:#07356d;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-style:italic;font-weight:700;font-size:36px;line-height:1.6;letter-spacing:.12em;transform:rotate(-5deg);}
#aoyagi-common-cta h2 span {padding-left:5em;}
#aoyagi-common-cta h2::before,#aoyagi-common-cta h2::after {content:none;display:none;}
#aoyagi-common-cta p {margin:0 0 10px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:14px;font-weight:600;line-height:1.8;}
#aoyagi-common-cta a {display:flex;justify-content:center;align-items:center;gap:30px;min-height:46px;padding:10px 24px;max-width:330px;border-radius:4px;background:#07356d;color:white;text-decoration:none;font-size:14px;font-weight:700;line-height:1.6;}
#aoyagi-common-cta a:hover {background:#10518a;}
/* 同趣旨のページ内汎用CTAは共通バナーへ集約。本文データは保持。 */
body:has(#aoyagi-common-cta) #aoyagi-profile .aoyagi-profile__cta,body:has(#aoyagi-common-cta) #aoyagi-activity-index .act-cta {display:none;}
@media(max-width:1100px) and (min-width:960px) {
#header .c-headLogo__link::before,#fix_header .c-headLogo__link::before {font-size:28px;}
#header .c-headLogo__link::after,#fix_header .c-headLogo__link::after {font-size:13px;}
#header .c-gnav>li>a,#fix_header .c-gnav>li>a {font-size:11px;padding-inline:9px;}
#footer .l-footer__foot>.l-container {grid-template-columns:190px 1fr;}
#footer .c-iconList {grid-column:2;grid-row:2;justify-content:center;}
#footer .l-footer__nav {grid-row:1;}
}
@media(max-width:959px) {
#header .l-header__inner {gap:5px;padding-inline:12px;min-height:60px;}
#header .l-header__logo {min-width:0;flex:1;}
#header .c-headLogo__link {gap:5px;}
#header .c-headLogo__link::before {font-size:25px;letter-spacing:0;}
#header .c-headLogo__link::after {font-size:11px;}
#header .l-header__customBtn,#header .l-header__menuBtn {flex:0 0 40px;background:transparent;color:#07356d;}
#header .c-iconBtn {min-width:40px;min-height:40px;}
#header .l-header__customBtn .c-iconBtn {background:#07356d;color:white;border-radius:50%;}
#header .c-iconBtn__label {display:none;}
#footer .l-footer__foot>.l-container {grid-template-columns:1fr;gap:12px;}
#footer .l-footer__foot>.l-container::before {grid-column:1;grid-row:1;text-align:center;}
#footer .l-footer__nav {grid-column:1;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 16px;}
#footer .l-footer__nav a {font-size:13px;min-height:44px;}
#footer .c-iconList {grid-column:1;grid-row:3;justify-content:center;}
#footer .copyright {grid-column:1;grid-row:4;text-align:center;}
#aoyagi-common-cta {padding:28px 20px;min-height:0;background-position:center,70% center;background-size:auto,cover;}
#aoyagi-common-cta .aoyagi-common-cta__inner {grid-template-columns:1fr;gap:14px;max-width:540px;}
#aoyagi-common-cta h2 {font-size:30px;text-align:center;line-height:1.5;}
#aoyagi-common-cta h2 span {padding-left:3em;}
#aoyagi-common-cta .aoyagi-common-cta__body {padding:14px;background:rgba(255,255,255,.86);border-radius:5px;}
#aoyagi-common-cta p {font-size:14px;text-align:center;}
#aoyagi-common-cta a {max-width:100%;}
}
@media(max-width:360px){#header .c-headLogo__link::before {font-size:22px;}#header .c-headLogo__link::after {font-size:10px;}#header .l-header__inner {padding-inline:8px;}}
@media(min-width:960px){.p-fixBtnWrap {bottom:145px;}}
/* AOYAGI_STAGE05_COMMON_END */

/* AOYAGI_STAGE04_06_COMPAT_START | v0.3.3 | 2026-10-22
 * 新UIのカード見出しに残るSWELL標準の疑似要素装飾だけを解除。
 * 通常本文のh2/h3、親テーマ、既存記事本文には作用させない。
 */
.aoyagi-page .aoyagi-card__title::before,
.aoyagi-page .aoyagi-card__title::after,
.aoyagi-page .aoyagi-next__title::before,
.aoyagi-page .aoyagi-next__title::after {
  content: none;
  display: none;
}
/* AOYAGI_STAGE04_06_COMPAT_END */

/* AOYAGI_STAGE11_START */

/* =======================================================================
 * 工程11｜活動カテゴリー 前半3ページ 共通部品 v1.0 (2026-10-22)
 * 04 base v0.2 の末尾へ追記。追加JS/PHPなし。
 * <div class="aoyagi-page aoyagi-activity11"> 内に限定して適用する。
 * WPカテゴリー標準H1・記事一覧・ページ送りには触れない。
 * ======================================================================= */
.aoyagi-page.aoyagi-activity11 {
  --aoyagi-activity11-accent: #0d3b78;
  --aoyagi-activity11-wash: #eef5fd;
  max-width: 1200px;
  margin-inline: auto;
  padding-bottom: 16px;
  color: var(--aoyagi-text, #263c55);
}
.aoyagi-page.aoyagi-activity11--02 {
  --aoyagi-activity11-accent: #0ea5e9;
  --aoyagi-activity11-wash: #edf8ff;
}
.aoyagi-page.aoyagi-activity11--03 {
  --aoyagi-activity11-accent: #334155;
  --aoyagi-activity11-wash: #f1f5f9;
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__hero {
  position: relative;
  display: grid;
  min-height: clamp(350px, 39vw, 500px);
  align-items: center;
  overflow: hidden;
  border-radius: 14px;
  isolation: isolate;
  background: #15365a;
  color: #fff;
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__hero-media,
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__hero-media img {
  display: block;
  width: 100%;
  height: 100%;
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__hero-media {
  position: absolute;
  inset: 0;
  z-index: -2;
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__hero-media img {
  object-fit: cover;
  object-position: center;
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__hero::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgb(4 23 48 / 86%) 0%, rgb(4 23 48 / 64%) 41%, rgb(4 23 48 / 6%) 100%);
  content: "";
  pointer-events: none;
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__hero-copy {
  width: min(620px, 72%);
  padding: clamp(30px, 5.6vw, 74px);
  text-shadow: 0 1px 12px rgb(0 0 0 / 28%);
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__hero-en {
  display: block;
  margin-bottom: 16px;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .13em;
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__hero-headline {
  max-width: 14em;
  margin: 0 0 16px;
  color: #fff;
  font-family: var(--aoyagi-font-serif, "Yu Mincho", serif);
  font-size: clamp(1.75rem, 2.1vw + 1rem, 2.55rem);
  font-weight: 700;
  line-height: 1.48;
  letter-spacing: .02em;
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__hero-small {
  margin: 0;
  color: #fff;
  font-size: clamp(.875rem, .82rem + .3vw, 1rem);
  line-height: 1.75;
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__intro,
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__categories,
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__feature,
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__entries {
  margin-block: clamp(40px, 5vw, 66px);
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__intro {
  max-width: 850px;
  margin-inline: auto;
  text-align: center;
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__section-top {
  margin-bottom: 18px;
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__section-en {
  display: block;
  margin: 0 0 6px;
  color: var(--aoyagi-activity11-accent);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .13em;
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__section-top h2,
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__feature h2,
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__contact h2 {
  margin: 0;
  padding: 0;
  border: 0;
  box-shadow: none;
  background: none;
  color: var(--aoyagi-navy, #07356d);
  font-family: var(--aoyagi-font-serif, "Yu Mincho", serif);
  font-size: clamp(1.35rem, 1.18rem + .9vw, 1.8rem);
  font-weight: 700;
  line-height: 1.45;
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__section-top h2::before,
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__section-top h2::after,
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__feature h2::before,
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__feature h2::after,
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__contact h2::before,
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__contact h2::after {
  display: none;
  content: none;
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__intro > p {
  max-width: 70ch;
  margin: 0 auto 24px;
  line-height: 1.95;
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__category-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(8px, 1.3vw, 16px);
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__category-link {
  display: flex;
  min-width: 0;
  min-height: 126px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 8px;
  border: 1px solid var(--aoyagi-line, #dbe8f4);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 3px 14px rgb(7 53 109 / 6%);
  color: var(--aoyagi-navy, #07356d);
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  text-decoration: none;
  transition: border-color .18s ease, transform .18s ease;
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__category-link.is-current {
  border: 2px solid var(--aoyagi-activity11-accent);
  background: var(--aoyagi-activity11-wash);
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__category-link img {
  display: block;
  width: 56px;
  height: 56px;
  max-width: 100%;
  object-fit: contain;
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__category-arrow {
  font-size: .95rem;
  line-height: 1;
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__feature {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  padding: clamp(24px, 4vw, 40px);
  border-radius: 16px;
  background: var(--aoyagi-activity11-wash);
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__feature-copy > p {
  max-width: 66ch;
  margin: 16px 0 20px;
  line-height: 1.85;
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__feature-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__feature-links a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 8px;
  color: var(--aoyagi-navy, #07356d);
  font-weight: 700;
  text-underline-offset: .25em;
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__feature-steps {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 20px 14px;
  border: 1px solid #d7e5f2;
  border-radius: 12px;
  background: #fff;
  color: var(--aoyagi-navy, #07356d);
  font-size: .87rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__feature-steps span:nth-child(even) {
  color: #7993ad;
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__contact {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px 32px;
  padding: 24px clamp(22px, 4vw, 40px);
  border: 1px solid #dbe8f4;
  border-radius: 14px;
  background: #fff;
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__contact p {
  margin: 8px 0 0;
  line-height: 1.75;
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__entries {
  margin-bottom: 16px;
  padding-bottom: 20px;
  border-bottom: 2px solid #e5edf7;
}
.aoyagi-page.aoyagi-activity11 .aoyagi-activity11__entries p {
  margin: 0;
  line-height: 1.8;
}
.aoyagi-page.aoyagi-activity11 :is(a, button):focus-visible {
  outline: 3px solid var(--aoyagi-focus, #b95100);
  outline-offset: 3px;
}
@media (hover:hover) {
  .aoyagi-page.aoyagi-activity11 .aoyagi-activity11__category-link:hover {
    border-color: var(--aoyagi-activity11-accent);
    transform: translateY(-2px);
  }
}
@media (max-width: 960px) {
  .aoyagi-page.aoyagi-activity11 .aoyagi-activity11__category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .aoyagi-page.aoyagi-activity11 .aoyagi-activity11__feature {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 767px) {
  .aoyagi-page.aoyagi-activity11 .aoyagi-activity11__hero {
    min-height: 455px;
    align-items: end;
    border-radius: 12px;
  }
  .aoyagi-page.aoyagi-activity11 .aoyagi-activity11__hero::after {
    background: linear-gradient(0deg, rgb(4 23 48 / 91%) 0%, rgb(4 23 48 / 61%) 41%, rgb(4 23 48 / 9%) 100%);
  }
  .aoyagi-page.aoyagi-activity11 .aoyagi-activity11__hero-media img {
    object-position: center top;
  }
  .aoyagi-page.aoyagi-activity11 .aoyagi-activity11__hero-copy {
    width: 100%;
    padding: 24px 20px 30px;
  }
  .aoyagi-page.aoyagi-activity11 .aoyagi-activity11__hero-en {margin-bottom: 8px;}
  .aoyagi-page.aoyagi-activity11 .aoyagi-activity11__hero-headline {
    font-size: clamp(1.5rem, 5.6vw, 1.9rem);
  }
  .aoyagi-page.aoyagi-activity11 .aoyagi-activity11__intro,
  .aoyagi-page.aoyagi-activity11 .aoyagi-activity11__categories,
  .aoyagi-page.aoyagi-activity11 .aoyagi-activity11__feature,
  .aoyagi-page.aoyagi-activity11 .aoyagi-activity11__entries {margin-block: 38px;}
  .aoyagi-page.aoyagi-activity11 .aoyagi-activity11__category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .aoyagi-page.aoyagi-activity11 .aoyagi-activity11__category-link {
    min-height: 112px;
    font-size: .82rem;
    padding: 12px 8px;
  }
  .aoyagi-page.aoyagi-activity11 .aoyagi-activity11__category-link img {
    width: 46px;
    height: 46px;
  }
  .aoyagi-page.aoyagi-activity11 .aoyagi-activity11__feature-steps {padding: 15px 10px; font-size: .8rem;}
  .aoyagi-page.aoyagi-activity11 .aoyagi-activity11__contact {display:block;}
  .aoyagi-page.aoyagi-activity11 .aoyagi-activity11__contact .aoyagi-button {
    width: 100%;
    margin-top: 18px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .aoyagi-page.aoyagi-activity11 .aoyagi-activity11__category-link {transition: none;}
}

/* 工程11：SWELL一カラム時の幅を対象3カテゴリーに限定して調整 */
#body_wrap:is(.category-97,.category-1964,.category-162) #main_content { max-width: 1200px; }

/* AOYAGI_STAGE11_END */

/* AOYAGI_ACTIVITY_ARCHIVE_04_06_START */
#body_wrap:is(.category-inspection,.category-community,.category-thoughts):has(.aoyagi-activity11) #main_content {max-width:1200px;}
#body_wrap:is(.category-inspection,.category-community,.category-thoughts):has(.aoyagi-activity11) .p-termHead__desc,#body_wrap:is(.category-inspection,.category-community,.category-thoughts):has(.aoyagi-activity11) .c-pageTitle__subTitle {display:none;}
#body_wrap:is(.category-inspection,.category-community,.category-thoughts):has(.aoyagi-activity11) .p-termHead {margin-bottom:20px;}
#body_wrap:is(.category-inspection,.category-community,.category-thoughts):has(.aoyagi-activity11) #content {padding-top:20px;}
#body_wrap:is(.category-inspection,.category-community,.category-thoughts):has(.aoyagi-activity11) .c-pageTitle {font-family:var(--aoyagi-font-serif);font-size:30px;}
/* AOYAGI_ACTIVITY_ARCHIVE_04_06_END */
