@charset "UTF-8";
/*
 * 青柳あつし Official Site / 工程10「意見交換会・講演案内」専用CSS v1.1
 * 2026-10-22 / renew実装版（検証結果は報告書参照）
 * 子テーマ: wp-content/themes/swell_child/assets/css/aoyagi/aoyagi-talk.css
 * 適用範囲: .aoyagi-page--talk の内側のみ（例外:当ページのSWELLタイトル非表示）
 * ベース共通CSS v0.2のトークンを使いつつ、未導入時にも見た目を成立させる。
 */
.aoyagi-page.aoyagi-page--talk {
  --aoyagi-navy: #07356d;
  --aoyagi-navy-deep: #092b58;
  --aoyagi-blue: #087ccd;
  --aoyagi-text: #263c55;
  --aoyagi-muted: #556b80;
  --aoyagi-line: #dbe8f4;
  --aoyagi-pale: #eff8fd;
  --aoyagi-white: #fff;
  --aoyagi-focus: #b95100;
  --aoyagi-radius-md: 12px;
  --aoyagi-radius-lg: 16px;
  --aoyagi-font-serif: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  position: relative;
  left: 50%;
  width: min(1200px, calc(100vw - 32px));
  max-width: none;
  margin: 0 0 72px;
  transform: translateX(-50%);
  color: var(--aoyagi-text);
  font-size: 17px;
  line-height: 1.85;
  overflow-wrap: anywhere;
}
.aoyagi-page--talk,
.aoyagi-page--talk *,
.aoyagi-page--talk *::before,
.aoyagi-page--talk *::after { box-sizing: border-box; }
.aoyagi-page--talk h1,
.aoyagi-page--talk h2,
.aoyagi-page--talk h3 {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: var(--aoyagi-navy);
  font-family: inherit;
  letter-spacing: .01em;
  line-height: 1.5;
}
.aoyagi-page--talk h1::before,
.aoyagi-page--talk h1::after,
.aoyagi-page--talk h2::before,
.aoyagi-page--talk h2::after,
.aoyagi-page--talk h3::before,
.aoyagi-page--talk h3::after { content: none; display: none; }
.aoyagi-page--talk p,
.aoyagi-page--talk ul,
.aoyagi-page--talk ol { margin: 0; }
.aoyagi-page--talk :is(a, summary):focus-visible {
  outline: 3px solid var(--aoyagi-focus);
  outline-offset: 4px;
}
/* 既存のページタイトルと本文H1を重複表示しない。対応ブラウザのみ。
   実機で二重に見える場合はSWELL側の当該固定ページタイトル表示設定を確認。 */
/* SWELLのH1を保持し、本文のHERO見出しはH2とする。 */
.page-id-3649 .c-pageTitle { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.page-id-3649 #content { padding-top:0; }
.page-id-3649 .post_content { margin-top:0; }

/* 共通部品 */
.aoyagi-page--talk .aoyagi-section,
.aoyagi-page--talk .aoyagi-talk-section { margin-block: clamp(44px, 5.5vw, 76px); }
.aoyagi-page--talk .aoyagi-section--compact { margin-block: clamp(32px, 4vw, 48px); }
.aoyagi-page--talk .aoyagi-talk-eyebrow {
  display: block;
  margin: 0 0 9px;
  color: #0872bb;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1.4;
}
.aoyagi-page--talk .aoyagi-talk-section__head { margin-bottom: clamp(20px, 3vw, 30px); }
.aoyagi-page--talk .aoyagi-talk-section__head h2,
.aoyagi-page--talk .aoyagi-talk-overview h2,
.aoyagi-page--talk .aoyagi-talk-updates h2,
.aoyagi-page--talk .aoyagi-talk-cta h2 {
  font-family: var(--aoyagi-font-serif);
  font-size: clamp(1.45rem, 1.05rem + 1.25vw, 2rem);
  font-weight: 700;
}
.aoyagi-page--talk .aoyagi-talk-section__head p { margin-top: 7px; color: var(--aoyagi-muted); }
.aoyagi-page--talk .aoyagi-talk-section__head--inline {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px 28px;
}
.aoyagi-page--talk .aoyagi-talk-link {
  display: inline-flex;
  min-height: 44px;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  color: var(--aoyagi-navy);
  font-size: .94rem;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: .24em;
}
.aoyagi-page--talk .aoyagi-talk-link:hover { color: #0066b0; }
.aoyagi-page--talk .aoyagi-surface { padding: clamp(22px, 3vw, 36px); }
.aoyagi-page--talk .aoyagi-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 10px 20px;
  border: 1px solid var(--aoyagi-navy);
  border-radius: 8px;
  background: var(--aoyagi-navy);
  color: #fff;
  font-size: .94rem;
  font-weight: 800;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  transition: background-color .18s ease, border-color .18s ease;
}
.aoyagi-page--talk .aoyagi-button:hover {
  border-color: var(--aoyagi-navy-deep);
  background: var(--aoyagi-navy-deep);
  color: #fff;
}
.aoyagi-page--talk .aoyagi-button--outline { background: #fff; color: var(--aoyagi-navy); }
.aoyagi-page--talk .aoyagi-button--outline:hover { background: var(--aoyagi-pale); color: var(--aoyagi-navy); }

/* HERO：提供された実写真の3:1比率を保持。顔をテキストで覆わない */
.aoyagi-page--talk .aoyagi-talk-hero {
  overflow: hidden;
  border: 1px solid var(--aoyagi-line);
  border-radius: var(--aoyagi-radius-lg);
  background: #fff;
  box-shadow: 0 6px 26px rgb(7 53 109 / 7%);
}
.aoyagi-page--talk .aoyagi-talk-hero__visual {
  width: 100%;
  aspect-ratio: 3 / 1;
  overflow: hidden;
  background: #e3ebee;
}
.aoyagi-page--talk .aoyagi-talk-hero__visual picture,
.aoyagi-page--talk .aoyagi-talk-hero__visual img {
  display: block;
  width: 100%;
  height: 100%;
}
.aoyagi-page--talk .aoyagi-talk-hero__visual img { object-fit: cover; object-position: center; }
.aoyagi-page--talk .aoyagi-talk-hero__copy {
  position: relative;
  width: min(93%, 920px);
  margin: -26px 0 0 clamp(16px, 3.2vw, 40px);
  padding: clamp(20px, 3.4vw, 42px);
  border: 1px solid #e9eef5;
  border-radius: 14px 14px 0 0;
  background: #fff;
  box-shadow: 0 -3px 18px rgb(7 53 109 / 5%);
}
.aoyagi-page--talk .aoyagi-talk-hero h2 {
  font-family: var(--aoyagi-font-serif);
  font-size: clamp(2rem, 1.45rem + 2.15vw, 3rem);
  font-weight: 800;
  letter-spacing: .025em;
}
.aoyagi-page--talk .aoyagi-talk-only-small { display: none; }
.aoyagi-page--talk .aoyagi-talk-hero__catch {
  margin-top: 10px;
  color: var(--aoyagi-navy);
  font-family: var(--aoyagi-font-serif);
  font-size: clamp(1.12rem, 1rem + .45vw, 1.4rem);
  font-weight: 700;
}
.aoyagi-page--talk .aoyagi-talk-hero__lead { margin-top: 10px; max-width: 70ch; }
.aoyagi-page--talk .aoyagi-talk-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }

/* 概要と対象者 */
.aoyagi-page--talk .aoyagi-talk-overview {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(260px, .85fr);
  gap: clamp(16px, 2.5vw, 28px);
}
.aoyagi-page--talk .aoyagi-talk-overview__main {
  border: 1px solid var(--aoyagi-line);
  border-radius: 14px;
  background: #f1f9fd;
}
.aoyagi-page--talk .aoyagi-talk-overview__main p { margin-top: 10px; }
.aoyagi-page--talk .aoyagi-talk-overview__aside {
  padding: clamp(22px, 3vw, 32px);
  border: 1px solid #dceaf5;
  border-radius: 14px;
  background: #f8fcff;
}
.aoyagi-page--talk .aoyagi-talk-overview__aside h2 {
  font-family: inherit;
  font-size: 1.15rem;
  font-weight: 800;
}
.aoyagi-page--talk .aoyagi-talk-overview__aside ul { list-style: none; padding: 0; margin-top: 15px; }
.aoyagi-page--talk .aoyagi-talk-overview__aside li { position: relative; padding: 8px 0 8px 28px; font-size: .94rem; }
.aoyagi-page--talk .aoyagi-talk-overview__aside li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 8px;
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
  border-radius: 50%;
  background: var(--aoyagi-navy);
  color: #fff;
  font-size: .72rem;
  font-weight: 800;
}

/* 2つのご依頼先：写真・概要・明確なCTA */
.aoyagi-page--talk .aoyagi-talk-service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2.3vw, 28px);
}
.aoyagi-page--talk .aoyagi-talk-service {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--aoyagi-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 3px 18px rgb(7 53 109 / 5%);
}
.aoyagi-page--talk .aoyagi-talk-service__photo {
  display: block;
  width: 100%;
  aspect-ratio: 8 / 5;
  overflow: hidden;
  background: #e9edf0;
}
.aoyagi-page--talk .aoyagi-talk-service__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.aoyagi-page--talk .aoyagi-talk-service__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 9px;
  padding: clamp(20px, 2.4vw, 30px);
}
.aoyagi-page--talk .aoyagi-talk-service__tag {
  align-self: flex-start;
  padding: 3px 10px;
  border: 1px solid #c9e5f6;
  border-radius: 100px;
  background: #edf8ff;
  color: var(--aoyagi-navy);
  font-size: .76rem;
  font-weight: 800;
}
.aoyagi-page--talk .aoyagi-talk-service--lecture .aoyagi-talk-service__tag {
  border-color: #c8d9f2;
  background: #f2f6ff;
}
.aoyagi-page--talk .aoyagi-talk-service h3 { font-family: var(--aoyagi-font-serif); font-size: 1.6rem; font-weight: 700; }
.aoyagi-page--talk .aoyagi-talk-service__catch { color: var(--aoyagi-navy); font-weight: 800; }
.aoyagi-page--talk .aoyagi-talk-service .aoyagi-button { align-self: flex-start; margin-top: auto; }
.aoyagi-page--talk .aoyagi-talk-service-note {
  margin-top: 16px;
  padding-left: 14px;
  border-left: 3px solid #a9cde7;
  color: var(--aoyagi-muted);
  font-size: .89rem;
}

/* 6講演テーマ。正本の政策カラーを見出しアクセントに使用 */
.aoyagi-page--talk .aoyagi-talk-theme-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}
.aoyagi-page--talk .aoyagi-talk-theme {
  --talk-accent: #087ccd;
  min-width: 0;
  padding: 20px 13px 19px;
  border: 1px solid #e3eaf3;
  border-top: 5px solid var(--talk-accent);
  border-radius: 11px;
  background: #fff;
  text-align: center;
  box-shadow: 0 3px 14px rgb(7 53 109 / 5%);
}
.aoyagi-page--talk .aoyagi-talk-theme--disaster { --talk-accent: #f97316; }
.aoyagi-page--talk .aoyagi-talk-theme--education { --talk-accent: #f472b6; }
.aoyagi-page--talk .aoyagi-talk-theme--digital { --talk-accent: #3b82f6; }
.aoyagi-page--talk .aoyagi-talk-theme--community { --talk-accent: #22c55e; }
.aoyagi-page--talk .aoyagi-talk-theme--welfare { --talk-accent: #a855f7; }
.aoyagi-page--talk .aoyagi-talk-theme--culture { --talk-accent: #d4a017; }
.aoyagi-page--talk .aoyagi-talk-theme__index {
  display: inline-grid;
  width: 48px;
  height: 48px;
  place-items: center;
  margin: 0 auto 13px;
  border-radius: 50%;
  background: var(--talk-accent);
  color: #fff;
  font-size: .88rem;
  font-weight: 800;
}
.aoyagi-page--talk .aoyagi-talk-theme h3 { font-size: 1rem; font-weight: 800; }
.aoyagi-page--talk .aoyagi-talk-theme p { margin-top: 6px; color: var(--aoyagi-muted); font-size: .87rem; line-height: 1.65; }

/* 活用場面6カード */
.aoyagi-page--talk .aoyagi-talk-venues { padding: clamp(24px, 3vw, 40px); border-radius: 14px; background: #eff8fd; }
.aoyagi-page--talk .aoyagi-talk-venue-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}
.aoyagi-page--talk .aoyagi-talk-venue {
  min-width: 0;
  padding: 19px 12px 21px;
  border: 1px solid #e1ecf5;
  border-radius: 10px;
  background: #fff;
  text-align: center;
}
.aoyagi-page--talk .aoyagi-talk-venue > span {
  display: inline-flex;
  height: 48px;
  align-items: center;
  margin-bottom: 11px;
  color: var(--aoyagi-blue);
  font-family: var(--aoyagi-font-serif);
  font-size: 1.75rem;
  font-weight: 700;
}
.aoyagi-page--talk .aoyagi-talk-venue h3 { font-size: .98rem; font-weight: 800; }
.aoyagi-page--talk .aoyagi-talk-venue p { margin-top: 5px; color: var(--aoyagi-muted); font-size: .83rem; line-height: 1.65; }

/* 開催までの4ステップ */
.aoyagi-page--talk .aoyagi-talk-step-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  padding: 0;
  list-style: none;
}
.aoyagi-page--talk .aoyagi-talk-step-grid li {
  min-width: 0;
  padding: 21px 16px;
  border: 1px solid var(--aoyagi-line);
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 3px 14px rgb(7 53 109 / 4%);
}
.aoyagi-page--talk .aoyagi-talk-step__number {
  display: inline-grid;
  width: 36px;
  height: 36px;
  place-items: center;
  margin-bottom: 12px;
  border-radius: 50%;
  background: var(--aoyagi-navy);
  color: #fff;
  font-weight: 800;
}
.aoyagi-page--talk .aoyagi-talk-step-grid h3 { font-size: 1rem; font-weight: 800; }
.aoyagi-page--talk .aoyagi-talk-step-grid p { margin-top: 8px; color: var(--aoyagi-muted); font-size: .87rem; }

/* よくある質問：架空の主催者コメントを掲載しない */
.aoyagi-page--talk .aoyagi-talk-faq-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: start; }
.aoyagi-page--talk .aoyagi-talk-faq-grid details { min-width: 0; padding: 19px 18px; border: 1px solid var(--aoyagi-line); border-radius: 11px; background: #fff; }
.aoyagi-page--talk .aoyagi-talk-faq-grid summary {
  display: list-item;
  min-height: 44px;
  padding: 4px 0;
  color: var(--aoyagi-navy);
  font-weight: 800;
  line-height: 1.55;
  cursor: pointer;
}
.aoyagi-page--talk .aoyagi-talk-faq-grid details[open] { background: #f4faff; }
.aoyagi-page--talk .aoyagi-talk-faq-grid details p { margin-top: 12px; color: var(--aoyagi-text); font-size: .93rem; }

/* 活動記事への接続 */
.aoyagi-page--talk .aoyagi-talk-updates {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 15px 22px;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid var(--aoyagi-line);
  border-radius: 14px;
  background: #f6fbff;
}
.aoyagi-page--talk .aoyagi-talk-updates > div { flex: 1 1 260px; }
.aoyagi-page--talk .aoyagi-talk-updates p { margin-top: 8px; }

/* 最下段の主要CTA */
.aoyagi-page--talk .aoyagi-talk-cta {
  padding: clamp(30px, 5vw, 62px) clamp(18px, 5vw, 72px);
  border-radius: 14px;
  background: linear-gradient(140deg, #e1f3fe 0%, #f8fcff 52%, #e4f0fb 100%);
  text-align: center;
}
.aoyagi-page--talk .aoyagi-talk-cta h2 { font-size: clamp(1.65rem, 1.15rem + 1.6vw, 2.2rem); }
.aoyagi-page--talk .aoyagi-talk-cta p { margin: 10px auto 22px; max-width: 65ch; }
.aoyagi-page--talk .aoyagi-talk-cta .aoyagi-button { padding-inline: clamp(18px, 3vw, 34px); }

@media (max-width: 1050px) {
  .aoyagi-page--talk .aoyagi-talk-theme-grid,
  .aoyagi-page--talk .aoyagi-talk-venue-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .aoyagi-page.aoyagi-page--talk { width: calc(100vw - 24px); font-size: 16px; margin-bottom: 48px; }
  .aoyagi-page--talk .aoyagi-talk-hero__visual { aspect-ratio: 4 / 3; }
  .aoyagi-page--talk .aoyagi-talk-hero__visual img { object-position: center 38%; }
  .aoyagi-page--talk .aoyagi-talk-hero__copy {
    width: calc(100% - 24px);
    margin: -14px auto 0;
    padding: 22px 19px 28px;
  }
  .aoyagi-page--talk .aoyagi-talk-only-small { display: inline; }
  .aoyagi-page--talk .aoyagi-talk-hero h2 { font-size: clamp(1.9rem, 7vw, 2.3rem); }
  .aoyagi-page--talk .aoyagi-talk-actions { flex-direction: column; }
  .aoyagi-page--talk .aoyagi-talk-actions .aoyagi-button { width: 100%; }
  .aoyagi-page--talk .aoyagi-section,
  .aoyagi-page--talk .aoyagi-talk-section { margin-block: 48px; }
  .aoyagi-page--talk .aoyagi-talk-overview,
  .aoyagi-page--talk .aoyagi-talk-service-grid { grid-template-columns: minmax(0, 1fr); }
  .aoyagi-page--talk .aoyagi-talk-section__head--inline { align-items: flex-start; flex-direction: column; }
  .aoyagi-page--talk .aoyagi-talk-service__photo { aspect-ratio: 4 / 3; }
  .aoyagi-page--talk .aoyagi-talk-service__photo img { object-position: center 40%; }
  .aoyagi-page--talk .aoyagi-talk-service .aoyagi-button { width: 100%; }
  .aoyagi-page--talk .aoyagi-talk-theme-grid,
  .aoyagi-page--talk .aoyagi-talk-venue-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .aoyagi-page--talk .aoyagi-talk-step-grid,
  .aoyagi-page--talk .aoyagi-talk-faq-grid { grid-template-columns: minmax(0, 1fr); }
  .aoyagi-page--talk .aoyagi-talk-venues { padding: 24px 16px; }
  .aoyagi-page--talk .aoyagi-talk-cta p br { display: none; }
  .aoyagi-page--talk .aoyagi-talk-cta .aoyagi-button { width: 100%; }
}
@media (max-width: 360px) {
  .aoyagi-page--talk .aoyagi-talk-theme-grid,
  .aoyagi-page--talk .aoyagi-talk-venue-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .aoyagi-page--talk .aoyagi-button { transition: none; }
}

/* 工程10専用フォームのアンカーと可読性 */
.aoyagi-page--talk #aoyagi-talk-request { scroll-margin-top:110px; }
.aoyagi-page--talk .aoyagi-form__panel { width:100%; }
.aoyagi-page--talk .aoyagi-form__panel .wpforms-container input[type="checkbox"] { width:20px; height:20px; }
