/* 下層ページ共通：上部の帯（ヒーロー）を低くして、トップページの水玉背景を少し濃くした色にする */
body .ab-hero{
  min-height:0 !important;
  display:block !important;
  background-color:#DAEFEC !important;
  background-image:none !important;
  overflow:hidden !important;
}
/* ドットをゆっくり動かす（2枚を重ねて、別々の速さ・向きで流す） */
body .ab-hero::before,
body .ab-hero::after{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background-repeat:repeat; }
body .ab-hero::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22400%22 height=%22400%22%3E%3Ccircle cx=%2255%22 cy=%2270%22 r=%2222%22 fill=%22%235FC0BF%22 fill-opacity=%22.17%22/%3E%3Ccircle cx=%22240%22 cy=%2240%22 r=%2213%22 fill=%22%23F7C948%22 fill-opacity=%22.22%22/%3E%3Ccircle cx=%22345%22 cy=%22150%22 r=%2226%22 fill=%22%235FC0BF%22 fill-opacity=%22.13%22/%3E%3Ccircle cx=%22140%22 cy=%22205%22 r=%2215%22 fill=%22%23F4A6B5%22 fill-opacity=%22.22%22/%3E%3Ccircle cx=%22300%22 cy=%22305%22 r=%2220%22 fill=%22%235FC0BF%22 fill-opacity=%22.16%22/%3E%3Ccircle cx=%2270%22 cy=%22335%22 r=%2228%22 fill=%22%23F7C948%22 fill-opacity=%22.15%22/%3E%3Ccircle cx=%22195%22 cy=%22370%22 r=%2210%22 fill=%22%235FC0BF%22 fill-opacity=%22.2%22/%3E%3C/svg%3E"); background-size:400px 400px; animation:heroDotsA 11s linear infinite; }
body .ab-hero::after{ background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%22560%22 height=%22560%22%3E%3Ccircle cx=%2290%22 cy=%22130%22 r=%2238%22 fill=%22%235FC0BF%22 fill-opacity=%22.12%22/%3E%3Ccircle cx=%22390%22 cy=%2275%22 r=%2224%22 fill=%22%23F4A6B5%22 fill-opacity=%22.2%22/%3E%3Ccircle cx=%22490%22 cy=%22320%22 r=%2242%22 fill=%22%23F7C948%22 fill-opacity=%22.14%22/%3E%3Ccircle cx=%22220%22 cy=%22390%22 r=%2228%22 fill=%22%235FC0BF%22 fill-opacity=%22.15%22/%3E%3Ccircle cx=%2260%22 cy=%22490%22 r=%2220%22 fill=%22%23F4A6B5%22 fill-opacity=%22.2%22/%3E%3C/svg%3E"); background-size:560px 560px; animation:heroDotsB 16s linear infinite; }
@keyframes heroDotsA{ from{ background-position:0 0; } to{ background-position:400px -400px; } }
@keyframes heroDotsB{ from{ background-position:0 0; } to{ background-position:-560px 560px; } }
@media (prefers-reduced-motion:reduce){ body .ab-hero::before, body .ab-hero::after{ animation:none; } }
body .ab-hero .ab-hero-overlay,
body .ab-hero .ir-hero-orbs{ display:none !important; }
body .ab-hero .ab-hero-body{ padding:46px 0 44px !important; max-width:none; }
body .ab-hero .ab-page-label{ color:#2F8E8D !important; margin-bottom:12px; }
body .ab-hero .ab-hero-body h1{ color:#103331 !important; margin-bottom:12px; }
body .ab-hero .ab-hero-catch{ color:#3f5e5b !important; }
@media(max-width:640px){
  body .ab-hero{ min-height:0 !important; }
  body .ab-hero .ab-hero-body{ padding:34px 0 32px !important; }
}
