@charset "UTF-8";
/* =========================================================
   AJO LABO：トップページ（リニューアル）
   File: assets/css/top.css
   読み込み：inc/maestro.php（トップページだけ）
========================================================= */

/* ---------- 0) 白い背景・色は最小限（2026-10 内部意見で変更） ---------- */
#body_wrap.home{
  background: #fff;

  --t-ink:    #2b2724;
  --t-sub:    #6b6158;
  --t-line:   #e6e1db;
  --t-soft:   #f7f6f4;
  --t-amber:  #6b6158;   /* 旧：琥珀 → 灰 */
  --t-clay:   #2b2724;   /* 旧：赤土 → 墨 */
  --t-wheat:  #f7f6f4;
  --t-green:  #2b2724;   /* 旧：深緑 → 墨 */
  --t-serif:  "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  --t-latin:  "Cormorant Garamond", "Times New Roman", serif;
  --t-hdr:    64px;
}
@media (max-width: 959px){
  #body_wrap.home{ --t-hdr: 56px; }
}

/* SWELLのメインビジュアル（黒いにんにく柄）は扉に置き換え
   ※ カスタマイザーでメインビジュアルを「表示しない」にすると画像の読み込みも止まります */
#body_wrap.home #main_visual,
#body_wrap.home .p-mainVisual{
  display: none !important;
}

#body_wrap.home #content.l-content{ padding-top: 0; }


/* ---------- 1) トップのイラスト（＋あとから料理シーンの動画） ---------- */
.topHero{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 48px 16px 40px;
  background: #fff;
}
.topHero__title{
  position: relative;
  z-index: 2;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  line-height: 0;
}
.topHero__title::before,
.topHero__title::after{ content: none !important; display: none !important; }
.topHero__img{
  display: block;
  width: min(560px, 82vw);
  max-height: calc(100vh - var(--t-hdr) - 120px);
  height: auto;
  object-fit: contain;
}
/* 動画があるとき：画面幅いっぱいに敷き、白いベールでイラストの線を読みやすく */
.topHero.has-video{
  min-height: min(78vh, 760px);
  padding: 40px 16px;
}
.topHero__video{
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.topHero__veil{
  position: absolute;
  inset: 0;
  z-index: 1;
  background: radial-gradient(ellipse at center, rgba(255,255,255,.82) 0%, rgba(255,255,255,.55) 55%, rgba(255,255,255,.25) 100%);
}
@media (max-width: 599px){
  .topHero{ padding: 28px 12px 24px; }
  .topHero__img{ width: 86vw; }
  .topHero.has-video{ min-height: 70vh; }
}


/* ---------- 2) 見出し（全セクション共通） ---------- */
.topHead{
  text-align: center;
  margin: 0 0 28px;
}
.topHead__en{
  margin: 0;
  font-family: var(--t-latin);
  font-size: 15px;
  letter-spacing: .3em;
  padding-left: .3em;
  color: var(--t-amber);
}
#body_wrap.home .topHead__title{
  margin: 2px 0 0;
  padding: 0;
  border: 0;
  background: none;
  font-family: var(--t-serif);
  font-size: 26px;
  font-weight: 600;
  letter-spacing: .06em;
  line-height: 1.5;
  color: var(--t-ink);
}
#body_wrap.home .topHead__title::before,
#body_wrap.home .topHead__title::after{ content: none; display: none; }
.topHead__lead{
  margin: 6px 0 0;
  font-size: 13px;
  color: var(--t-sub);
}
@media (max-width: 599px){
  #body_wrap.home .topHead__title{ font-size: 21px; }
}

#body_wrap.home .topSec{
  margin: 0 0 72px;
}


/* ---------- 3) さがす ---------- */
.topFind{
  max-width: 640px;
  margin: 8px auto 64px;
}
.topFind__form{
  display: flex;
  gap: 8px;
}
.topFind__label{
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.topFind__input{
  flex: 1 1 auto;
  min-width: 0;
  padding: 12px 20px;
  border: 1px solid #d9ccb4;
  border-radius: 999px;
  background: #fff;
  font-size: 15px;
  color: var(--t-ink);
}
.topFind__input:focus{
  outline: 2px solid var(--t-amber);
  outline-offset: 1px;
}
.topFind__btn{
  flex: 0 0 auto;
  min-height: 48px;
  padding: 0 24px;
  border: 0;
  border-radius: 999px;
  background: var(--t-ink);
  color: #f1e4da;
  font-size: 14px;
  cursor: pointer;
}
.topFind__btn:hover{ background: #2b2724; }
#body_wrap.home .topFind__chips{
  margin-top: 16px;
}
#body_wrap.home .topFind__chips .recipeNavBtn{
  font-size: 13px;
  padding: 8px 16px;
  background: rgba(255,255,255,.7);
}
@media (max-width: 959px){
  #body_wrap.home .topFind__chips{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* ---------- 4) 館内のご案内 ---------- */
.topGuide{
  margin: 0 0 80px;
}
.topGuide__grid{
  max-width: 960px;
  margin: 0 auto;
  padding: 0 12px 12px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
}
/* 出入口：上が半円の縦長アーチ＋内側の枠線＋敷居 */
.topGuide__door{
  position: relative;
  aspect-ratio: 4 / 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  padding: 0 22px 34px;
  border-radius: 999px 999px 2px 2px;
  text-align: center;
  text-decoration: none !important;
  box-shadow: 0 2px 4px rgba(70,45,30,.08), 0 14px 28px rgba(70,45,30,.10);
  transition: transform .3s ease, box-shadow .3s ease;
}
.topGuide__door::before{            /* 内側の枠線 */
  content: "";
  position: absolute;
  inset: 12px 12px 14px;
  border: 1px solid currentColor;
  border-radius: 999px 999px 0 0;
  opacity: .28;
  pointer-events: none;
}
.topGuide__door::after{             /* 敷居 */
  content: "";
  position: absolute;
  left: -12px;
  right: -12px;
  bottom: -9px;
  height: 9px;
  background: #bdb5ad;
}
.topGuide__door:hover{
  transform: translateY(-4px);
  box-shadow: 0 2px 4px rgba(70,45,30,.08), 0 20px 36px rgba(70,45,30,.16);
}
.topGuide__icon{
  width: 56px;
  height: 56px;
  margin: 0 auto auto;
  padding-top: 34%;
  box-sizing: content-box;
  opacity: .85;
}
.topGuide__door.is-kitchen .topGuide__icon{ color: var(--t-amber); }
.topGuide__door.is-gallery .topGuide__icon{ color: #d8c08a; }
.topGuide__door.is-studio  .topGuide__icon{ color: #fbe7dc; }
.topGuide__en{
  font-family: var(--t-latin);
  font-size: 15px;
  letter-spacing: .26em;
  padding-left: .26em;
}
.topGuide__name{
  font-family: var(--t-serif);
  font-size: 21px;
  font-weight: 600;
  letter-spacing: .06em;
  line-height: 1.5;
}
.topGuide__desc{
  max-width: 15em;
  font-size: 13px;
  word-break: keep-all;
  overflow-wrap: anywhere;
  line-height: 1.6;
}
.topGuide__door.is-kitchen{ background: #fff; color: var(--t-ink); }
.topGuide__door.is-kitchen .topGuide__en{ color: var(--t-amber); }
.topGuide__door.is-kitchen .topGuide__desc{ color: var(--t-sub); }
.topGuide__door.is-gallery{ background: var(--t-green); color: #f3efe6; }
.topGuide__door.is-gallery .topGuide__en{ color: #d8c08a; }
.topGuide__door.is-gallery .topGuide__desc{ color: #c9d2cc; }
.topGuide__door.is-studio{ background: var(--t-clay); color: #fff; }
.topGuide__door.is-studio .topGuide__en,
.topGuide__door.is-studio .topGuide__desc{ color: #fbe7dc; }

/* PC：説明文を2行分の高さにそろえ、3枚の文字の位置を合わせる */
@media (min-width: 768px){
  .topGuide__desc{ min-height: 3.2em; }
}

/* タブレット：3つ並びのまま小さな出入口に（説明文は省略） */
@media (min-width: 600px) and (max-width: 767px){
  .topGuide__grid{ gap: 18px; padding: 0 8px 10px; }
  .topGuide__door{ aspect-ratio: 3 / 4; padding: 0 8px 20px; }
  .topGuide__door::before{ inset: 6px 6px 8px; }
  .topGuide__door::after{ left: -6px; right: -6px; height: 6px; bottom: -6px; }
  .topGuide__en{ font-size: 11px; letter-spacing: .16em; padding-left: .16em; }
  .topGuide__name{ font-size: 15px; letter-spacing: 0; }
  .topGuide__desc{ display: none; }
  .topGuide__icon{ width: 36px; height: 36px; padding-top: 38%; }
}

/* スマホ：横長の札を縦に3枚。左に小さなアーチ窓（アイコン）、右に矢印 */
@media (max-width: 599px){
  .topGuide{ margin-bottom: 56px; }
  .topGuide__grid{
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding: 0 4px;
  }
  .topGuide__door{
    aspect-ratio: auto;
    display: grid;
    grid-template-columns: 60px minmax(0, 1fr) 18px;
    grid-template-rows: auto auto auto;
    align-content: center;
    align-items: center;
    column-gap: 14px;
    row-gap: 0;
    min-height: 88px;
    padding: 12px 16px 12px 14px;
    border-radius: 6px;
    text-align: left;
  }
  .topGuide__door:hover{ transform: none; }
  .topGuide__door::before{            /* アイコンを囲む小さなアーチ窓 */
    inset: auto;
    left: 18px;
    top: 50%;
    width: 52px;
    height: 66px;
    transform: translateY(-50%);
    border-radius: 999px 999px 2px 2px;
    opacity: .4;
  }
  .topGuide__door::after{             /* 右端の矢印 */
    content: "";
    position: static;
    grid-column: 3;
    grid-row: 1 / span 3;
    width: 8px;
    height: 8px;
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    background: none;
    transform: rotate(45deg);
    opacity: .6;
  }
  .topGuide__icon{
    grid-column: 1;
    grid-row: 1 / span 3;
    width: 30px;
    height: 30px;
    margin: 6px auto 0;
    padding-top: 0;
  }
  .topGuide__en{
    grid-column: 2;
    font-size: 11px;
    letter-spacing: .18em;
    padding-left: 0;
  }
  .topGuide__name{
    grid-column: 2;
    font-size: 17px;
    letter-spacing: .02em;
    line-height: 1.45;
  }
  .topGuide__desc{
    grid-column: 2;
    display: block;
    max-width: none;
    min-height: 0;
    font-size: 12px;
    line-height: 1.5;
  }
}


/* ---------- 5) レシピ投稿のお誘い（館内のご案内「STUDIO」の扉に合わせた札） ---------- */
#body_wrap.home .topInvite{
  margin: 0 0 80px;
  padding: 0 12px 12px;
  scroll-margin-top: calc(var(--t-hdr) + 24px);
}
.topInvite__card{
  position: relative;
  max-width: 820px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 48px;
  padding: 48px 56px;
  border-radius: 6px;
  background: var(--t-clay);
  color: #fff;
  box-shadow: 0 2px 4px rgba(70,45,30,.08), 0 14px 28px rgba(70,45,30,.10);
}
.topInvite__card::before{            /* 内側の枠線 */
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px solid currentColor;
  border-radius: 2px;
  opacity: .28;
  pointer-events: none;
}
.topInvite__card::after{             /* 敷居 */
  content: "";
  position: absolute;
  left: -12px;
  right: -12px;
  bottom: -9px;
  height: 9px;
  background: #bdb5ad;
}
/* 左：アーチ窓（館内のご案内の扉と同じ形） */
.topInvite__window{
  flex: 0 0 auto;
  width: 150px;
  aspect-ratio: 4 / 5;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(251,231,220,.55);
  border-radius: 999px 999px 2px 2px;
  color: #fbe7dc;
}
.topInvite__icon{
  width: 56px;
  height: 56px;
  margin-top: 18%;
  opacity: .9;
}
.topInvite__body{
  flex: 1 1 auto;
  min-width: 0;
}
.topInvite__en{
  margin: 0;
  font-family: var(--t-latin);
  font-size: 15px;
  letter-spacing: .26em;
  color: #fbe7dc;
}
#body_wrap.home .topInvite__title{
  margin: 2px 0 14px;
  padding: 0;
  border: 0;
  background: none;
  font-family: var(--t-serif);
  font-size: 26px;
  font-weight: 600;
  letter-spacing: .06em;
  line-height: 1.5;
  color: #fff;
}
#body_wrap.home .topInvite__title::before,
#body_wrap.home .topInvite__title::after{ content: none; display: none; }

/* 固定ページ本文（文章・ボタン）を札の色に合わせる */
#body_wrap.home .topInvite__content{
  color: #fff;
  font-size: 15px;
  line-height: 1.9;
}
#body_wrap.home .topInvite__content > *{ text-align: left !important; }
#body_wrap.home .topInvite__content > *:first-child{ margin-top: 0; }
#body_wrap.home .topInvite__content > *:last-child{ margin-bottom: 0; }
#body_wrap.home .topInvite__content p{ color: #fff; }
#body_wrap.home .topInvite__content a{ color: #fff; text-decoration: underline; text-underline-offset: 3px; }
#body_wrap.home .topInvite__content [class*="button"]{ justify-content: flex-start; text-align: left !important; }
#body_wrap.home .topInvite__content [class*="button"] a,
#body_wrap.home .topInvite__content a[class*="btn"],
#body_wrap.home .topInvite__content a[class*="button"]{
  display: inline-flex;
  align-items: center;
  gap: .5em;
  margin: 6px 0;
  padding: 13px 34px;
  border: 0;
  border-radius: 999px;
  background: #fff !important;
  color: var(--t-clay) !important;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 3px 0 rgba(0,0,0,.14);
  transition: transform .2s ease, box-shadow .2s ease;
}
#body_wrap.home .topInvite__content [class*="button"] a:hover,
#body_wrap.home .topInvite__content a[class*="btn"]:hover,
#body_wrap.home .topInvite__content a[class*="button"]:hover{
  transform: translateY(-2px);
  box-shadow: 0 5px 0 rgba(0,0,0,.14);
}
#body_wrap.home .topInvite__content [class*="button"] a *{ color: inherit !important; fill: currentColor; }

@media (max-width: 767px){
  .topInvite__card{
    flex-direction: column;
    gap: 20px;
    padding: 36px 18px 32px;
    text-align: center;
  }
  .topInvite__window{ width: 96px; }
  .topInvite__icon{ width: 40px; height: 40px; }
  #body_wrap.home .topInvite__content > *{ text-align: center !important; }
  #body_wrap.home .topInvite__content [class*="button"]{ justify-content: center; text-align: center !important; }
  #body_wrap.home .topInvite__title{ font-size: 22px; margin-bottom: 10px; }
  #body_wrap.home .topInvite__content{ font-size: 14px; }
}
@media (max-width: 599px){
  /* 1行が画面に収まるよう、札の左右の余白と文字を少しだけ詰める */
  #body_wrap.home .topInvite{ padding-left: 0; padding-right: 0; }
  .topInvite__card{ padding: 32px 14px 28px; }
  .topInvite__card::after{ left: -6px; right: -6px; height: 6px; bottom: -6px; }
  .topInvite__card::before{ inset: 7px; }
  #body_wrap.home .topInvite__content,
  #body_wrap.home .topInvite__content p{
    font-size: 13px;
    letter-spacing: .02em;
    line-height: 1.85;
  }
  #body_wrap.home .topInvite__content [class*="button"] a{ letter-spacing: .04em; }
}


/* ---------- 6) 結び ---------- */
.topClosing{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 40px 0 72px;
}
.topClosing img{
  width: 120px;
  height: auto;
  opacity: .9;
}
.topClosing p{
  margin: 0;
  font-family: var(--t-latin);
  font-style: italic;
  font-size: 18px;
  color: var(--t-amber);
}


/* ---------- 7) 既存部品のトーン合わせ ---------- */
/* コラムの白帯は漆喰の上で浮きすぎないよう少し透かす */
#body_wrap.home .laboSec--column::before{
  background: rgba(255,255,255,.72);
}


/* =========================================================
   8) シンプル化（2026-10）：白地に墨色。色は写真とイラストに任せる
========================================================= */
#body_wrap.home .topHead__en{ color: var(--t-sub); }
.topFind__input{ border-color: var(--t-line); }
.topFind__input:focus{ outline-color: var(--t-ink); }
.topFind__btn{ color: #fff; }
#body_wrap.home .topFind__chips .recipeNavBtn{ background: #fff; }

/* 館内のご案内：3枚とも白地＋細い線（アーチの形はそのまま） */
#body_wrap.home .topGuide__door.is-kitchen,
#body_wrap.home .topGuide__door.is-gallery,
#body_wrap.home .topGuide__door.is-studio{
  background: #fff;
  color: var(--t-ink);
  border: 1px solid var(--t-line);
  box-shadow: none;
}
#body_wrap.home .topGuide__door:hover{
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
}
#body_wrap.home .topGuide__door .topGuide__icon,
#body_wrap.home .topGuide__door .topGuide__en{ color: var(--t-sub) !important; }
#body_wrap.home .topGuide__door .topGuide__desc{ color: var(--t-sub) !important; }
#body_wrap.home .topGuide__door{ border-color: #d9d3cc; }
#body_wrap.home .topGuide__door::after{ display: none; }          /* 敷居なし */
@media (min-width: 600px){
  #body_wrap.home .topGuide__door::before{ display: none; }       /* 内側の二重線なし */
}
@media (max-width: 599px){
  #body_wrap.home .topGuide__door::before{ opacity: .3; }          /* スマホはアイコンのアーチ窓として残す */
}

/* レシピ投稿のお誘い：白地＋細い線、ボタンは墨 */
#body_wrap.home .topInvite__card{
  background: #fff;
  color: var(--t-ink);
  border: 1px solid var(--t-line);
  box-shadow: none;
}
#body_wrap.home .topInvite__card{ border-color: #d9d3cc; }
#body_wrap.home .topInvite__card::before,
#body_wrap.home .topInvite__card::after{ display: none; }
#body_wrap.home .topInvite__window{ border-color: var(--t-line); color: var(--t-sub); }
#body_wrap.home .topInvite__en{ color: var(--t-sub); }
#body_wrap.home .topInvite__title,
#body_wrap.home .topInvite__content,
#body_wrap.home .topInvite__content p,
#body_wrap.home .topInvite__content a{ color: var(--t-ink) !important; }
#body_wrap.home .topInvite__content [class*="button"] a,
#body_wrap.home .topInvite__content a[class*="btn"],
#body_wrap.home .topInvite__content a[class*="button"]{
  background: var(--t-ink) !important;
  color: #fff !important;
  box-shadow: none;
}

/* カードのリアクションもトップでは墨色に */
#body_wrap.home .ajoReactMini__item{ color: var(--t-sub); }
#body_wrap.home .ajoReactMini__item.is-zero{ color: #cfc9c2; }

/* コラムの帯：白地の上なので薄いグレーに */
#body_wrap.home .laboSec--column::before{ background: var(--t-soft); }

/* 結び */
.topClosing img{ opacity: .85; }
.topClosing p{ color: var(--t-sub); }

/* マエストロの入口：勲章バッジ（少し大きく・墨色で特別感） */
#body_wrap.home .topGuide__door .topGuide__icon.is-badge{ width: 80px; height: 80px; color: var(--t-ink) !important; stroke-width: 2.4; opacity: 1; }
#body_wrap.home .topGuide__door .topGuide__icon.is-badge polygon{ fill: #efebe5; }
@media (max-width: 599px){ #body_wrap.home .topGuide__door .topGuide__icon.is-badge{ width: 42px; height: 42px; stroke-width: 3; } }

/* ---------- トップのイラスト：火の色のゆらぎ（動画が入るまで） ----------
   イラストを含む横幅いっぱいの背景を、黄色〜オレンジの温かい色に。
   いくつかの光がそれぞれの速さでゆっくり明滅して、炎のゆらぎに見える。
   下端は白へなめらかにつなぐ。動画を入れると自動で消える。 */
.topHero{ overflow: visible; }
.topHero__glow{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  background: linear-gradient(180deg, #fff3d6 0%, #ffe6bf 45%, #ffd9b0 78%, #fff 100%);
}
.topHero__glow::after{             /* 下端を白へ */
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 28%;
  background: linear-gradient(180deg, rgba(255,255,255,0), #fff);
}
.topHero__glow span{
  position: absolute;
  aspect-ratio: 1;
  border-radius: 50%;
  filter: blur(50px);
  transform: translate(-50%, -50%);
}
.topHero__glow span:nth-child(1){   /* 中央：大きな黄色 */
  left: 50%; top: 52%; width: min(900px, 140vw);
  background: radial-gradient(circle, rgba(255,205,80,.65) 0%, rgba(255,205,80,0) 62%);
  animation: ajoFlameA 6.5s ease-in-out infinite;
}
.topHero__glow span:nth-child(2){   /* 中央下：オレンジ */
  left: 50%; top: 72%; width: min(640px, 110vw);
  background: radial-gradient(circle, rgba(255,140,40,.55) 0%, rgba(255,140,40,0) 60%);
  animation: ajoFlameB 4.8s ease-in-out infinite;
}
.topHero__glow span:nth-child(3){   /* 中央下：赤み */
  left: 50%; top: 84%; width: min(420px, 80vw);
  background: radial-gradient(circle, rgba(232,84,24,.38) 0%, rgba(232,84,24,0) 58%);
  animation: ajoFlameC 3.6s ease-in-out infinite;
}
.topHero__glow span:nth-child(4){   /* 左：オレンジのゆらぎ */
  left: 12%; top: 64%; width: min(620px, 90vw);
  background: radial-gradient(circle, rgba(255,160,60,.45) 0%, rgba(255,160,60,0) 60%);
  animation: ajoFlameB 5.6s ease-in-out infinite reverse;
}
.topHero__glow span:nth-child(5){   /* 右：黄色のゆらぎ */
  left: 88%; top: 58%; width: min(620px, 90vw);
  background: radial-gradient(circle, rgba(255,190,70,.5) 0%, rgba(255,190,70,0) 60%);
  animation: ajoFlameA 7.2s ease-in-out infinite reverse;
}
@keyframes ajoFlameA{
  0%,100%{ opacity: .55; transform: translate(-50%, -50%) scale(.92); }
  50%    { opacity: 1;   transform: translate(-50%, -58%) scale(1.18); }
}
@keyframes ajoFlameB{
  0%,100%{ opacity: .4;  transform: translate(-44%, -48%) scale(.9); }
  35%    { opacity: 1;   transform: translate(-56%, -60%) scale(1.22); }
  70%    { opacity: .65; transform: translate(-48%, -52%) scale(1); }
}
@keyframes ajoFlameC{
  0%,100%{ opacity: .35; transform: translate(-50%, -48%) scale(.85); }
  25%    { opacity: 1;   transform: translate(-57%, -62%) scale(1.25); }
  55%    { opacity: .6;  transform: translate(-45%, -54%) scale(1.02); }
  80%    { opacity: .9;  transform: translate(-52%, -58%) scale(1.14); }
}

/* ゆらゆら：2026-10-14 動きを大きく・少し速く */
.topHero__glow span:nth-child(1){ animation-duration: 4.2s; }
.topHero__glow span:nth-child(2){ animation-duration: 3.1s; }
.topHero__glow span:nth-child(3){ animation-duration: 2.3s; }
.topHero__glow span:nth-child(4){ animation-duration: 3.7s; }
.topHero__glow span:nth-child(5){ animation-duration: 4.6s; }
/* 背景の色そのものも、ゆっくり明るく・暗く */
.topHero__glow{ animation: ajoFlameBg 5s ease-in-out infinite; }
@keyframes ajoFlameBg{
  0%,100%{ filter: saturate(1)    brightness(1); }
  50%    { filter: saturate(1.25) brightness(1.03); }
}
/* 「動きを減らす」設定の人には止めて表示 */
@media (prefers-reduced-motion: reduce){
  .topHero__glow, .topHero__glow span{ animation: none; }
}
