/*
Theme Name: Lightning Child
Theme URI: 
Template: lightning
Description: 
Author: 森田陽子_202608
Tags: 
Version: 0.6.0
*/

#site-header-container { display:none; }

.site-body-bottom { display:none; }
.site-footer-content { display:none; }

.site-body { padding: 0rem 0rem; }

.entry-title--post-type--page, h2:where(:not(.wp-block-post-title)) {
    padding: .0;
    border-top: 0;
    border-bottom: 0px;
}

html,
body {
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
}

/* Lightning側の余白・幅を抑える */
.siteContent,
.siteContent .container,
.siteContent .siteContent_container,
.mainSection,
.mainSection-base-on,
.entry-body {
  max-width: 100% !important;
}

.siteContent {
  padding-top: 0 !important;
  padding-bottom: 84px !important;
}

.mainSection,
.mainSection-base-on,
.entry-body {
  margin: 0 !important;
  padding: 0 !important;
}

/* 必要ならページタイトル帯を消す */
.page-header {
  display: none;
}

/* 右上モバイルメニュー消す */
@media (max-width: 991px) {
  #vk-mobile-nav-menu-btn,
  #vk-mobile-nav {
    display: none !important;
  }
}

/* 右下スクロールボタン スマホで少し上に位置を変える */
@media (max-width: 767px) {
  .page_top_btn {
    bottom: 88px !important;
  }
}




/* =========================================
   共通
========================================= */
.aaof2026 {
  --aaof-navy: #14233b;
  --aaof-navy-2: #1d3152;
  --aaof-gold: #c8a96b;
  --aaof-ivory: #f7f4ee;
  --aaof-text: #222;
  --aaof-muted: #6a7280;
  --aaof-border: #d9dfe7;
  --aaof-white: #ffffff;
  --aaof-shadow: 0 10px 30px rgba(20, 35, 59, 0.08);
  --aaof-radius: 22px;

  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  color: var(--aaof-text);
  background: var(--aaof-white);
  overflow-x: clip;
}

.aaof2026 * {
  box-sizing: border-box;
}

.aaof2026 a {
  color: var(--aaof-navy);
  text-decoration: none;
}

.aaof2026 a:hover {
  opacity: 0.85;
}

.aaof-container {
  width: min(1400px, 100%);
  margin: 0 auto;
  padding-left: 40px;
  padding-right: 40px;
}

.aaof-section {
  width: 100%;
  padding: 90px 0;
  margin: 0;
  scroll-margin-top: 100px;
}

.aaof-section--light {
  background: #f8f6f1;
}

.aaof-section-heading {
  display: block;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 2px solid #d8b164;
}

.aaof-section__label {
  margin: 0;
  color: var(--aaof-gold);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.aaof-section__title {
  margin: 0 0 26px;
  font-size: clamp(1.9rem, 3vw, 2.9rem);
  line-height: 1.3;
  color: var(--aaof-navy);
}

.aaof-btn {
  display: inline-block;
  padding: 14px 24px;
  border-radius: 999px;
  font-weight: 700;
  transition: transform 0.2s ease, opacity 0.2s ease, background 0.2s ease;
}

.aaof-btn:hover {
  transform: translateY(-1px);
}

.aaof-btn--primary {
  background: var(--aaof-gold);
  color: #1b1b1b !important;
}

.aaof-btn--ghost {
  border: 1px solid rgba(255, 255, 255, 0.45);
  color: #fff !important;
  background: transparent;
}


.aaof-flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2em;
  min-width: 2em;
  margin-right: 0.55em;
font-size: 2rem;
  line-height: 1;
  flex: 0 0 auto;
  transform: translateY(0.02em);
}


/* =========================================
   トップ画像
========================================= */
.aaof-top-image {
  width: 100%;
  line-height: 0;
}

.aaof-top-image img {
  display: block;
  width: 100%;
  height: auto;
}

/* =========================================
   メインビジュアル
========================================= */
.aaof-hero {
  position: relative;
  width: 100%;
  padding: 20px 0 50px;
  background:
    linear-gradient(rgba(158, 48, 48, 0.72), rgba(120, 30, 30, 0.82)),
    radial-gradient(circle at top right, rgba(200, 169, 107, 0.18), transparent 30%),
    linear-gradient(135deg, #a53535 0%, #7d2323 100%);
  color: #fff;
}


.aaof-hero__inner {
  width: min(1400px, 100%);
  margin: 0 auto;
  padding-left: 40px;
  padding-right: 40px;
  text-align: center;
}

.aaof-hero__eyebrow {
  margin: 0 0 14px;
  color: #d9c28e;
  font-size: 0.95rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.aaof-hero__title {
  margin: 0;
  color: #d9c28e;
  font-size: clamp(1.1rem, 2vw, 2.2rem);
  line-height: 1.2;
}

.aaof-hero__subtitle {
  margin: 10px auto 0;
  max-width: 1000px;
  font-size: clamp(1rem, 2vw, 1.4rem);
  line-height: 1.9;
  color: rgba(255, 255, 255, 0.94);
}

.aaof-hero__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 24px;
  margin-top: 28px;
  font-size: 1rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.95);
}

.aaof-hero__badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 24px;
}

.aaof-hero__badges span {
  display: inline-block;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #fff;
  font-size: 1rem;
}

.aaof-hero__buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-top: 34px;
}

/* =========================================
   開催概要
========================================= */
.aaof-section--overview {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  margin-right: -50vw;
  background: #f8f6f1;
  padding: 88px 0 84px;
  scroll-margin-top: 100px;
}

.aaof-overview-box {
  display: grid;
  grid-template-columns: 230px 1fr;
  gap: 50px;
  align-items: start;
}

.aaof-overview-box__image img {
  display: block;
  width: 60%;
	margin: 0 auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  background: #fff;
  border-radius: 50%;
}

.aaof-overview-box__content {
  min-width: 0;
}

.aaof-overview-box__lead {
  margin: 4px 0 22px;
  color: #14233b;
  font-size: 1.9rem;
  line-height: 1.55;
  font-weight: 700;
}

.aaof-overview-box__text p {
  margin: 0 0 18px;
  color: #222;
  font-size: 1.04rem;
  line-height: 2;
}


/* AAOF2026 / Overview セクション：ロゴ画像下のキャプション */
.aaof-overview-box__caption {
  color: #653837;
  font-style: italic; /* 欧文斜体用(効くフォントのみ) */
  margin-top: 1em;       /* ロゴとの余白(任意。テーマと合わない場合は 0 に) */
  margin-bottom: 0;
  line-height: 1.8;
  font-size: 0.95em;        /* 画像下の注記として少し控えめに(任意) */
	text-align: center;
}

/* =========================================================
   AAOF2026 / Overview セクション：PC版 2カラム幅を 40:60 に再配分
   - 画像 : 約40%（左右のカラムから gap の半分 25px を吸収）
   - 内容 : 約60%（同上）
   - 間隔 : 50px（flex の gap で表現。重複 margin は除去）
   - モバイル：既存の縦並びを維持（PC のみ上書き）
   - 既存 width / max-width / margin との競合を回避するため
     specificity を高めて上書き（!important は不使用）
   ========================================================= */

@media (min-width: 768px) {

  /* 親ボックスを flex レイアウトとして統一
     （既存が grid / float でも、ここを起点に作ると 40:60+50px が安定する） */
  .aaof-overview-box {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;   /* 画像と内容の上端を揃える */
    gap: 50px;                 /* 画像と内容の隙間を 50px に */
    box-sizing: border-box;
  }

  /* 余計な個別 margin を打ち消して、gap に役割を任せる */
  .aaof-overview-box .aaof-overview-box__image,
  .aaof-overview-box .aaof-overview-box__content {
    margin-left: 0;
    margin-right: 0;
    min-width: 0;              /* flex 子要素の最小幅崩れ対策 */
  }

  /* 画像カラム：40%（gap 50px の半分 25px を幅から差し引く） */
  .aaof-overview-box .aaof-overview-box__image {
    flex: 0 0 calc(30% - 25px);
    max-width: calc(30% - 25px);   /* 念のため幅上限も合わせて固定 */
    width: calc(30% - 25px);
  }

  /* 内容カラム：60% */
  .aaof-overview-box .aaof-overview-box__content {
    flex: 0 1 calc(70% - 25px);
    max-width: calc(70% - 25px);
    width: calc(70% - 25px);
  }
}

/* =========================================
   開催情報
========================================= */
.aaof-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.aaof-info-card,
.aaof-program-card,
.aaof-person-card,
.aaof-access-card,
.aaof-program-combo {
  border-radius: var(--aaof-radius);
  box-shadow: var(--aaof-shadow);
}

.aaof-info-card {
  background: #fff;
  border: 1px solid var(--aaof-border);
  padding: 32px;
}

.aaof-info-card h3 {
  margin: 0 0 18px;
  color: var(--aaof-navy);
  font-size: 1.25rem;
}

.aaof-info-list {
  margin: 0;
}

.aaof-info-list dt {
  margin-top: 14px;
  font-weight: 700;
  color: var(--aaof-navy);
}

.aaof-info-list dt:first-child {
  margin-top: 0;
}

.aaof-info-list dd {
  margin: 6px 0 0;
  color: var(--aaof-text);
  line-height: 1.8;
}

/* =========================================
   プログラム
========================================= */
.aaof-program-list {
  display: grid;
  gap: 22px;
}

.aaof-program-card {
  padding: 32px;
  border: 1px solid rgba(20, 35, 59, 0.08);
}

.aaof-program-card--s1 {
  background: linear-gradient(180deg, #eef8ff 0%, #dff1ff 100%);
  border-left: 8px solid #58a9e8;
}

.aaof-program-card--s2 {
  background: linear-gradient(180deg, #fff4e8 0%, #fde4c4 100%);
  border-left: 8px solid #d98a38;
}

.aaof-program-card--s3 {
  background: linear-gradient(180deg, #eef9f1 0%, #d6efdc 100%);
  border-left: 8px solid #5fa06d;
}

.aaof-program-card--special {
  background: linear-gradient(180deg, #ffffff 0%, #f7f7f7 100%);
  border-left: 8px solid var(--aaof-gold);
}

.aaof-program-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 18px;
  margin-bottom: 12px;
}

.aaof-program-card__label {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 999px;
  color: #fff;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  background: rgba(20, 35, 59, 0.9);
}

/* Sessionごとのラベル色 */
.aaof-program-card--s1 .aaof-program-card__label {
  background: #58a9e8;
}

.aaof-program-card--s2 .aaof-program-card__label {
  background: #d98a38;
}

.aaof-program-combo--green > .aaof-program-unit:first-child .aaof-program-card__label {
  background: #5fa06d;
}

/* Special Talkも緑で揃える場合 */
.aaof-program-combo--green .aaof-program-unit--sub .aaof-program-card__label {
  background: #5fa06d;
}

.aaof-program-card__time {
  margin: 0;
  color: var(--aaof-muted);
  font-weight: 700;
}

.aaof-program-card__title {
  margin: 0 0 16px;
  font-size: 1.4rem;
  line-height: 1.6;
  color: var(--aaof-navy);
}

.aaof-speaker-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
}

.aaof-speaker-list li,
.aaof-program-card__guest {
  display: flex;
  align-items: center;
  line-height: 1.9;
}

.aaof-program-card__guest {
  margin: 0;
}

.aaof-program-combo {
  overflow: hidden;
  border: 1px solid rgba(20, 35, 59, 0.08);
}

.aaof-program-combo--green {
  background: linear-gradient(180deg, #eef9f1 0%, #d6efdc 100%);
  border-left: 8px solid #5fa06d;
}

.aaof-program-unit {
  padding: 32px;
}

.aaof-program-unit--sub {
  border-top: 1px solid rgba(20, 35, 59, 0.10);
  background: rgba(255, 255, 255, 0.18);
}

.aaof-program-combo .aaof-program-card__title {
  margin: 0 0 16px;
}

.aaof-program-combo .aaof-program-card__guest {
  margin: 0;
}
/* プログラム speaker-list 内リンク */
/* 目立つ版 + 末尾アイコン */
.aaof-speaker-list a {
  display: inline;
  color: #0f4c81;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: #c8a96b;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.18em;
  background: linear-gradient(transparent 72%, rgba(200, 169, 107, 0.18) 72%);
  padding: 0 0.08em;
  border-radius: 2px;
  transition:
    color 0.2s ease,
    background 0.2s ease,
    text-decoration-color 0.2s ease,
    opacity 0.2s ease;
}

.aaof-speaker-list a::after {
  content: " ↗";
  font-size: 0.82em;
  color: #c8a96b;
  vertical-align: 0.02em;
  transition: color 0.2s ease;
}

.aaof-speaker-list a:hover {
  color: #b07f2f;
  text-decoration-color: #b07f2f;
  background: linear-gradient(transparent 68%, rgba(200, 169, 107, 0.32) 68%);
  opacity: 1;
}

.aaof-speaker-list a:hover::after {
  color: #b07f2f;
}

.aaof-speaker-list a:focus-visible {
  outline: 2px solid rgba(200, 169, 107, 0.55);
  outline-offset: 3px;
  border-radius: 3px;
}

/* 大枠の角丸を取る */
.aaof-program-card,
.aaof-program-combo {
  border-radius: 0;
}

/* トークセッション　出演者 */
.aaof-talksession { margin-left:80px }

/* =========================================
   登壇者・団体紹介
========================================= */
.speakers_top {margin-bottom:50px}

.speakers_footer {margin-top:80px}

.speakers-loop .wp-block-post {
  margin-top: 20px !important;
  margin-bottom: 200px !important;
}

@media (max-width: 767px) {
    .speakers-loop .vk_staff_text_profileText {
        grid-area: profiletext;
        margin: 0;
        width: 100%;
    }
}
/*スマホ版：氏名・肩書・写真は横並び：Profileは横100%*/
@media (max-width: 767px) {
  .speakers-loop .vk_staff {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 110px;
    grid-template-areas:
      "name photo"
      "caption photo"
      "role photo"
      "profiletitle profiletitle"
      "profiletext profiletext";
    column-gap: 16px;
    row-gap: 8px;
    align-items: start;
  }

  .speakers-loop .vk_staff_text {
    display: contents;
  }

  .speakers-loop .vk_staff_text_name {
    grid-area: name;
    margin: 0;
  }

  .speakers-loop .vk_staff_text_caption {
    grid-area: caption;
    margin: 0;
  }

  .speakers-loop .vk_staff_text_role {
    grid-area: role;
    margin: 0;
  }

  .speakers-loop .vk_staff_text_profileTitle {
    grid-area: profiletitle;
    margin: 16px 0 0;
    width: 100%;
  }

  .speakers-loop .vk_staff_text_profileText {
    grid-area: profiletext;
    margin: 0;
    width: 100%;
  }

  .speakers-loop .vk_staff_photo {
    grid-area: photo;
    width: 110px;
    margin: 0;
    align-self: start;
  }

  .speakers-loop .vk_staff_photo img {
    display: block;
    width: 100%;
    height: auto;
  }
}
/*スマホ版：Profile下の余白*/
@media (max-width: 767px) {
    .speakers-loop .vk_staff_text_profileText {
        margin: 0 0 20px;
    }
}

/* 1枚画像を2枚と同じ横幅にする */
img.wp-image-360, .wp-image-376 {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

/* 動画に幅制御 */
.wp-block-video.aligncenter video {
  width: 100%;
  max-width: 400px;
  height: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* 氏名　スマホ版小さくする */
@media (max-width: 767px) {
  .speakers-loop .vk_staff_text_name {
    font-size: 2rem !important;
  }
}

/* =========================================
   レスポンシブ
========================================= */
@media (max-width: 991px) {
  .aaof-participants-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .aaof-person-card {
    padding: 22px;
  }

  .aaof-person-card h3 {
    font-size: 1.08rem;
  }

  .aaof-person-card p {
    margin-bottom: 14px;
  }

  .aaof-person-card__footer {
    gap: 10px;
    padding-top: 8px;
  }

  .aaof-person-card__tag {
    font-size: 0.8rem;
    padding: 6px 9px;
  }

  .aaof-person-card__more {
    font-size: 0.86rem;
    opacity: 1;
  }

  .aaof-person-card--link:active {
    transform: scale(0.985);
  }
}

/* =========================================
   来場案内
========================================= */
.aaof-visit {
  width: 100%;
  padding: 90px 0;
  margin: 0;
  background: linear-gradient(135deg, var(--aaof-navy) 0%, var(--aaof-navy-2) 100%);
  color: #fff;
  text-align: center;
}

.aaof-visit__label {
  margin: 0 0 8px;
  color: #d9c28e;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.85rem;
  font-weight: 700;
}

.aaof-visit h2 {
  margin: 0 0 16px;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  color: #fff;
}

.aaof-visit__text {
  margin: 0 auto;
  max-width: 760px;
  line-height: 2;
  font-size: 1.05rem;
  color: rgba(255, 255, 255, 0.92);
}

.aaof-visit__badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 24px;
}

.aaof-visit__badges span {
  display: inline-block;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #fff;
  font-size: 0.95rem;
}

/* =========================================
   アクセス（地図は右）
========================================= */
.aaof-access-grid {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 24px;
  align-items: stretch;
}

.aaof-access-card {
  background: #fff;
  border: 1px solid var(--aaof-border);
  padding: 32px;
}

.aaof-access-card h3 {
  margin: 0 0 12px;
  color: var(--aaof-navy);
  font-size: 1.35rem;
}

.aaof-access-card p {
  margin: 0 0 10px;
  line-height: 1.8;
}

.aaof-access-block {
  margin-top: 22px;
}

.aaof-access-block h4 {
  margin: 0 0 10px;
  font-size: 1rem;
  color: var(--aaof-navy);
}

.aaof-access-block ul {
  margin: 0;
  padding-left: 1.2em;
  line-height: 1.9;
}

.aaof-access-link {
  margin-top: 22px !important;
  font-weight: 700;
}

.aaof-map {
  min-height: 460px;
  overflow: hidden;
  border-radius: var(--aaof-radius);
  box-shadow: var(--aaof-shadow);
}

/* =========================================
   フッター
========================================= */
.aaof-footer {
  width: 100%;
  padding: 40px 0 30px;
  margin: 0;
  background:
    linear-gradient(rgba(158, 48, 48, 0.72), rgba(120, 30, 30, 0.82)),
    radial-gradient(circle at top right, rgba(200, 169, 107, 0.18), transparent 30%),
    linear-gradient(135deg, #a53535 0%, #7d2323 100%);
  color: rgba(255, 255, 255, 0.88);
}


.aaof-footer a {
  color: #fff;
}

.aaof-footer__top {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
  padding-bottom: 28px;
  margin-bottom: 28px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.aaof-footer__top h3 {
  margin: 0 0 12px;
  color: #fff;
  font-size: 1.05rem;
}

.aaof-footer__top p {
  margin: 0 0 10px;
  line-height: 1.8;
}

.aaof-footer__message {
  text-align: center;
}

.aaof-footer__message p {
  margin: 0 0 8px;
  line-height: 1.9;
  color: rgba(255, 255, 255, 0.92);
}

.site-footer-copyright {
    padding: 1rem 0 4rem;
}

/*フッター　リンクバナー*/
.aaof-footer-textbanners {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 420px));
  justify-content: center;
  gap: 16px;
  margin-top: 22px;
}

.aaof-footer-textbanner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 74px;
  padding: 12px 14px;
  border-radius: 0;
  background: #ffffff;
  color: #14233b !important;
  text-decoration: none;
  text-align: center;
  border: 1px solid rgba(20, 35, 59, 0.08);
  box-sizing: border-box;
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.aaof-footer-textbanner:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
  opacity: 1;
}

.aaof-footer-textbanner__label {
  display: inline-block;
  margin-bottom: 4px;
  color: #c8a96b;
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: center;
}

.aaof-footer-textbanner__name {
  color: #14233b;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  white-space: nowrap;
}

@media (max-width: 767px) {
  .aaof-footer-textbanners {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .aaof-footer-textbanner {
    min-height: 84px;
    padding: 14px 16px;
  }

  .aaof-footer-textbanner__label {
    font-size: 0.68rem;
  }

  .aaof-footer-textbanner__name {
    font-size: 0.82rem;
    white-space: normal;
  }
}

/* =========================================
   下部固定フッターナビ
========================================= */
.aaof-bottomnav {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 60;
  background:
    linear-gradient(180deg, rgba(158, 48, 48, 0.72), rgba(120, 30, 30, 0.90)),
    radial-gradient(circle at top right, rgba(200, 169, 107, 0.18), transparent 30%),
    linear-gradient(135deg, #a53535 0%, #7d2323 100%);
  backdrop-filter: blur(10px);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.16);
}


.aaof-bottomnav ul {
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 10px 14px;
}

.aaof-bottomnav a {
  display: inline-block;
  padding: 10px 14px;
  border-radius: 999px;
  color: #fff !important;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.aaof-bottomnav a:hover {
  background: rgba(255, 255, 255, 0.1);
  opacity: 1;
}

/* =========================================
   リンクボタン
========================================= */
/* 登壇者団体紹介ページのボタンを aaof-hero 風に調整 */
body.page-id-161 .wp-block-buttons > .wp-block-button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  color: #fff !important;
  text-decoration: none;
  border: none;
  border-radius: 999px;
  box-shadow: none;
  background:
    linear-gradient(rgba(158, 48, 48, 0.72), rgba(120, 30, 30, 0.82)),
    linear-gradient(135deg, #a53535 0%, #7d2323 100%) !important;
  transition:
    background 0.2s ease,
    transform 0.2s ease,
    filter 0.2s ease;
}

/* ホバー時：少し明るく + 1pxだけ右下に沈む */
body.page-id-161 .wp-block-buttons > .wp-block-button .wp-block-button__link:hover {
  color: #fff !important;
  background:
    linear-gradient(rgba(182, 67, 67, 0.72), rgba(145, 42, 42, 0.82)),
    linear-gradient(135deg, #bd4747 0%, #942b2b 100%) !important;
  transform: translate(1px, 1px);
  filter: brightness(1.04);
  box-shadow: none;
}

/* クリック時 */
body.page-id-161 .wp-block-buttons > .wp-block-button .wp-block-button__link:active {
  transform: translate(1px, 1px);
}

/* =========================================
   レスポンシブ
========================================= */
@media (max-width: 991px) {
  .aaof-container,
  .aaof-hero__inner {
    padding-left: 24px;
    padding-right: 24px;
  }

  .aaof-overview-box {
    grid-template-columns: 200px 1fr;
    gap: 22px;
  }

  .aaof-overview-box__lead {
    font-size: 1.45rem;
  }

  .aaof-map {
    min-height: 320px;
  }
}

@media (max-width: 782px) {
  body.admin-bar .aaof-localnav {
    top: 46px;
  }
}

@media (max-width: 767px) {
  .siteContent {
    padding-bottom: 78px !important;
  }

  .aaof-section {
    padding: 58px 0;
    scroll-margin-top: 90px;
  }

  .aaof-localnav ul {
    gap: 16px;
    padding: 12px 10px;
    overflow-x: auto;
    white-space: nowrap;
    justify-content: flex-start;
  }

  .aaof-localnav a {
    font-size: 0.92rem;
  }

  .aaof-bottomnav ul {
    justify-content: space-between;
    gap: 4px;
  }

  .aaof-bottomnav a {
    padding: 10px 8px;
    font-size: 0.78rem;
  }

  .aaof-hero {
    padding: 20px 0 20px;
  }

  .aaof-hero__inner,
  .aaof-container {
    padding-left: 20px;
    padding-right: 20px;
  }

  .aaof-section--overview {
    padding: 58px 0 56px;
    scroll-margin-top: 90px;
  }

  .aaof-overview-heading {
    margin-bottom: 14px;
  }

  .aaof-overview-title {
    font-size: 2rem;
  }

  .aaof-overview-title-line {
    margin: 14px 0 16px;
  }

  .aaof-overview-box {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .aaof-overview-box__image {
    max-width: 260px;
  }

  .aaof-overview-box__lead {
    margin: 0 0 16px;
    font-size: 1.2rem;
    line-height: 1.7;
  }

  .aaof-overview-box__text p {
    font-size: 0.98rem;
    line-height: 1.9;
  }

  .aaof-participants-grid,
  .aaof-access-grid,
  .aaof-footer__top {
    grid-template-columns: 1fr;
  }
	
  .aaof-info-card,
  .aaof-program-card,
  .aaof-person-card,
  .aaof-access-card,
  .aaof-program-unit {
    padding: 22px;
  }

  .aaof-program-card__title {
    font-size: 1.2rem;
  }

  .aaof-visit {
    padding: 56px 0;
  }

  .aaof-footer {
    padding: 56px 0 36px;
  }
}
/* 開催概要＞画像センタリング */
@media (max-width: 767px) {
  .aaof-overview-box__image {
    max-width: 260px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* 開催概要＞要素の並び順 */
@media (max-width: 767px) {
  .aaof-overview-box {
    display: flex;
    flex-direction: column;
  }

  .aaof-overview-box__content {
    order: 1;
  }

  .aaof-overview-box__image {
    order: 2;
  }
}


/* 開催情報：991px以下の既存上書きを打ち消して、スマホだけ1列にする */
.aaof2026 .aaof-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

@media (max-width: 767px) {
  .aaof2026 .aaof-info-grid {
    grid-template-columns: 1fr;
  }
}



/* =========================================
   登壇者ページ　スマホ版で写真 → 氏名 → 英字名 → 役職 → Profile → Profile本文 の縦並び
========================================= */
/* 登壇者団体紹介ページ：スマホでは写真を上、テキストを下に縦並び */
@media (max-width: 767px) {
  body.page-id-161 .speakers-loop .vk_staff {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  body.page-id-161 .speakers-loop .vk_staff_photo {
    order: 1;
    width: 100%;
    max-width: 220px;
    margin: 0 auto 8px;
    align-self: center;
  }

  body.page-id-161 .speakers-loop .vk_staff_photo img,
  body.page-id-161 .speakers-loop .vk_staff_photo_image {
    display: block;
    width: 100%;
    height: auto;
  }

  body.page-id-161 .speakers-loop .vk_staff_text {
    order: 2;
    display: block;
    width: 100%;
  }

  body.page-id-161 .speakers-loop .vk_staff_text_name,
  body.page-id-161 .speakers-loop .vk_staff_text_caption,
  body.page-id-161 .speakers-loop .vk_staff_text_role,
  body.page-id-161 .speakers-loop .vk_staff_text_profileTitle,
  body.page-id-161 .speakers-loop .vk_staff_text_profileText {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
  }

  body.page-id-161 .speakers-loop .vk_staff_text_name {
    margin-top: 0;
    margin-bottom: 6px;
  }

  body.page-id-161 .speakers-loop .vk_staff_text_caption {
    margin-top: 0;
    margin-bottom: 8px;
  }

  body.page-id-161 .speakers-loop .vk_staff_text_role {
    margin-top: 0;
    margin-bottom: 12px;
  }

  body.page-id-161 .speakers-loop .vk_staff_text_profileTitle {
    margin-top: 0;
    margin-bottom: 8px;
  }

  body.page-id-161 .speakers-loop .vk_staff_text_profileText {
    margin-top: 0;
    margin-bottom: 0;
  }
}
/* スマホ版　Profile本文の下に30pxの隙間*/
@media (max-width: 767px) {
  body.page-id-161 .speakers-loop .vk_staff_text_profileText {
    margin-bottom: 30px;
  }
}
/* =========================================
登壇者団体紹介ページ：スマホでは vk_staff_photo_image 以外の写真を統一
========================================= */

@media (max-width: 767px) {

  /* ギャラリー全体を1カラム化 */
  body.page-id-161 .entry-content .wp-block-gallery.has-nested-images {
    display: flex !important;
    flex-direction: column;
    gap: 16px;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
  }

  /* ギャラリー内の各画像枠 */
  body.page-id-161 .entry-content .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
  }

  /* 単独画像の枠（staff写真は除外） */
  body.page-id-161 .entry-content figure.wp-block-image {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
    clear: both;
  }

  /* 単独画像・ギャラリー画像を幅100%に統一 */
  body.page-id-161 .entry-content figure.wp-block-image img:not(.vk_staff_photo_image),
  body.page-id-161 .entry-content .wp-block-gallery.has-nested-images img:not(.vk_staff_photo_image) {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
  }

  /* aligncenter / alignright 系の崩れ防止 */
  body.page-id-161 .entry-content figure.wp-block-image.aligncenter,
  body.page-id-161 .entry-content figure.wp-block-image.alignright,
  body.page-id-161 .entry-content figure.wp-block-image.alignleft {
    display: block !important;
    text-align: left !important;
  }
}
