@charset "UTF-8";
/* =========================================================
   みらいっこ  共通スタイル
   PCデザイン幅 1440px / コンテンツ幅 1200px
   ========================================================= */

.grecaptcha-badge { visibility: hidden; }

:root {
  /* color */
  --c-text: #473e3e;
  --c-bg: #fffcf5;
  --c-white: #fff;
  --c-pink: #ff6b9a;       /* デザインメインピンク */
  --c-green: #6fcc85;      /* 四葉濃い */
  --c-green-light: #ebf7dd;
  --c-hinata: #ff789c;     /* 保育園濃ピンク */
  --c-hinata-light: #ffe5e3;
  --c-kaze: #9e82e2;       /* 学校-濃紫 */
  --c-kaze-light: #e3deef;
  --c-higashi: #5db2dc;    /* 東山こども-濃青 */
  --c-higashi-light: #d5ebeb;
  --c-obukko: #ffb200;     /* 大府っこ広場-濃黄 */
  --c-obukko-light: #fff0ce;

  /* font */
  --ff-base: "M PLUS 1", "Hiragino Maru Gothic ProN", sans-serif;
  --ff-en: "Chango", "M PLUS 1", sans-serif;

  /* 1440px 基準のスケール単位（1440px以上では等倍） */
  --u: calc(min(100vw, 1440px) / 1440);

  /* motion */
  --ease-soft: cubic-bezier(.34, 1.36, .64, 1);
  --ease-out: cubic-bezier(.22, 1, .36, 1);

  --header-h: 80px;
}

/* ---------- reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--ff-base);
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: .05em;
  color: var(--c-text);
  background: var(--c-bg);
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, p, ul, ol, dl, dd, figure { margin: 0; padding: 0; }
ul, ol { list-style: none; }
img { max-width: 100%; height: auto; vertical-align: middle; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
address { font-style: normal; }
main { display: block; overflow-x: clip; }

.pc-only { display: inline; }
.sp-only { display: none; }
@media (max-width: 767px) {
  .pc-only { display: none; }
  .sp-only { display: inline; }
}

/* =========================================================
   parts
   ========================================================= */

/* セクション見出し */
.sec-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  line-height: 1;
  text-align: center;
}
.sec-title__ja {
  font-size: 32px;
  font-weight: 500;
  letter-spacing: .05em;
}
.sec-title__en {
  font-family: var(--ff-en);
  font-size: 18px;
  font-weight: 400;
  letter-spacing: .05em;
  color: var(--c-green);
}

/* ボタン */
.btn-wrap { display: flex; justify-content: center; }
.btn {
  --btn-color: var(--c-pink);
  --btn-arrow: url(../img/ico-btn-arrow-pink.svg);
  display: inline-flex;
  align-items: center;
  gap: 30px;
  padding: 15px 20px 15px 40px;
  border-radius: 40px;
  background: var(--btn-color);
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .07em;
}
.btn__arrow {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  background: var(--btn-arrow) center / contain no-repeat;
  transition: transform .5s var(--ease-soft);
}
@media (hover: hover) {
  .btn:hover .btn__arrow { transform: translateX(5px) scale(1.15); }
}

/* タグ */
.tag {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px 5px;
  border: 1px solid var(--c-pink);
  border-radius: 3px;
  background: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .05em;
  white-space: nowrap;
}
.tag--new { background: var(--c-pink); color: #fff; }

/* 施設カラードット */
.dot {
  display: inline-block;
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
}
.dot--pink { background: var(--c-hinata); }
.dot--purple { background: var(--c-kaze); }
.dot--blue { background: var(--c-higashi); }
.dot--yellow { background: var(--c-obukko); }

/* =========================================================
   header
   ========================================================= */
.l-header {
  position: fixed;
  z-index: 100;
  top: 20px;
  left: 50%;
  display: flex;
  align-items: center;
  gap: 11px;
  width: min(1201px, calc(100% - 40px));
  transform: translateX(-50%);
  transition: top .5s var(--ease-out);
}
.l-header.is-scrolled { top: 10px; }
.l-header__bar,
.l-header__insta {
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 4px 20px rgba(71, 62, 62, .04);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
.l-header__bar {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--header-h);
  padding: 0 40px;
  border-radius: 70px;
}
.l-header__logo { display: block; width: 200px; transition: transform .5s var(--ease-soft); }
.l-header__logo:hover { transform: translateY(-3px); }
.l-header__logo img { display: block; width: 100%; }

.g-nav__list { display: flex; align-items: center; gap: 20px; }
.g-nav__item > a,
.g-nav__toggle {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .05em;
  white-space: nowrap;
}
.g-nav__toggle { font-family: var(--ff-base); font-weight: 700; }
.g-nav__toggle img { transition: transform .4s var(--ease-soft); }
/* hover：下線がすっと伸びる */
.g-nav__item > a::after,
.g-nav__toggle::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2px;
  height: 2px;
  border-radius: 2px;
  background: var(--c-green);
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform .4s var(--ease-out);
}
.g-nav__item > a:hover::after,
.g-nav__toggle:hover::after,
.g-nav__item--has-child.is-open .g-nav__toggle::after {
  transform: scaleX(1);
  transform-origin: left center;
}

/* dropdown */
.g-nav__item--has-child { position: relative; }
.g-nav__dropdown {
  position: absolute;
  top: calc(100% + 18px);
  left: 50%;
  min-width: 300px;
  padding: 24px 28px;
  border-radius: 24px;
  background: var(--c-green-light);
  box-shadow: 0 10px 30px rgba(71, 62, 62, .1);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -8px) scale(.96);
  transform-origin: top center;
  transition: opacity .3s, transform .45s var(--ease-soft), visibility .3s;
}
/* ホバー時に隙間で閉じないためのブリッジ */
.g-nav__dropdown::before {
  content: "";
  position: absolute;
  inset: -20px 0 auto;
  height: 20px;
}
/* 吹き出しの三角 */
.g-nav__dropdown::after {
  content: "";
  position: absolute;
  top: -7px;
  left: 50%;
  width: 16px;
  height: 16px;
  border-radius: 3px;
  background: var(--c-green-light);
  transform: translateX(-50%) rotate(45deg);
}
.g-nav__item--has-child.is-open .g-nav__dropdown {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0) scale(1);
}
.g-nav__item--has-child.is-open .g-nav__toggle img { transform: rotate(180deg); }

/* フッターと共通の施設メニュー */
.facility-menu__head {
  font-family: var(--ff-base);
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .05em;
}
.facility-menu__list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 10px 0 18px;
  padding-left: 20px;
}
.facility-menu__list:last-child { margin-bottom: 0; }
.facility-menu__list a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 4px 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: .05em;
  white-space: nowrap;
  transition: transform .4s var(--ease-soft), color .3s;
}
.facility-menu__list a:hover { transform: translateX(4px); color: #2f8c46; }
.facility-menu__list a .dot { transition: transform .4s var(--ease-soft); }
.facility-menu__list a:hover .dot { transform: scale(1.35); }

.l-header__insta,
.l-header__contact {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 80px;
  font-weight: 700;
  line-height: 1.1;
  transition: transform .5s var(--ease-soft), background-color .3s;
}
.l-header__insta {
  width: 80px;
  border-radius: 50%;
  font-size: 12px;
  letter-spacing: .03em;
}
.l-header__insta span { display: inline-block; transform: scaleX(.8); }
.l-header__contact {
  gap: 4px;
  width: 119px;
  border-radius: 60px;
  background: var(--c-green);
  color: #fff;
  font-size: 12px;
  letter-spacing: .05em;
}
@media (hover: hover) {
  .l-header__insta:hover,
  .l-header__contact:hover { transform: translateY(-3px) rotate(-3deg); }
  .l-header__contact:hover { background: #4fb866; }
}

/* hamburger (SP) */
.hamburger { display: none; }

/* SP drawer */
.sp-menu { display: none; }

@media (max-width: 1100px) {
  .l-header__bar { padding: 0 24px; }
  .g-nav__list { gap: 14px; }
  .g-nav__item > a, .g-nav__toggle { font-size: 14px; }
  .l-header__logo { width: 170px; }
}

@media (max-width: 900px) {
  :root { --header-h: 60px; }
  .l-header { top: 12px; width: calc(100% - 24px); gap: 8px; }
  .l-header.is-scrolled { top: 8px; }
  .l-header__bar { padding: 0 20px; border-radius: 40px; }
  .l-header__logo { width: 150px; }
  .g-nav, .l-header__insta, .l-header__contact { display: none; }

  .l-header__bar { padding: 0 8px 0 20px; }
  .hamburger {
    position: relative;
    z-index: 2;
    display: block;
    flex-shrink: 0;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--c-green);
    transition: transform .5s var(--ease-soft), background .3s;
  }
  .hamburger:active { transform: scale(.92); }
  .hamburger span {
    position: absolute;
    left: 50%;
    width: 20px;
    height: 2px;
    margin-left: -10px;
    border-radius: 2px;
    background: #fff;
    transition: transform .5s var(--ease-soft), opacity .3s, top .5s var(--ease-soft);
  }
  .hamburger span:nth-child(1) { top: 16px; }
  .hamburger span:nth-child(2) { top: 22px; width: 14px; }
  .hamburger span:nth-child(3) { top: 28px; }
  .is-menu-open .hamburger { background: var(--c-pink); }
  .is-menu-open .hamburger span:nth-child(1) { top: 22px; transform: rotate(45deg); }
  .is-menu-open .hamburger span:nth-child(2) { opacity: 0; transform: translateX(8px); }
  .is-menu-open .hamburger span:nth-child(3) { top: 22px; transform: rotate(-45deg); }

  .sp-menu {
    position: fixed;
    z-index: 90;
    inset: 0;
    display: block;
    overflow-y: auto;
    background: var(--c-bg);
    clip-path: circle(0 at calc(100% - 42px) 42px);
    visibility: hidden;
    transition: clip-path .7s var(--ease-out), visibility 0s .7s;
  }
  .is-menu-open .sp-menu {
    clip-path: circle(150% at calc(100% - 42px) 42px);
    visibility: visible;
    transition: clip-path .8s var(--ease-out), visibility 0s;
  }
  .sp-menu__inner {
    position: relative;
    min-height: 100%;
    padding: 110px 28px 60px;
  }
  .sp-menu__list > li {
    border-bottom: 1px dashed rgba(111, 204, 133, .6);
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .4s, transform .6s var(--ease-soft);
  }
  .is-menu-open .sp-menu__list > li { opacity: 1; transform: none; }
  .is-menu-open .sp-menu__list > li:nth-child(1) { transition-delay: .15s; }
  .is-menu-open .sp-menu__list > li:nth-child(2) { transition-delay: .2s; }
  .is-menu-open .sp-menu__list > li:nth-child(3) { transition-delay: .25s; }
  .is-menu-open .sp-menu__list > li:nth-child(4) { transition-delay: .3s; }
  .is-menu-open .sp-menu__list > li:nth-child(5) { transition-delay: .35s; }
  .is-menu-open .sp-menu__list > li:nth-child(6) { transition-delay: .4s; }
  .sp-menu__list > li > a,
  .sp-menu__acc-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 18px 4px;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
    text-align: left;
  }
  .sp-menu__acc-btn { font-family: var(--ff-base); }
  .sp-menu__acc-icon {
    position: relative;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--c-green);
  }
  .sp-menu__acc-icon::before,
  .sp-menu__acc-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 2px;
    margin: -1px 0 0 -6px;
    border-radius: 2px;
    background: #fff;
    transition: transform .45s var(--ease-soft);
  }
  .sp-menu__acc-icon::after { transform: rotate(90deg); }
  .sp-menu__acc-btn[aria-expanded="true"] .sp-menu__acc-icon::after { transform: rotate(0); }
  .sp-menu__acc-body {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .5s var(--ease-out);
  }
  .sp-menu__acc-body > * { overflow: hidden; }
  .sp-menu__acc-btn[aria-expanded="true"] + .sp-menu__acc-body { grid-template-rows: 1fr; }
  .sp-menu__acc-btn[aria-expanded="true"] + .sp-menu__acc-body .facility-menu { margin-bottom: 18px; }
  .sp-menu__acc-body .facility-menu {
    margin: 0;
    transition: margin .5s var(--ease-out);
    padding: 0 18px;
    border-radius: 20px;
    background: var(--c-green-light);
  }
  .sp-menu__acc-body .facility-menu::before,
  .sp-menu__acc-body .facility-menu::after { content: ""; display: block; height: 18px; }
  .sp-menu__acc-body .facility-menu__list a { white-space: normal; font-size: 15px; padding: 6px 0; }

  .sp-menu__btns { display: flex; gap: 12px; margin-top: 32px; }
  .sp-menu__btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 56px;
    border-radius: 40px;
    font-size: 14px;
    font-weight: 700;
  }
  .sp-menu__btn--insta { background: #fff; box-shadow: 0 4px 16px rgba(71, 62, 62, .06); }
  .sp-menu__btn--contact { background: var(--c-green); color: #fff; }
  .sp-menu__clover {
    display: block;
    width: 110px;
    margin: 36px auto 0;
    animation: sway 6s ease-in-out infinite;
  }
  body.is-menu-open { overflow: hidden; }
}

/* =========================================================
   footer
   ========================================================= */
.l-footer {
  position: relative;
  margin-top: 60px;
  padding-top: 70px;
  background: url(../img/footer-wave.svg) center top / 1440px 365px repeat-x;
}
.l-footer::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 20px 0 0;
  background: var(--c-green-light);
}
/* TOPに戻る（右下追従）：ボタンは動かさず、矢印だけ動かす */
.pagetop {
  position: fixed;
  z-index: 80;
  right: 30px;
  bottom: 30px;
  display: block;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  box-shadow: 0 6px 18px rgba(111, 204, 133, .35);
  opacity: 0;
  visibility: hidden;
  transition: opacity .4s, visibility .4s;
}
.pagetop.is-show { opacity: 1; visibility: visible; }
.pagetop img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.pagetop__arrow { animation: pagetop-arrow 2s ease-in-out infinite; }
@keyframes pagetop-arrow {
  0%, 100% { transform: translateY(1px); }
  50% { transform: translateY(-4px); }
}
@media (hover: hover) {
  .pagetop:hover .pagetop__arrow { animation-duration: .8s; }
}

.l-footer__inner {
  position: relative;
  display: flex;
  gap: 60px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 20px 60px;
}
.l-footer__info { flex: 0 0 auto; width: 465px; }
.l-footer__logo { display: block; width: 240px; margin-bottom: 26px; }
.l-footer__info address { font-size: 16px; line-height: 2; letter-spacing: .05em; }
.f-nav { display: flex; gap: 58px; padding-top: 6px; }
.f-nav__col { display: flex; flex-direction: column; gap: 15px; }
.f-nav__col > li > a,
.f-nav__head {
  display: inline-block;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .05em;
  transition: color .3s, transform .4s var(--ease-soft);
}
.f-nav__col > li > a:hover { color: #2f8c46; transform: translateX(3px); }
.f-nav__head { font-family: var(--ff-base); }
/* 外部リンク（インスタグラム・ブログ）：少し間をあけ、右に外部リンクアイコン */
.f-nav__ext { margin-top: 12px; }
.f-nav__col > li > a.is-ext { display: inline-flex; align-items: center; gap: 6px; }
.f-nav__col > li > a.is-ext::after {
  content: "";
  flex-shrink: 0;
  width: 13px; height: 13px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15.29 14.71'%3E%3Cpath d='M12.65 13.73H1.05V2.7h6.33v-.98H0v12.99h13.7V7.84h-1.05z'/%3E%3Cpath d='M8.7 0v1.02h4.71L4.74 9.08l.78.73 8.67-8.07v4.38h1.1V0z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15.29 14.71'%3E%3Cpath d='M12.65 13.73H1.05V2.7h6.33v-.98H0v12.99h13.7V7.84h-1.05z'/%3E%3Cpath d='M8.7 0v1.02h4.71L4.74 9.08l.78.73 8.67-8.07v4.38h1.1V0z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.f-nav__sub { display: flex; flex-direction: column; gap: 10px; margin-top: 15px; padding-left: 20px; }
.f-nav__sub a {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  transition: color .3s, transform .4s var(--ease-soft);
}
.f-nav__sub a:hover { color: #2f8c46; transform: translateX(3px); }
.l-footer__clover { position: absolute; pointer-events: none; }
.l-footer__clover--s { right: 84px; top: 0; width: 80px; animation: sway 7s ease-in-out infinite; }
.l-footer__clover--l { right: -40px; top: 70px; width: 135px; animation: sway 8s ease-in-out -2s infinite reverse; }
.l-footer__copy {
  padding: 10px;
  background: var(--c-green);
  color: #fff;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .1em;
}
.l-footer__copy small { font-size: inherit; }

/* 1360px以下：文字にかぶらないよう右下の空きスペースへ（TOPに戻るボタンも避ける） */
@media (max-width: 1360px) {
  .l-footer__clover--l { top: auto; right: 100px; bottom: 30px; width: 110px; }
  .l-footer__clover--s { top: auto; right: 215px; bottom: 105px; width: 56px; }
}
@media (max-width: 1100px) {
  .l-footer__inner { flex-direction: column; gap: 40px; }
}
@media (max-width: 767px) {
  .l-footer { padding-top: 50px; background-size: 720px 183px; }
  .l-footer::before { inset: 10px 0 0; }
  .pagetop { right: 16px; bottom: 16px; width: 48px; height: 48px; }
  .l-footer__inner { padding: 10px 24px 40px; gap: 32px; }
  .l-footer__info { width: auto; }
  .l-footer__logo { width: 200px; margin-bottom: 18px; }
  .l-footer__info address { font-size: 14px; }
  .f-nav { flex-direction: column; gap: 22px; }
  .f-nav__col { gap: 18px; }
  .l-footer__clover--s { width: 44px; right: 150px; bottom: 95px; }
  .l-footer__clover--l { width: 80px; right: 72px; bottom: 30px; }
  .l-footer__copy { font-size: 11px; letter-spacing: .05em; }
}

/* =========================================================
   animation
   ========================================================= */
@keyframes sway {
  0%, 100% { transform: rotate(-6deg) translateY(0); }
  50% { transform: rotate(6deg) translateY(-8px); }
}
@keyframes floaty {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}
@keyframes blob-breathe {
  0%, 100% { transform: rotate(var(--r, 0deg)) scale(1); }
  50% { transform: rotate(calc(var(--r, 0deg) + 3deg)) scale(1.03); }
}
@keyframes wobble {
  0%, 100% { transform: scale(1) rotate(0); }
  30% { transform: scale(1.04, .97) rotate(-1deg); }
  60% { transform: scale(.98, 1.03) rotate(1deg); }
}

/* スクロールでふわっと */
.js-fade {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1s var(--ease-out), transform 1.2s var(--ease-out);
}
.js-fade.is-in { opacity: 1; transform: none; }
/* スクロールでぽよんと */
.js-pop {
  opacity: 0;
  transform: scale(.6);
  transition: opacity .6s, transform 1s var(--ease-soft);
}
.js-pop.is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition-duration: .01ms !important;
  }
  .js-fade, .js-pop { opacity: 1; transform: none; }
  html { scroll-behavior: auto; }
}

/* =========================================================
   TOP : MV
   ========================================================= */
.mv { position: relative; }
.mv__stage {
  position: relative;
  width: min(100%, 1440px);
  height: calc(890 * var(--u));
  margin: 0 auto;
}
.mv__blob,
.mv__clover,
.mv__photo { position: absolute; }
.mv__blob { z-index: -1; max-width: none; }
.mv__blob--1 {
  left: calc(-99 * var(--u)); top: calc(-160 * var(--u));
  width: calc(523 * var(--u));
  animation: blob-breathe 12s ease-in-out infinite;
}
.mv__blob--2 {
  left: calc(506 * var(--u)); top: calc(-180 * var(--u));
  width: calc(1036 * var(--u));
  animation: blob-breathe 16s ease-in-out -4s infinite;
}
.mv__blob--3 {
  --r: 8deg;
  left: calc(-102 * var(--u)); top: calc(426 * var(--u));
  width: calc(757 * var(--u));
  animation: blob-breathe 14s ease-in-out -7s infinite;
}
.mv__photo {
  left: calc(120 * var(--u)); top: calc(70 * var(--u));
  width: calc(1200 * var(--u));
  animation: mv-photo 1.6s var(--ease-out) both;
}
.mv__photo img { display: block; width: 100%; }
/* MVスライダー：写真の形（mv-mask.png をCSSに埋め込み。file://でも表示されるように）で切り抜き、枠の中で拡大しながらクロスフェード */
.js-mv-slider {
  aspect-ratio: 1200 / 750;
  overflow: hidden;
  --mv-mask: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABwgAAARlCAQAAAAHGFsUAABT2UlEQVR42u3dXWjld3on+G/Jteg08VIK6VCn6YRS0x1KoTv4NJngE9LBCpOlFdKN1aSb1rIOrWESojCBVJiEqSUzjMMGpgZ6mAqTYapZwyqsYdVgWDUYVg19cQy+OAYvnAJfqMAXR+ABFXhAAg8cQYXdCx2pVO96OS//l8+ncLlcL9LRc/5x+5vf83ueSwGAsmkcf9945MdJMpckaSYZZG74T3PHv2tu+BGaxx/r6Nce/fWTn+vKOV7hfgaP/cwge4/88+5TfmUve2k88jO7GaSRveFHGxz//eH3e8c/HngwADirS0oAQKGiXiNzaQz/nuMfH33L8c/mxM8dfn+1JjU6GIbAx78fDL8fHP/z0beT/7x34p8AEAiVAIALntSd9myqMTyba2QuzSRzJ749Hu6O/mn2HHEp5/pzxY6AueBXdXB8ijg4cZ74MDLuDaPibg5PJR/+3OAM7/BFng4ABEIASh4Oj071Mgx5c2keB77m8GdygZj3qFlFf259Llqjg+NG1kF2h39/+OO97D1yBnny7wAIhABU1txjZ3uHfz38pzlRrWb2T8TFvUdOHR///qhhFQCBEIBM+0Rv8ML7fM3hGV8zc8Mfn7zRN1urxk3O+x4fPHGGOBieMSa7wxh5eO64e44W1YbGVACBEIBRjHFpDkPf/HEUfPF/8B9o4eSZzauz5/izR+2oe8ffBsd/z2NNqgAIhACcKf4dnfg1H/nx3LmWK8Ck4+Ygg+HYm70n/jr5IwAEQoCaRLzBc1rp5tLM/PDkb/7Ejb/ZZ/zntlM+ytueup+Tk1MH2c1e9rI7/PveMEhetJUaQCAEoLCNn3PD8HcUA5/X9Hmg1ZOKNKfOnvL3H4bCw4h49NfJETgAAiEAJdE8HvTSHJ4Dzmn8hHO1oT4Mhw9PEw//AhAIAcj0Z38ejnyZTzPzmT/R/HlF2yeMvBH14MSqjN3ht3720n/OOaJmU0AgBGCkDaCHA18WhjGw+cw1D1Y8wOhaUJ+/TOUoHO5mL/3sHo+xARAIAchFW0Dnh0sfDhtBrykKFNz+8Y3EwzPEoxE2AAIhAHleK1kjjcxn4fgM8PBMcFYDKKQsZ4qzTwmIhyeG/eymP/w2eEYbuAZTQCAEqFUsPGoCbQ3vATbztPY0DaBQpduIOREN+8ORNU4QAYEQoBbmju//HQ2EMQUU6h0dD28gHrWYbmfXSSEgEAKkMq2gjcxlIfOZTyvN4ZngrCZQIAfJE/82OLxx2E8/vexm+6ntpZpLAYEQIEU+BXw4DbSV+TS1gQLnajE9SD+76WV7OMdUcykgEAIUNAQejYJpZsE8UGAMdo5H0+xmO33nhIBACJApNoMejoNZyEKaw2bQWY2gQMY/wfSotbQ3bC3tP6VZXVwEBEKAjP4c8OFU0NYTi+E1ggKTvnd4NJimm362hzsQAQRCgJGZP94O2MxCrioIUFj72R2Oo9FWCgiEADltQ+iT7aCtzKeVhWEz6BXNoEDKdZa4l930h22l24/9W05LKSAQAjz2n0fNzA3ngraesh/wQDMoUNp1FoP00st2ttM3qxQQCAFyYlH84YbA+cxnXuQDKu7+cMthP9tPnBsCCIRA6tIQunDcEHpVOyhQy2i4m9300ks3u4/8e1JDKQiEAJULhYcTQttpZeGJhlDtoEBq3FR6kN1sp5tudrNrSikIhADVsTCcEXr4l9AH8Hx3sz28a9hzTggCIUBK2BLaSDOttIY3A+fEQICc7uRw9sQCi8O7ht30Hjkz1E4KAiFAoWeELqSd5lMWxouFAOdpKN1PP910s53dx+4aAgIhQIqwNF5LKMD47aSX7eFfgEAIkGk1hc4NW0LnM//IaaAZoQCZyHzS7XTTsbgCBEKASTaFNrOQVtpZMCUUINNuJz3IXrrppJe+ZlIQCAEypqbQo5bQ1iMbAwFIYc4Mu9nOdrrZVgwQCAEysqbQhTSfGBEDQHGbSXvppPPIiaHJpCAQApx6UuhC2mml9UhTqJZQgJSqmbSfTrrppZ89xQGBEOB55jKfdhYyn1auKQdAhXyQXnrppasUIBAC0Rb6xPr4dtppZu7E7UCTQgGqZj/9YStpXzFAIARS69PAZuaGQfDRvYHaQgFSyWbSk62k2+lkK/303SsEgRCok2bm08pCWlkwKxQgdT8x7GQ73XSzqxggEAKpVFtoHpksN5f2sC20+djuQABS8zPDnfSzla0TC+5NJAWBEEg1zgMX0srSE22hmkIBePSawEF208lWehpJQSAEyq2V1rA19LpiAJCzNZJ2001PIykIhEBKNi/0cEjMQpruBwKQizaS9tLJVrattgeBEEih54UuZCGLaVsiD8CIY+FBtrOZbratqgCBEChWEFxIazgx1JgYAMZrJ51hKykgEAKZXmPoXFpZTCsLJ+aFGhIDwCTcTz+dbKWreRQEQiATbwxtp/3YeaAoCEAmvtr+3nBNRV9ZQCAEMtbTwYW0NYYCkKK2kXZOjJ0BBEJgJK2hjRONoVedBgKQop4Y7qSfTjbEQhAIgYubTzPtLKb9yOIIURCA4k8j3chW+tlTFhAIgbNayELaWUgr1xQDgNJ6L71spSsWgkAI5BQzQ+fTTjvtNAVBAFKVc8N+utkQC0EgBPLMmaGttLKUhRPNoFbJA1ClNtL72chWetlVFBAIgUPt4Tp5M0MBqIe76WYrHaeFIBBCajwztJmltNPKvCAIQA3d00QKAiGkhq2h81nIYtqPtYZqDAUgmkgBgRBS2dbQ1nClvPAHAHmkibSTrWwpBAiEkBq0hjoPBIA8cWq4na2sH6+zf3QGNwiESgAp39TQdha1hgLAqZtIj9bZ95QEBEJISRfKt00NBYALxcPNbKWTvlKAQAgpSXNoM+0spp35XFUYALiwnfSynq3h/9ZqIUUgBAppPvNZzGLaWkMBIKOeQ3ovW9nItvUUCIRACnZLsJ1W2mnlmmIAwFi9ly03CxEIgRSiTXQhS2lnIfPOAQFgYu6nm41sDc8KtZAiEAKZ9Er5VtpZSvM4CB4kQiEAZHJNpPezoYUUgRDIROeGtobtocIfAKQQLaQb6RzvLASBEMjo54bOpZWltDN/fEvQsBgASGGmkHaznq6zQgRCYLSawxUSiycWSIiCAFBE93InW84KEQiBjKQ5dDGttPOKUgBAaexnM1vZNGYGgRDIOZtDDzcJNq2QAICSupvNrKevEAiEQE49OXQh7SylnSvRHAoAKfkM0oNsuleIQAi8WCuttNLOq0oBABXzQbay4V4hAiGQpzSKtrOUxcyfGBgDAKRip4U76WQ9HeVAIASSo7Xyy2mbHAoANQmFB9nO7WxlV0EQCKG+5tNOW3MoAKSuw2a2spGeQiAQQmo1O7SRhSxl6cRaeQAgtTwrvJ9ebmdLORAIoQ6RsJlWlrKU5nFLqOZQADCD9G7uZMtiCgRCqK7DbYItA2MAgKfayXq20lUIBEJIxYbGrGUl88N9gk4EAYA846xwP1u5YwIpAiGkMmNjlnJzeFPwIBEGAYAXNpB+kNvZssIegRDKrZ2VLBsbAwDkfCvs190qRCCEcmrlRpZzJVpEAYCc+1bhZm4LhQiEkFJNEm3nRpaGS2eFQQAgbhUiEEI9rGQtrykDADBSP866XYUIhJBCnwwu50ZejXNBACBjOC/sZiPrGSRpZKAgCISQAs0SXc5arisEADDW+aP3citb2VUQBEIoThhczapZogDAhNzNRjaMmkEghOlrZk0YBAAy6bPCnWzmTraVA4EQMrXFEqtZtVgCAJhSKDzIHaEQgRCmYTGrWREDAYAp28961tNTCARCmJR2bmYxVxQCACiE+9nKm+4UIhDCJMLgjXw/iTZRACDaR0EgJLVqE/2BMgAAKWr76EY20lEIBEIYfRi8oU0UAChBKNzKHaEQgRBGpZHF3MxrSbSJAgApRfvoRm5pH0UghItbzmpeVwYAIKaPgkBIrSwdnwwCAMT0URAIiTZRAICYPgoCIdEmCgAQ7aMIhBBtogAAKWr76EZuZTdJIwPlQCCEaBMFAFKn9tGd3MpmdpUDgRCiTRQAqKG7Wc8dZ4QIhPBQOzeFQQAgdTkpvJtb2RQKEQghaedGvq9NFAComZ/kdjrKgEBInS1mNT9QBgCgpn6cO0IhAiGpbZvoYq4oBACQOi+kuJPbxswgEFIvrdzUJgoAxI3C2ST7uZ07QiECIfUwnxtZdTIIAHDCvdzOHWVAIKTamlnLaq4pBABAnlxIcSsbyoBASCp6MriSG7kabaIAAM/yD7mdnjIgEFItjdzImpNBAIBT+LvccqOQs3lJCSiw1byV/yVzOchlxQAAyItmsX8vjXyYB0pBnBCScp8MLuVmXlUIAIAzei+3sqUMCISU11Ju5jVlAADIeRfX33KjEIGQlHLT4I2sGB4DAHAh97ORmxkoBAIh5bGQG1nNbMwTBQDIhRfX38ub2RQKEQgpg7ncyA1r5wEARuonuZWuMiAQUuwwuJbVXFcIAICR28+d3LaOglg7QUEtZyPfz+ctlwAAyOibR38u38i385khM8QJIQUMg6t5XRkAAKJ5lDghJLUaIfNWbuarCgEAMJH/9vpeGukZMkOcEDJ181nLWq7EPFEAgExw8uhO1qytJ04ImaJG/ihv55tpJIl7gwAAE3F5OMzvjfxqPjZkBoGQ6VjJev55XlYIAIAp+Vq+k8/yUR4oBQIhk9TOW/lXaSoEAECm2Tx6Jd/Kb6efvmIIhJAJ3Rq8nf+UrygEAECK0Dw6n9VcMmRGIIRMYPH8zdzOawoBAFAoi/m9DGwoFAghYxwh861s5A8yZ/E8AECK1jz6xSznS+llTzFi7QRk9P9fp5v5pjIAABTaTm5mQxkEQhilZm5lOVcUAgCgBH6Sm9lWhmgZhZGEwT/KO3k1DY2iAAClsJA/zCA9yygEQrio5byVH1g8DwCQcs1+WMpv5ON8ohQCIZznXyEPkrSynr/MF5UDACDlGzJzPd9L8r5SxB1CyNkbRW9kza1BAIASR8LZJO9lzX3COCGEM1nN3+cPho2iAACkxEvr/zDOCeOEEE6rnZt5XRkAACrkvdywtD5OCOEF5nMzd/JVhQAASJWaR7+cf5bPzB0VCCHPbRS9k9fNEgUASPWaRy9nKb+Rj7KrHAIh5CmNom/lX+bzdg0CAFTWV/KdPEhXIQRCyCMTRf82f5/rSewaBABIhVtHr2QpX0ove4ohEEKGjaJv5fcFQQCA1GPuaCvfyW4+Uo6YMko0ir6ZbyoDAEDt/ENuOCcUCEnNV8/fyKxCAADU0t3cSEcZomWUWlrOW/kDjaIAAKnv8cBqPpcPM1CKOCGkVhZyK0vOBgEAsLI+TgiplUb+LG/l150NAgCQg3zZKgqBkPpYzFv5k7ysEAAA5HDu6MtZypfSzWfKES2jVNhc3sxqruRAsygAAI+5lxvZUoY4IaSiVvJOvpmGOAgAQJ5sHb2a7+VyunmgGHFCSKo2ROZmfqAMAAC8wE9zI9vKECeEVMiNvJXfUgYAAF7oK/lePjV1VCCkKlpZz7/IyzkwVRQAgLy4dfRKlvPz6WgdFQhJ6YfI3MydfDVJxEEAAHK6qaNJO7+Rj/OJcgiElNdS3s7301AIAABy1nPC6/m21lGBkLJq5m/zn9LUKAoAQM67nXA5n8uHGShHTBkl5TobvJVXlAEAgAv7IGvOCQVCUqJ7g7ezYtMgAAAjcj9r2VSGaBkl5Vg+/5o2UQAARublrJg6KhBSfPO5k3+bOYUAAGDE2vmNfJhPFUIgpKhWs275PAAAGdfC+m+nn22FEAhJIc8G/zpzZooCAJBxLaL4haxkPz2towIhKejZoDgIAEDGuLB+Kb+Sn1lEEVNGSVHOBm/l+8oAAMDE3M1ausoQJ4Rk+meDG3lVGQAAyORaR7+Yb+djtwkFQlKAe4MvKwQAAJls6+jLWcmldBQjWkbJtPYN3so1ZQAAYGp+mtXsKkOcEDJhzfww/85MUQAAMt1FFL+dj/KJQgiETNJS1vP7ScwUBQAgU71NeC3fSz8fKYVAyGTM5VZ+mC8qBAAAKcJtwka+nc9nSzEEQsZvMRt53bkgAACFioXtfCndfKYUMVSGsWnkRt7MrEIAAJAi7iZcsYgiTggZk1bezj93NggAQIo69vDb2c7HCiEQMno3sp7rygAAQIo87eKN3M+HCiEQkhGvn/+XaSgEAACF9618Lu/ngUIIhGRE6+ffzm8pAwAAJfGN/Ep+loFCTMeMEqRKh+6383/lmkIAAJDy7Cb8frbSUoiYMkoutmLizbymDAAAlND9rKSjDNEySs47RuaOMTIAAJTUy/lOBukqhEBIzjFGZj1/bowMAAAp8xbtpVxySigQclbL2cirygAAQMp/CepL6eYzhYg7hJzS7axlVhkAAKiI97KSXWWIE0JeqJWNfD+XFQIAgFRl5uiX89t5P58qhUDI861mwxgZAAAq5XKSX8q3s52PFSNaRsmzNg7eyp8oAwAAFbWf1WwqQ5wQ8hTtvJPfVwYAAFLdmaPfyWfWUAiE5CkbB9/KNWUAACDVbh5dyhfyrkIIhDzUzN/nX9k4CABA6jBg5lWRUCAkJ1pFN/JNZQAAIPU4IzzIq/nVvG8zYQyVITdyy8ZBAABq525Wsq0MAmFqPVX0Tr6vDAAA1NK9rKSXRgZKES2jqedU0X+qDAAApJ53Ca/md/Jh+kohENbRWtZNFQUAIHVeVv/5fDsfaxwVCFO7VtHb+bemigIAUHsv5zv5NB8qhEBYH61s5HVlAACAJJfzrdwXCQXCuljJ27muDAAAcEwkFAhroZG/zX/MywoBAAAioUBYL/N5Oz9QBgAAeGok3E9XGQTCqlrK23lVGQAA4Jn/xXyQ95VBIKyiG3krV5UBAACe43dFQoEwlVwy8de5rBAAACASCoSxZAIAABAJBcKqW86GJRMAACASCoT1czP/e17OgXZRAAAQCQXC1Orm4J38yyQRBwEA4MyR0F5CgbDEFvJOfl8ZAAAgVtULhDWzmHfdHAQAAJFQIEwNdw6u54oyAADAhSPhTnrKIBCWRyM/zL91axAAAEbi9/JxPkojD5TiLC4pwVQ0s55vKgMAAIzMQZazpQxnM6MEmcbNwS1xEAAARmo2d9JShjghTNFX0Ls5CAAA43Avy9lWhjghLKw383+LgwAAkHE0jV7PRuYVIk4IU8xBMrfzJ8oAAABjdDfL6StDTBktmPm8ne/nwGRRAADIOAc4fimbpo0KhMXSykZ+KweZVQoAAMg4G0e/ml/OpkIIhMWxkrfz5cTpIAAAjNnlJK18Ie8qhUBYDGu5Y5AMAABkcqeEr+Yg7yuEQJipD5L52/w7J4MAAJDJnhL+bnbSUwqBcJrm8pa5ogAAMBW/k14+VoZYO5FpnAwOMp87+aZBMgAAMCX7WXRKKBBORzsbuaYMAACQaW4lXMquMjzLjBKMyWI2xUEAAMh0h8u8ko3MKUTcIZyo1aznF5QBAAAy7eEy8/mCrYQC4SS9mf+YhjIAAEAhtPK5/EwZBMJMaM3EXysDAAAUyDdyPx8qQwyVybjXTKzndWUAAIAUbd7ocjrKIBCONw5u5jVlAACAArqfxWwrQ0wZHZP5bImDAABQUFezkaYyxB3CjGvNxFeVAQAACquZX867eaAQAmFGOkbmQZazkas5yGXlAACAFHcr4f9g3qhAOFoPspK3ciUHmVUMAABIkbcSfiM76SlFDJUZmbXcFgUBACBlOSdczpYyCISjcTt/rggAAFAi97KUvjIIhBd3J3+iCAAAUDLvZSkDZXCH8OJx0CAZAABI6VbG/WLeVQaBMBeYLfp2fmCQDAAAlNI/yX66yiAQ5pwbTDbyeuJ0EAAASuo308vHcYeQnO1kcJCFbOQVp4MAAFBqO1ms+3CZGU/BGYmDAABQDdeynrloGeUMFrKZr0azKAAApALDZX6+3sNlBMKcoVn0QVp5J9eVAgAAUo0l9a18kl7cIeQU2tnINc2iAABQIftZqu+8UYHwrHEQAAColntZzG60jJJnN4uuZCNXlQIAACrn8/nlvJsHAiFP9yArWc/PKQQAAFTS1/Lf6tk2KhCexkrW3RsEAIAK+518WMc19fYQvtiaOAgAABU3mzuZFwh5Mg7+F3EQAABS9QUU13InWkZ5Ig4CAABVdznJV3IpHYEQcRAAAOpoMXezHXsIEQcBAKCGdrKYftwhFAfFQQAAqJ1ruZNGtIyKg4oAAAA19JX8Y31uEmoZFQcBAIBH/V62BEJxEAAAiJuE0TJaC408EAcBAKD25vKlbAiEdfMgK/k/lAEAAGpvIffzYbSM1spK1jOrDAAAQA6ymG6snUg9mkXFQQAA4KHZ3MlctIymHs2ii3lHHAQAAHJ0QvjFfCGbAmEdtPN2fkEZAACAoctJWrmXj+IOYarcLDpIK5u55okHAAAecz/tKi+gcIdwkIVs5FoOPOsAAMBjrmY9jWgZTXXHyW7meg4PhAEAAPLITcIv57/n/WgZrXQcBAAAeFYoXEpHIKyeZjbzag5MFwUAAJ7jXtrZi5bRVGuczGZ+SxwEAABe4PP5XLYEwmp5K6/H3UEAAODFvp6Psh0to5VxJ3/idBAAADilnSxWbwHFSzWOg04HAQCA05rLF/KOQFgFt/LnORAHAQCAM/hadtKLltGUeZDMIGv5L55lAAAgtW8brdsJ4YMs5+/T8CQDAAA5e9vol7KZBwJhWS1nPVc8xwAAwLks5L/mw2gZLaXFbIqDAADABeynXZ0FFDM1euOauZMrOfAEAwAA53YldzIXLaOli4ObeSVWTQAAABczn/28LxCmVJc/38lvWTUBAACMwG+kk08EwvJYz+/nILOeXAAAIBdfZ/cr2ajCtNF6BMI38y+iWRQAAMjI2kb/MZ2YMloCN/PvPK8AAEBGO210Kd04ISy4pdxxNggAAIzUQX4uv5x3yt42WvVA2M5mfs7TCgAAjNTlJF8p/5L6areMzqebq55VAAAgltSnXovp57IuDgIAABnfkvrb0TKaYg6CfTvf9IQCAABj9Mv5JL1oGS2c2/lzmwcBAIAx28li+nFCWChr+d9i8yAAAJCxX1X7Qt4RCFOYVtEHWc7/6bkEAAAm4mu5l4+iZbQgFrKVa55KAAAgk2obbWUvTggLoJmtfNkTCQAAZHJto5/LlkBYBG/ntzyPAADARH0975dxtEzV9hDeyes58DQCAAATNZvbacQJ4VStmi0KAABkOpfX/jGdGCozNUvZyBXPIQAAMBX7WSzbkvpLFcrjXbNFAQCAKfpplqJlNNOY6vNuvur5AwAApugr2SnXGWFVTghv5889fQAAQKa9kbCd3TghnKib+escGCYDAABk2r2Lv5jNOCGcoMVsGiYDAAAUwkGWyjNttPyBcD7dXPXUAQAABfFBlrIXLaOZxIHsel7xxAEAACnKCeG13E83TghjmAwAAJAabiRsZ7sML3Sm1GVezVoOPG0AAEChXMmtaBkds1Y28nNmiwIAAIXzpXxUhjPCSyW+PdhxexAAACiou2lnECeEY3In3/SMAQAABdXMf8/7cUI4FjfyH3OQWU8ZAACQoo6WaaUfJ4QZ/Sr6O2m4PQgAABRYI1/IOwJhRn70+naueboAAICC+1o+yMcC4Wi9ndc8WQAAQAn8St4p8miZmRLeHnzdUwUAAJTCq1mJoTIj007HKBkAAKA0dtLObrSMZhS7B3+WX/BEAQAAJUoxv5jNaBkdgduGyQAAACWznLZAeHFr+YFnCQAAKJkreTONaBm9kFbeysueJQAAoHS+kv832zFUJudf6djJq54jAACglO6lnb04ITynH+YPPEMAAEBJfT4H6cQJYc53CXPDsgkAACBlXj+xmH6cEJ7ZfDYsmwAAAFLu9RM/n608iCmjZ3TLsgkAAKD0VtKKtRNndCPf9+QAAAClN5ub0TKasy2bWC/qxg4AAIAzWci9fBRDZXLaZRNbec1TAwAAVMTdLBZp/USxW0bX8loOPDMAAEBFvJKVOCE8lXY6lk0AAACp1vqJdnbjDuELNLORL3paAACAVGv9xD/mZ9Ey+gI384p2UQAAoHLWMh8nhM+1lL9NI5c9KwAAQMU08rm8G3cI8+xD1G6ue04AAIBK2s9SutEy+gxvioMAAEBlXSnKivoinhAuZ8N0UQAAoNJ+J524Q5gn20XXTRcFAAAq7gt5WyB80q287tkAAAAq7ivZSS9aRvPodNFN7aIAAEAN3M1i9uKEMA+X0WsXBQAA6qGZ+9OeNTpTuGX0AAAAqcmK+qZAeGQxq54IAACgNq5nOe4QDvWcDwIAALWyk9Y07xHOaBcFAACYkmtZixPCtNLJFU8DAABQM/fTTj+1njLayFv5qicBAAComYNcyUF+llq3jK7km54EAACgdmaTrKWVGp8Qzmc9c54EAACglhq5lHdT2zuE6/mBZwAAAEh9G0db2U4tW0aXsuL9BwAAUufG0Zup5QnhXDrWTQAAADW3n8X0UrsTwjVxEAAAqL0r09lHeGnK2we3ctV7DwAAxBnhFM4Ipztl9HZe9b4DAABMZ9boNE8Il7ORWe87AABApjJr9KUpjpO5k2s5yGXvOwAAQC7nf8xmajJU5kZeTZwQAgAA5KiLspVanBA283Ya3m8AAIBM7R7htE4I7+SKdxsAAOARK5M9I5xOIFzKkncaAAAgU91HeGkq42Q285p3GgAAIFOdNTozlYuSr+XA+wwAAPCE2dxMhU8I59LLNe8yAADAU91PO/1UdMro7fxT7zAAAECe3jJ6JQf5WSp5QthKx3xRAACA59hJO7up4B3Cm+IgAADAc13Lcip4QriUzSSz3l8AAIA874ywlb1U7A7hW/lyLntvAQAA8vxhnPfTTaVaRldsHwQAADiVtTRToRPCZtbzee8qAABAXjxr9Gr+a7pp5EEqcUK4muvW0QMAAJzSchoZpBIto82sxTgZAACA05hN0k47FblDeCPXvKcAAABnCIU3U4m1E9bRAwAAnN3vZSulPyG0jh4AACDn6LVM2QNhO0veRwAAgHOkqVbZA+FarpgvCgAAkLMun7iS1ZT6DqH7gwAAAOd1P4vZTmlPCG+IgwAAAOd0NSsp7QnhUv4f7yAAAMC57WRhXAvqZ8o9EwcAAKDiro3vjHBmzOeDi949AACAXOygba58gbCRG5n13gEAAFzIwriO2sYZCJfzTe8cAABALrZ8YjYraaRkQ2V6ecV7BwAAMIJQuJhuSnRCuCoOAgAAjMTseAbLjO+EsJtXvWsAAAAZzYL6VnZTkhPCpbS8YwAAABnVgvq1lKZl1HxRAACAjHRsZ6McgdD+QQAAgIx4+cRyOQLhmvNBAACAjHb5xOqozwjHEQhbWfJuAQAAZJRzRpN2FoofCG86HwQAABi5K1kteiBsOx8EAADIeAbLzBU7EK7lSg68TwAAACN3bbTLJ2ZGfn9wOdEyCgAAkPGcERY4EK7mincIAABgTEY6xHO0gXAuK94fAACAjG/5xHJRA+GNXPUOAQAAZHzLJ5ZHt3xilIGwOeoRqAAAADzm6uiaRmdGernxmvcGAABgzFbTKFogbLg/CAAAMAGvZLFogXAxbe8LAADABKwVLRDesH0QAABgItqZL1IgbI3qyBIAAIC8aLDMSpEC4ZrzQQAAgExmG2GylLmiBMKFUa5GBAAAIM/fRvjaKLYRzoxo4YSF9AAAAJno8okLu5RRLKTfyiveDQAAgEyycbSZvUz9hHAxr+TAuwEAAJBJNo6upgAtoyvDHlYAAAAmZzmNaQfCVl73PgAAAExcK61pB8I17wIAAEAmf4fwykX3PVw0EM5bOAEAAJDpLJ9YTnNagbBh4QQAAMAUXb/YNsKLBMJB5rKcmDAKAAAwJWvTaxldSDsmjAIAAEzL0kWaRmcumEWFQQAAgOm50GCZiwTCuSypPgAAwFStTCcQrhooAwAAkNJuI5yZTg4FAAAgo9lGuJLDLRATCoSNJEvnT6EAAABkVNsIFzOXweQC4SDJUmYtnAAAAMj0m0bnM9GW0WaWLJwAAABIEU4JVyYbCBdz3fkgAABAijFpdG6SgXDZ+SAAAEBBXMvi5ALh/EVWHwIAAJACbCOcOecGQqeDAAAAxdFOczKBsJEl1QYAACiQ5nmaRmfOlTxtIAQAAEiB1tPPnufgbuZcA2VsIAQAAEjB1tM3xx8IDw8i3SEEAABIoSaNtscfCFt5RaUBAAAKZ3n8gdBAGQAAgGIGwrnxBsK5rKoyAABAAV0566TRmTMnziuqDAAAkAqsp58Zd08qAAAAKeR6+rMFwoWzT60BAAAghVxPf/pA2EiymKsqDAAAkEqspz99IBykkaXESnoAAIBUYj39WVpG562kBwAASGXW08+c6XqiCaMAAADFtjieQLiisgAAACn6evrG6ANh04RRAACAFL9ptDX6QGglPQAAQKq0nv70gXBJVQEAAFKGW4SN0QbC5ukPHQEAAJiihdMOlpk59Ur6pqoCAACkDPsIW6MLhIMki5m1kh4AAKDwDpJRBsKjCaNW0gMAAKTw54PJUhZGFwgX8oqqAgAAlMSV060NnDFhFAAAINWbNCoQAgAAWD1xkUDY0jAKAABQKtdO0zR6mkC4rJYAAAAlszSaQLiokgAAAKlc0+jMKVZOzKskAABAycy/ePXE8wNhI8lSrqkkAABAyVxNa5jqzhkIBznccH+glgAAACVykMPrf4OLtIw2s5jDTfcAAACUxWySdpq50B3CeSsnAAAASun6i24RzrxwB6GGUQAAgJSyabR1sUC4FA2jAAAAKWXT6Au2yl967q/OpZ8r6ggAAFBK+1nIbs55QrgoDgIAAJTWlbST8wdCAAAAymvx/IGwrXoAAAAldu4TwoXMqx4AAECJzT9v0uizAmEjSTtXVQ8AAKDErqY1THhnCISD2EEIAACQSuwiHJy1ZXQurdhBCAAAUG6tZ50PPi8QNl+00x4AAIAUfTl9OwtnD4QLuaJhFAAAIOVuGp199rjQZwfCRQ2jAAAAKf8Z4eL5AiEAAACp6nL6S3nWDcK+80EAAIBUoW10Prs5wwlhWxwEAABINdpGF3OmltFFNQMAAKiI9tkCYVvFAAAAUpVdhGcIhPNpqhgAAEBFzD999cTMM3YQCoQAAABV0Xz6cvqZZ46UsZQeAAAgFVlO30rSOG3LKAAAANWxkGRwmkA4l4XE2gkAAIBUY+1E0spcTtUyOv+sCTQAAACknCeE86cNhG4QAgAApFK3CBdOFwjb0TAKAACQijWNnjoQAgAAUCWLT/7UpSd+ppF+rqoVAABAqtU22sxeXnBCuCAOAgAApHpto60Xt4xqGAUAAKii9osDoZUTAAAAVXSKE8IFVQIAAKig+RcFwrk0VQkAAKCCmo8fAM48cYQoEAIAANQuEDaSzOeKKgEAAKR6aydmMz9Mfk8JhIMcXjI8UCkAAIBU8xbh4Fkto43MJ5lVJQAAgFRtD2HSylyeeYdw7smpMwAAAKQqJ4QCIQAAQC1de14gNFIGAAAglR0r89jm+RlL6QEAAFKfW4TPDIQtFQIAAKiwlhNCAACAelp49mJ6gRAAAKDKmmk+PRAuGCkDAACQat8jbD09EM6rDQAAQKq+i/CpgdBIGQAAgNRnrMzMI72kAAAApI4nhEbKAAAAVD8Qzj0ZCOecEAIAAFTeiew387SUCAAAQGUD4YJACAAAUD8Hmc18ksbDQNhIMpdZtQEAAEj1l9Pn8RPChSQHKgMAAFCDQDh4GAgHlk4AAADUwGyShaMLg0cnhI00h78EAABAKn1C+FggnDu5nBAAAIA6BUItowAAAKlF22jz8UB4RVUAAABS/cUTeTwQNs0YBQAASD3Gysw/GgjnjZQBAACoiacEQgAAAOqg9WggXFARAACA1GXOaOPxO4QAAADUwdzJQNjQMgoAAJD6DJZpPQyEw3QIAABA6nFGeBwINYwCAACkbnNGZ4Y/tHICAAAgNRor44QQAACglhZOnhACAAAQdwgBAAAQCAEAAKhkIGw+XDsBAABAfTSOAuGcQAgAAFCzQDh3FAitpQcAAKhXIGwIhAAAAHU0q2UUAACgjg6So0DYzKx6AAAApGaLJ2YSDaMAAACp3y3C4Qnh4YEhAAAAddF0QggAAJCatow2jk4IAQAASG1mjCbNzDkhBAAASD03Ec6k4YQQAACgnkNlGmkkFk8AAACkXkNl5mbSsJYeAAAg9btH2BAIAQAA6ucgOWwZFQgBAADqZ24mDVUAAABI/RZPzM0kuaIWAAAAtdNwQggAAFBPzZnMZXidEAAAgNTqDuFcbCEEAACooRkzRgEAAFLTllF3CAEAAFLPoTJOCAEAAGIPIQAAAHUxcEIIAAAQdwgBAABIne4QAgAAEGsnAAAAiJZRAAAA4oQQAACACgZCJ4QAAAA1DYQAAACknovpAQAAqKPZmTRVAQAAIFpGAQAAEAgBAAAQCAEAALB2AgAAgIq4lP9PEQAAAKJlFAAAAIEQAAAAgRAAAACBEAAAgGo4EAgBAADqaU8gBAAAiJZRAAAABEIAAAAqbiAQAgAAxB1CAAAAomUUAACAVL1l9EAVAAAAamh3JnuqAAAAUEMNLaMAAACp6wkhAAAAsXYCAACAWDsBAABAqn1CuKsKAAAAcUIIAABA3CEEAAAglZ4yqmUUAACgbg6iZRQAAKCWZqNlFAAAoKb2TRkFAACop4ETQgAAgHray2Ame+oAAABQw0C4N5OBOgAAANTzhFAgBAAASP2WTmgZBQAASE1PCGPKKAAAQB3tJqaMAgAApK4nhHs57B8FAACgHmZPBsJZ9QAAAEidxsrsaRkFAACoo8HhHcKBhlEAAIDU7QbhMBDuqQUAAEDqdUK4JxACAACklieEw0A4UAsAAIDUbAuhE0IAAIA66h8FwkFsIgQAAIgTQgAAAKpu+zAQRiAEAABILVtGBUIAAIB6ORAIAQAAUtMbhHtHgXCQZFZFAAAAUqMbhE4IAQAAah0Idy2dAAAAqGcgPNxECAAAQGowUGa4hfDohFAgBAAAqIfZoxmjTggBAABSzxmjRyeExsoAAACkNjcId50QAgAApJY3CAcPA6HFEwAAAKnVjNHGw0C4qyIAAACpw0iZHI2UOQqEfVUBAACohf30k8OmUS2jAAAAdbL3+AmhllEAAIDUZOnErkAIAABQR72HP5wZzpg5UBUAAIDUY8ZoHl07YRMhAABA6nhCqGkUAAAgtVhM/0QgHFg8AQAAUAPdk1smjk4IBUIAAIDUqWFUyygAAEBq0y76jEDYH/4iAAAA1TSbR2aMOiEEAACoj51Hs9/JQDirOgAAAKlyw+hTA+FedtQHAAAg1R4pM0jjyUA4ODl6FAAAgFT8BuHJE8LdGCsDAABQXfeznWTwtBNCY2UAAACqbPdZJ4RW0wMAAKTyNwifEggbSfZizigAAEB1dR7/iZlhw2jSd4MQAAAg1V070Xt6IEyS3ccPDwEAAEh1bhA+NxBaPAEAAFBVW0/+1MmhMgIhAABAVXWfFwhj8QQAAECqeoPwBYFwW40AAAAqGAaT7tOOAE8Gwr46AQAApJo7CPcEQgAAgLqZzeENwsbzW0ZtIgQAAKienXSTJ1cNPnpCaM4oAABA9fSf3hF6MhAOjJUBAACooM7Tf3rmsdQIAABAqr+UXiAEAACovntP20H4ZCDsJQbLAAAApAbng48Hwt0cDiQFAAAgFVlK3zltINxRLwAAgFRnB+FOeqcLhHvZVS8AAIBU6Xywf9pAuO0WIQAAQKpyPng4K6bx4kDYiDmjAAAAVXI/W0kGpzkhPAyExsoAAABUw3a2n/2LJwPhIElfwygAAEBldJ73i0+eEBorAwAAkIoMlVk/WyDsqxkAAEAl9J6f8Gae+BmBEAAAoBo2nv/LM0+5cggAAEAq0DDaEQgBAADqqPuiDtCZp/SYmjMKAABQflvZO2sgNGcUAACg/PbTfdFvmcnT5tAAAACQkk8YPVcgdIsQAAAgpb9BODhPIOwm7hECAACkzBNGN178m54WCPtJZtUPAAAg5W0Y7Z0vEO5lR/UAAABKbPM0v+lpgXDXLUIAAICUuWF067yBcJBttwgBAABKGgaTzumO+Z4MhI24RQgAAFBmnQzSOE8gHCTpOR8EAAAopdnsZ2uY7c7RMpr0s6uKAAAAqeyEUYEQAACgejZO+xtnnvHz5owCAACklENlNnPBQNhVRQAAgJRxA+GuE0IAAIDUcOXE5ul/+8wzLyGaMwoAAJCSTRjdOUu/57MC4d5pp9IAAACQ4qyk7188ELpFCAAAkJKdDyads/yBmedsroi2UQAAgBLZydZoAuH2MF8CAABQDp2z7ZR/diDs555qAgAAlMj62X77swPhXrajaRQAACClaRjtjCoQDswZBQAAKJGNs/6Bmef8Wj9uEQIAANQyEG5nX0UBAABShg2EP832KANh7ywLDQEAAMg0NxAORhkIBwIhAABAKdzP5tn/0Mxzf7WrqgAAACWwffaGUYEQAAAg9dtAeOjSc391Lv1cUVkAAIAUu2F0IXsZ8Qnhnl2EAAAAhbd1njj4okCYs+65BwAAIKVoGH1xIOzlcKMFAAAAKeQGwg/O29s588JJNfuZVWMAAIDC6pyvYfTFgXDXGSEAAECKu5J+P1vn/cMvCoR759llAQAAwIR0zz/75fmBsJHDW4SaRgEAAFLQCaMZTyAcJOllX4UBAAAKaf+8E0ZP0zKa9NJXYwAAgELaOO9AmdMFwoFACAAAUFCbF/nDMznNCFMAAACK54N0BUIAAIDU8nxwL2MOhNu5r84AAAAp2kCZzsU+wGkC4cAZIQAAQOF0LtYwerpAmIt+EgAAADL6CaMRCAEAAOpnZ1KBsJ97qg0AAFAg6xf/EKcLhLvpJjlQcQAAgEI4uNgGwtMHwkaSnnoDAAAUJAwmW9meTCAcJOllP7PqDgAAMHWzSTYzSOOiH+jSKX9fI928ou4AAAApwkCZ1sVW0ucMdwiTQfpqDgAAUAibo4iDpw+EyZaaAwAAFMB+7ozmA50+EHZUHQAAoAC6oxgoc7ZAuG0XIQAAQAHcGdUHmjnD79U0CgAAMG33Rte/eZZA2Inl9AAAANO1MZqBMmcNhL3ct4sQAAAg0xwoM8LezbMEwt304owQAABgejrpTicQDkb5iQEAAMjUBsqcNRAm3RxoGgUAAJiSu6Md9nnWQNj3DgAAAEzBQUZ8PnjWQLiXnncBAABgCmazM7qFE+cJhBn1pwcAACCnOx/czPZ0A+GWKaMAAACZ/PngQTZH/UHPGgj7o06kAAAA5DT9mp1pB8JkM3YRAgAApMwLJ84bCLcSqycAAAAm6t5oF06cNxD2c9d7AQAAkEkOlLmVQREC4W56mkYBAAAyuYEy90d/f/A8gbCRw9UTmkYBAAAyofPBjfSLEAgHSbq57z0BAADIpM4H18fzoWfO8We2rZ4AAACYmF56xQmEGcd0GwAAAJ7q9rg+8PkC4aahMgAAABPx3viO5M4XCLfT9a4AAABMwPr4PvTMOf9cx7sCAACQ8S+k3xQIAQAAUsvzwb3iBcJe7npnAAAAMt7zwfVxfvjzBsK9dBKjZQAAAMZoK7vFC4SNJJ0cZNb7AwAAkBIOlDl/IBwk6aTv3QEAABibfxjXQvqLtowme9n2/gAAAIzJ/vgW0l88ECYb3iEAAIAxOEiyNe7zwYsFwq3c9z4BAACM3GwOxn1/8KKBcM82QgAAgLHoZavYgfCwadTqCQAAgFG7M4lPculCf3o+3Vz1TgEAAIzU3bQm8WkudkK4m604IwQAABitW5P5NBcJhI0M0kmspwcAAMjo5ot+kM3iB8LD9fQ73jEAAICMbr7onQyKHwiTpJ+udwwAAGBktid1PnjxQJjJvVQAAIAaWM/epD7VpQt/hLn0cs17BgAAMAL30p5cILz4CeFeNrxnAAAAKdn54CgCYdLxngEAAIzAzmQP3EYRCLu5630DAADIRRdObKRftkC4l4719AAAALnYwon7uTPZTzkzko+ymX3r6QEAAHKx+4P9MgbCXra9dwAAABewn9uT/pSjCYR72fLuAQAA5Pz3B29nd9Kf9tKIPs58tjWNAgAA5Lz7BxcnHwhnRvRx+ul6BwEAAM7pzuTj4OgCYbLuHQQAAMj5zgc3pvFpRxcIO9nxLgIAAKQk54OjDIR92wgBAADO4e60Oi5HFQgbSbZyYLAMAADAGd3K3nQ+8aURfqxGunnFewkAAJDTrpuYzQdZzCApd8toMrCNEAAA4Axmk9yZVhwcbSBMNtwhBAAAyFnuD25O75OPNhD2nBECAACcwe1p3R8cfSDMdHZnAAAAlNJPprvRfdSBsJN73lMAAIBT2M+b030Bow6Eu9mKbYQAAAB5wXzRZDO9agXCZNM2QgAAgLxovuh+7kz7RYw+EHbS9d4CAADkRRNYutULhJnm0FQAAIBSuJ9b038R4wiE69nx7gIAADzHrfSrGQj3nBECAAA8x04xVvbNjOWjrmffOwwAAPAMb2a3uoFwO91YPgEAAPA07013Hf1DL43loz7I5fye5RMAAABP8af5uBgvZGZMH3erGAegAAAABfPjbBXlpbw0po/7Weay6J0GAAB4xH7eyKdFeTEzY/vId9whBAAAOOEgyXq2i/OCXhrbR/4sX8vXvOMAAABDl3Mvb2RQnBc0M8aPfdsZIQAAwCMpaa9IL2ecgbCXrvcbAAAgBVs3kbG3jCYP0si3vOcAAABJkn9WlHUTmcAJYbKRe95zAACAJD9Op2gv6aWxfvRBvpK29x0AAKi9+1nOZ0V7UTMZ95XJfe88AAAQ42R2i/eiXhrzx99L0xkhAABQc3fzRhFf1szYP8OG5RMAAECt7edmMV/Y+ANhr3gXJwEAACbkIMlmtor54l4a+2d4kE/zvVz2HAAAADV0OffzR/k0NT0hTLbS8xQAAAA1dSfbRX1pL2UymdiCegAAoI7ey1oeFPXFXZrIZ5lLL9c8CQAAQOp2g3Ax3eK+vJmJfJa93PIkAAAAtRsns17kODipE8KkmU6ueyIAAIAauZd29or8Al+a0Of5LC/ndz0PAABAjfxx0QdsXprYZ2qml6ueCAAAoCZ+mqWiv8SXJvaZPssvpe2ZAAAAauF+Voq6fTATHiqT4faNA08FAABQC7eKu30wUzghTD7NL+WfeC4AAIBUf/vgjeJuH8xUTgiTO9n3ZAAAABW3nxsZlOGFTjYQ9rLh2QAAACruTtGni2biU0YPtdLJFc8HAACQai6jn83dLBZ7+2CmcocwSXazkJanBAAAqKTLOcgbZRgnkym0jCbJLbNGAQCAVLddtFOeF/vSxD+jWaMAAEBV3c1ymV7uTKaRmM0aBQAAquhGuV7uNAKhWaMAAEAqN04m+ZsytYsmk58yGrNGAQCASrqXdlmmi2ZqdwgTs0YBAIDq+XY+LttLnpnS573lHiEAAFAh/z7d8r3ol6b0eT9NI4s5yGXPDQAAUHrv5Y/yoHwv+9LUPvN8OrnmuQEAAErvfpbSK+MLf2lqn3kvyZInBwAAKL2/yrvlfOGXpvi5m+nkumcHAAAotZ9mOYNyvvSXpvi5P8tlZ4QAAECp7eSN7Jb1xc9M9bOv567nBwAASFmX0R/kZrbL+wVMNxDu5c0ceIoAAIBSms1GNsr8BVya+ivYyjc9RwAAQAndzWL2yvwFzEz9Fdz2FAEAACljw+haueNgEQLhVn7iSQIAAErnzXTL/iVcKsBraKWTK54mAAAglk2kLmsnjuymmbbnCQAAKI37WSp7u2hShJbRJLmdHU8UAACQ8twe3K3CF/JSIV7FXgb5lqcKAAAoQRi8nP9cleGYlwryOubSySueLQAAoPDey2JVvpSXCvI6BtnNiicLAAAouJ2s5FOBcNS28/UseLoAAIBC+9N0qvPFzKRIWzz2PV0AAECKensw+ZtspFGdL+mlAr2W3czlG54yAACgkC7np/nLDPKgOl/SpUK9mrl0c91zBgAApIi7B9vpV+tLeqlQr2aQT/NdzxkAAJDiNYwup1e1L+qlgr2ej4yWAQAACrh78N/k7ep9YZcK94pa6eSKJw4AACiQn2S5il/WS4V7RbtpZDEHueyZAwAACuGDvJHPqviFXSrgazJaBgAAKI79LFbv9mAKt4fwyF5ueuYAAIAU4/7gWlXjYBFbRpNkO7+ar3nyAACAqfvP+WF1v7hLBX1dC+nkqmcPAACYqh9npcpf3ksFfV2f5rN8y9MHAABM0b2sVHOYTNEDYfJRfjvznkAAACDTGibzrXxc7S9xprCvbJCbOfAMAgAAU1LhYTIp/Alh8kkuZ9FTCAAATMFf5K3qf5GXCv3q5rKVVz2JAABADJNJvU4Ik0E+znfS8DQCAAAT9F7eyEAgnL5+GtpGAQCACbqfb2W3Hl/qpcK/wrl08opnEgAAyGRmiy6lW5cv9qXCv8JB+vleLnsuAQCAsTvId9Opz5f7Ugle48f5fNo5EAoBAIAx+zdZr9OXe6kUr7KRjmmjAADAmP1dbtTrC75UktfZTieznk8AAGBsfprleswWTalaRhNL6gEAgIx51cR381ndvuhLpXmlltQDAADjspN2XVZNnDRTmle6l5s58JwCAAAZ/ebBlTrGwfK0jCZJPw/yu55VAAAgo908+Ef5WT2/9JdK9Wrfz9ez4HkFAAAyus2Df5R36vrFz5Ts9d7MfU8sAAAwMm9mo75f/Esle72f5tMse2YBAIBc/Gzwcn6Um3UuwUule8W9fCktzy4AAHBBl/OjrNW7BJdK+Jrn0s11Ty8AAJDznw7O5sdZqXsZZkr4mveymn1PMAAAcIE4+EHdTweTMraMJsknGWQpB7nsDQQAAHL2ZtG7+W49Nw9WIRAm3Xw9X/X2AQAA53Av383HylDOO4SH5tPJNW8gAABw5ji4nG1lSMp5h/BQP6s58AYCAABncj+r2U5DIZLytoweRsIH+V03CQEAgJx+nMxSukkeKEXZA2HyYX7NTUIAAODUcXA1W8qQCtwhPNRMx05CAADgVP5Z1tPIQCFS+juEh3azZichAABwCn+a9UQcTGVaRpOkbychAABwijh4RxGqFwiTbr6UX/dWAgAA4mBqdYfwUCPdvOLNBAAAxMHU6A7hoUFWsuPNBAAAxMHUrGU0ST7Nbr7tHiEAACAO1i8QJh/lQX7XGwoAAIiD9QuEyfv5UlrmjQIAAOJg/QJh0slv5sveVAAAQBxMbaaMPrSQTq56WwEAQBwUB1OTKaMPbWc5+95WAAAQBxUhNWsZTZJPspdveWMBAEAcpH6BMPkwn8s3vLUAACAOUr9AmPwsX8+CeaMAAFA7B/njvKUMqelQmSNz2cqr3l4AAKhZHFzNhjKktkNljuxlJfe8vQAAUCM7WRYHo2V0GAk/ynfS8BYDAECqfzJ4OTtZSUcpBMIj/WznO+4RAgBA5V3OvXw3H6aRB4ohEOZ4K+EnWfYmAwBAxd3Lcj5KxEGB8KRGPszPp23eKAAApLrNou/lu/lYKQTCxz1IspUvmDcKAAAVjYOz+UnW0lcKgfBZ3s2v5mveagAASPXuDv5DVvOpQsQewrxoK+FBZr3hAABQIT/KmiLEHsK8eCvhXXEQAAAq5d+Lg3FCeEoL2cx1bzgAAKQKNwcPciN3lEIgPL1WNnPNWw4AAKW3n7VsKINAmDOsoBikna1c8aYDAECp3c9qtpQhpozmbCsoPkk/37aTEAAASuxuvpWuMgiE5/FRPsmytx0AAErqvSzbOigQ5tyNox/mfr7ljQcAgBKydVAgzEUbR0VCAABIKddM/FkGyiAQXpRICAAAKdmqib/K3yqDQDiqSLifpRwYMAMAACnDXNGVvK0MAuHodHOQb3oAAACg8O5lJR1lEAhH6/0c5Hc9AgAAUGg/zXK2lUEgFAkBAKBufpTV7CmDQCgSAgBA3fxF/nUeKINAKBICAEBqNFP0cu7nD7OuFALhZCKhiaMAAFAUl3M3300nDeeDAuFkIqGJowAAUBQ/zhv5OBEHBcJJRcL9LCkDAAAUwL/PDYNkBMJMeC/h/XxLGQAAYKr286f5oZNBgXDyPhQJAQBgqu5mJe8qg0AoEgIAQN38JCtW0AuE042EO/k980YBAGDi/iZr+UwZBMLp6uWj/GbmFAIAACbmfv4wd5Rh8i4pwVO0spHrOcisUgAAwNi9lxvpKUOcEBZCI5/k/fxOrioFAACM3Y/yRj6xgj5OCAtlIRt5RRkAACDjXDJxI+vKECeEhfNpNvNr+UoOjJgBAIBYMiEQ1sxneSe/nF8XCQEAYAz+ISv5WBkEwuJ6kM18Ia8qBAAAZLSton+Rf52BQgiERfduPpdvKAMAAIzMB3kjm8ogEJbDz3Iv/1MaCgEAABlFq+gfZVsZBMLy+Cjb+T2REAAAMopW0c8UQiAsl+1s5ev5JQNmAAAg528V/a6porGHsKSa2TRgBgAAzuUgd/Jm9hQiTghT1jUU7+YX01IIAAA4o538WX5oqqhAWPZIuJlLWVQIAAA4gx/njbyvDAJhFXSyn980YAYAAHK6MTJ/kxtaReMOYYW0s5FrygAAAC/wXm6mqwxxQlgpn2Qzv5qvKAQAADzH32UtHyuDQFg9e3k3X8rXFAIAAJ7qXv44t42REQirapB3sp8lhQAAgCf8KKv5UBkEwmrr5m5+M3PW1QMAwLH7+ePcymcKIRBW33Y6+XquiYQAAJAk+UneSEcZBMK62M07+UJ+XSEAAIizwb/KX+ZThRAIU6vbhJvD3YTOCQEAqKPD/w7+Sd7IlmIIhKnlbcJefiNXFQIAgBq6nPv5N7nhbDAW09dYM+v5pjIAAJD63Ru8mW1liBPCWvss7+Qfs6gQAADUyH7+Iv86uwohEPIgndzN7+RltwkBAEg9zgZXspUHCiEQkuEiip/lS7muEAAAVNxO/iI33RsUCMkTiygOW0edEwIAkIrOFP27rNk3GENleIbl3M41ZQAAoILu5WY2lSFOCMmzW0e38ov5mkIAAFAxP8pqPlQGgZDn+zTv5FJ+M5e1jgIAkGo0ir6X/zl38plyCIScRicf5tfyRYUAACDlXz7/H7KWvlIIhJzex9nML6alEAAAlNqPs5YNCyZiqAw5z4iZO7mqDAAApGyNorNJdvJm1hUjTgjJ+bcTfiELCgEAQMrVKLqfH2UlXaUQCMmFthNuZD+/mYZSAABQGj/Nn+VOBgoRLaOMQCu385oyAACQMjSK3sq6MBgnhGR054Tr+fl83RoKAABS7EbRH2clHUNkBEJGbSsf5lfySwoBAEBBvZe13LZtUCAkY1pF8U4u5RuJlfUAAKRYq+fv56/yl/lYOeIOIWO1mNt5RRkAACiM/WzkzewqRJwQMnb9bAzPCQEAYPp+khv5e42icUJInBMCAJAaTRS9m9tWz8cJIZn8OeF6/jG/mpeVAgCATGOi6P38h6xZPS8QMh0P0snP8oUsKAUAABP3o6zlHdsGBUIy1f2Em/lv+bpzQgAAJuin+eP8fT5VCIGQTP2csJuf5efztVhGAQDA+N3N/5q/TF8hYqgMBbKSN3NdGQAAGKOd3M569hQCJ4RF81HeyX/P19NQCgAAMvrF8wf5z1nLlluDJE4IU9hlFG/mNWUAAGDEkXAjt9NTCATC4lvLzVxTBgAARuS93MqWMiAQlsV8bmQtswoBAEAutnj+g9zSJopAWCaNDJIs5abmUQAAcpERMreyLgwiEJbVjdzQPAoAwLnC4HrWLZdAIEzJm0fXckPzKAAAOX2b6H5uC4MIhFXRypt5XRkAADiF/WzmTWEQgTCVulW4klU3CgEAeIF/yHo6yoBAWD1zuZEbuZKjRgAAAMiJ/zr8cW6nqxwIhKns5NFmblpHAQBAHm8T7eSWMIhAWAdLWc33lQEAgKEf5442UQTCeoXCW3lFGQAAUvc20fdyK1vKgUCY2rWQrmZNKAQAqDFhEIGw5qHwRm7mikIAANTOT7KeTWVAIKy7hawNx8yYPQoAkNq0iXYyUBAEQpJkPm9m2UkhAEANImFXmygCIU9azJrZowAAqfbS+Q1hEIGQPHP26M28lkT7KABALJ0HgbDOoRAAgFg6DwJh3SxnNa8rAwBAqtAmum7pPAIhOeNCikXtowAAKXOb6H7Ws56eciAQEu2jAAA1CoM7Wc+d7CoHAiHRPgoAUCM7Wc96+gqBQEi0jwIApD6zRO/mdjrCIAIh0T4KAFArH+R2NpQBgZBoHwUASJ3OBzeyJQwiEBLtowAANQuD67ljligCIZnoSeFirigEAMBU3cuG8TEIhEzDYpaz5owQACDTujG4kfXsKQQCIdOykDWhEAAgk50lepBObqUnDCIQUoxQuJTr7hQCAEzA/WxmPV2FQCCkOOaymtW8ohAAABlnk+hWNrKtEAiEFDEULmfV/FEAgIyjSbSb9WxqEkUgJAVdRzFIkizmxnD+qFAIADAKO+nl1rBJ9Oi/uUAgpLDaWc5qrioEAMAF3c2mtRIIhJTPfJaPbxU6KwQAyJlbRbu5nY4mUQRCUto20pWspmWBPQBAzrZuvpvb6SkEAiGpwAL71SwLhQAAp/JeNq2bRyAkFdtVuJQbuZZEAykAQJ4yRzTZz2Y20hUGEQhJJddSLGUtC7kqFAIAPBYJt7ORDcNjEAipulZWs2ICKQDA0H62spEt6yQQCEltJpAu5kYWhktWnRUCAKnt8Jj1bGZbIRAISS2HzSwO7xUCAKRmy+Y72UjHuSACIan1WeFKlvKaQgAANfJBNrLlXBCBEJJkLq0Tiym0kAIAMUcUBEJSk+X1h40SzaxkJS33CgGAVHN0TC+b2ciuUiAQwrMsZ9EMUgAgVbsvuJnNdBQCgRByqhmka8OzQqeFAEBK3SLayXp69gsiEMLZLGQtS7muEABASSNhL1vZMDoGgRBy7nEzS1nO0nDcDABASrJdcCudbCoEAiFkBGeFi1nVQgoApPgtogfZykY6RscgEEJGOot0IavHLaRCIQBQxBbRDVNEEQghY2whXU47y6aQAgCFcjeb6WZLIRAIIROZQrqathZSACDTOg3MI4vme84FEQghE1xjn8xnJcvHNwsBACbrfrrZyFb2HvtvFBAIYWKWspilvKIQAEAmdz64lU466SkFAiFMXzMLWc5yrj025QsAYNQzRHvZSCfbzgNBICQFayZdympaw1goFAIAo42E2+lk/fhUUIsoCISkiANnltLO4vFpIQBALjxDtJNOtkRAEAgpSyxsZynLuRJNpABAztkgmuxkI1vpDQfHAAIhKdPdwsWsZkETKQCQs58K9rKerlNBEAiJJlIAQIMoIBCiiRQASGUbRDezZck8CISkosvsNZECAE+fINrLuruCIBCSWpwWLmZREykAkMMG0a10NIiCQEjdYmEri4+ss48TQwBIXdpDTRAFgZBoIm2knZW0syAMAkBN7KefrWym51QQBEI4jIWLaaedRbEQAFLl88FOOumkqxQgEMKTsXAh7Sxl6TgWGjsDANVoEN1PLxvpZtupIAiE8Pw20rksZyltQ2cAoALuZTsb6VglAQIhnEUz7bTTzmtKAQAp5/zQbjqiIAiEcH5zwzbStpX2AJBytIceZDub2cyuKAgCIWRE54XLWUwr88P/sRELAaB4dtLPRray66YgCISQMZwXtoffrigGAKRINwW30ksnfaUAgRAy5vEz82llKcsnYqETQwDIVNpDe9lIL9vaQ0EghGkstW9lPleVBQAy6fbQXjrppKcUIBDCNLWGbaTXlQIAMv7TwW566aTrTBAEQkiBxs4spJ3ltE40sUQjKQCMqDk02U83m+mmnz2FAYEQUsA20mQ+i8N5pAbPAMAo7KefbrbSEQRBIISyRMR2WmllMdcUAwBy3tmhvXTTTVcpQCCEMpofnhi2TzS8mEgKAHlKc2geWS2/la30rZEAgRBSgUbSZtpZSlsjKQA856bgQbaznU62TgTBhiXzIBBCVbTTSjutvKIUAHDC/XTTTS9d9wRBIISqmxuutl88scHQTFIAUtvm0E62NYeCQAipWSNpI+0sZjHzaQqDAKRuk0N76WYru8f/y6g5FARCSD13GB7OJG2fODEEgFR0cuhha2hP/AOBEMiJ88Lm8RbDK1pJAUj11spvpZt+dhUGBELg2a2kc2lnMe3M22IIQOmj4P1sp5vOI+NiNIeCQAjkxVsMW1pJAUhZbwn2hq2h24oBAiGQC7WSHp4ZaiUFICWYG9pJJ9vZtUICBEJglK2krSxmMc00LbgHIMWbG9ofrpAABEIg49tj2Bp+s+AegBRkbmgvXTcDQSAEMsF1Fc200k47CyfaRzWTApAJtIYm94fDYswNBYEQyPRaSTO8Y9hK01xSAMYeCnfTTyed9MwNBYEQSKHmkrazkFZagiEAI3f/uDXUiSAgEEKhg2EzC8MBNJpJAciFWkP300snnfTTVxpAIISUppm0kWYWs5iFR5pJD8RCAE5hJ30r5QGBEFKRJfeHzaTXFQOAFwTB7WFzaF8xAIEQUvnJpE4NAaI19ERr6K5zQEAghFR6Mmkz7bTSzrw19wCmhmoNBQRCSG3X3M+nlVYWclU5AFKn1tDe8FtfMQCBEOoeDB+2kza1kwKk6gvle6aGAgIhkDzeGNRIM+2000pTOylA6aPg7PENwd1sp5tOtrWGAgIhkFOMoFnIQha0kwKUOhL20st2eumdCIIAAiGQ054gzqeZVlqPrbq37B6guI2hB9k+XicvCAICITCSdtK5tLP4RDupe4YAxWgMPZwZ2ksn3ew+89/mAAIhkIsNoVk4/mbZPcD03Us329k2MxQQCIFM8ARxbthO2krrsRE0zg0BMoHG0F466WX3kRNBAIEQmGg7adJIK+20spDmY3cNARhPY+ij54EaQwGBECiA+SxkPq0smE8KMNJI2E0/2+ll+5EgCCAQAiniGWIzzSyknYXMP+XU0JRSgBe3hSb76aWbromhgEAIlLehdG54ZriQucw9scBCMAR49N+G97ObfjrpPrJKXmMoIBACFTg5nB9+c+MQII/NC91Of7hOXvQDBEIg1V5gcXheeHh2+KzGUq2lQCrfFto/nhe6JwgCAiGQyp8T5on/5GlkLgtpZT7zaaaZOassgMq3hW6nl166bgcCAiHASc3MD5tLD783sRSoSiTcPv7WUw5AIATIKVpLm2lm/vj8cPaFDVgARWoKPchuutlOz7RQQCAEyDnnlZ4cS9PKfJrDe4izoiFQyKbQveymm2562X3k32emhQICIUBGcXp41FZ69JcwCBShKbQ/XCHvNBAQCAEm1lp6eH64MFxr0XhGc6kzRGC0LaHJfnazPTwLFAMBgRAg051aejS39NnNpSaXAheNhbvZHe4N7D22MEJTKCAQAqRI54fNLGRuuNSiaXIpcO4Y2M92+sPG0L6CAAIhQBnbSw/D4WF76fxz2ks1mEIdG0KfbAntZ3u4M9D6eEAgVAIg1WkuTRrH4fDwHLGRuVx5zuxAoPozQg+yl73h8vjt9J64F6gpFBAIAVLV88P5YWPp3HB+6RVlgdrMCN0dNoNuZ9d4GACBEEjNTxUPG0ybJ04R5556WqjFFMrZDnqQQXrDRRG7GkIBBEKA5zWENYZnhwvDc8TDhRdXXjiWHihGM+jDdtB+esMRMQMNoQACIUDOOcG0eaLFtJmmGaZQQDvDNRHaQQEEQoCMr8W0cXwPcX74feMZp4XaTCFjawU9PAk8vA/YGzaDCoEAAiHARFtMD5tMmycCYmPYZjqrzRRG3Ao6GK6FOBoL03/K/11qBwUQCAEy3Tmmh7cPm8e3EJtpCoNwzkXxu8fNoId/B0AgBEh5zhaPzgybmcvC8DbisxtNNZtS3ybQo0bQh6sh9obfABAIASrTZnrUaHpyYM3R/cTZFzbOQTVaQB+2ge5lbzgO5vAccHDG/3sCQCAEqMDAmsMRNSf/Ppe5J5ZeQCowD/Tkt76iAAiEADyt2bRxfAtxfhgRn99ummg5JQVp/3zYAto/XglxeCI4cN4HIBAC8PQgmOc2myaNE1sRDwfXNI7j47NXYIiHjDICPu152s9eMpwE+nAIzN4znufnP+kACIQAnOE0sXncZPr4N02njCcW7g7D3+7wFuDRPwEgEAKQ6a/AaByfHc4dB8ajVRiNnObU8ODEj50xVrXd80Xv7kGSQfaGZ36Hf9/L4PgvAARCAFKGltNHG08bx/HwKCSe/DZ7rrZBytjs+XDm52B4w283g2Hw2x3GwBe1MguGAAIhABXam9gYfj93Yi3Gs5djUCb7w9Euu4/9dbgCQtMngEAIAE9ExcbwbLFxfGuxceKu4lF8TM53dnjwlJ+brX0r5/kqcfjnB8eL3feGJ34PZ3w+/AYAAiEAz2gEPEsr4OHvP5p7OnfiVPHh349CZY5/NDvyVQdVWNfwvLbODIPcUaTbOw56e8Nzvt3j232DMbzPAAiEAJDzDrs5+qvx2LejXzmMike/5+jn5jJIo4IzUw8ym/0MkuE9vcOI1xgGvCTHZ3onz/b2ht8DgEAIQKp5PvnwJDEnvm8cn0Umg+HE1MN/ynHT6lGYTAaZO/65h7/v5Oe5cuYI93gQOxnNHv744QTO3Ud+ZW8Y/45O+RrHJ3555EcAMHH/P7aaJHV/yTdZAAAAAElFTkSuQmCC");
  -webkit-mask: var(--mv-mask) center / 100% 100% no-repeat;
  mask: var(--mv-mask) center / 100% 100% no-repeat;
}
.mv__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1.6s ease-in-out;
}
.mv__slide img { height: 100%; object-fit: cover; }
.mv__slide.is-active { opacity: 1; z-index: 2; }
.mv__slide.is-prev { opacity: 1; z-index: 1; transition: none; }
.mv__slide.is-zoom img { animation: mv-zoom 8s linear forwards; }
@keyframes mv-zoom {
  from { transform: scale(1); }
  to { transform: scale(1.12); }
}
@media (prefers-reduced-motion: reduce) {
  .mv__slide.is-zoom img { animation: none; }
}
@keyframes mv-photo {
  from { opacity: 0; transform: scale(.94); filter: blur(6px); }
  to { opacity: 1; transform: none; filter: none; }
}
/* デザインの角度からゆっくり回転（読み込み直後から回すのでカクつかない） */
.mv__clover {
  rotate: var(--r, 0deg);
  opacity: 0;
  animation:
    clover-in .9s var(--ease-soft) forwards,
    floaty 7s ease-in-out infinite,
    clover-spin 60s linear infinite;
}
/* 逆回りのクローバー */
.mv__clover--2, .mv__clover--4, .mv__clover--5 { animation-direction: normal, normal, reverse; }
.mv__clover--1 { left: calc(1198 * var(--u)); top: calc(730 * var(--u)); width: calc(153 * var(--u)); animation-delay: 1s, 1.9s, 0s; }
.mv__clover--2 { left: calc(117 * var(--u)); top: calc(236 * var(--u)); width: calc(124 * var(--u)); animation-delay: .7s, 1.6s, 0s; }
.mv__clover--3 { --r: 45deg; left: calc(1235 * var(--u)); top: calc(202 * var(--u)); width: calc(141 * var(--u)); animation-delay: .8s, 1.7s, 0s; animation-duration: .9s, 9s, 60s; }
.mv__clover--4 { --r: 22deg; left: calc(60 * var(--u)); top: calc(796 * var(--u)); width: calc(88 * var(--u)); animation-delay: 1.2s, 2.1s, 0s; animation-duration: .9s, 6s, 60s; }
.mv__clover--5 { left: calc(1072 * var(--u)); top: calc(663 * var(--u)); width: calc(105 * var(--u)); animation-delay: 1.1s, 2s, 0s; animation-duration: .9s, 8s, 60s; }
.mv__clover--6 { --r: -21deg; left: calc(65 * var(--u)); top: calc(191 * var(--u)); width: calc(77 * var(--u)); animation-delay: .6s, 1.5s, 0s; animation-duration: .9s, 7.5s, 60s; }
@keyframes clover-spin {
  to { rotate: calc(var(--r, 0deg) + 360deg); }
}
@keyframes clover-in {
  from { opacity: 0; scale: .3; }
  to { opacity: 1; scale: 1; }
}
.mv__copy {
  position: absolute;
  left: calc(120 * var(--u));
  top: calc(619 * var(--u));
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}
.mv__catch {
  display: flex;
  flex-wrap: wrap;
  padding: 20px 20px 23px;
  border-radius: 5px;
  background: rgba(255, 255, 255, .9);
  font-size: clamp(22px, calc(36 * var(--u)), 36px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: .07em;
  animation: mv-copy 1.2s var(--ease-out) .5s both;
}
.mv__lead {
  padding: 10px;
  border-radius: 5px;
  background: rgba(255, 255, 255, .9);
  font-size: clamp(14px, calc(18 * var(--u)), 18px);
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: .07em;
  animation: mv-copy 1.2s var(--ease-out) .75s both;
}
@keyframes mv-copy {
  from { opacity: 0; transform: translateX(-30px); clip-path: inset(0 100% 0 0 round 5px); }
  to { opacity: 1; transform: none; clip-path: inset(0 0 0 0 round 5px); }
}

@media (max-width: 767px) {
  .mv__stage { height: auto; padding: 60px 0 0; }
  .mv__photo {
    position: relative;
    left: auto; top: auto;
    width: 116%;
    margin-left: -8%;
  }
  .mv__blob--1 { left: -30%; top: -40px; width: 80%; }
  .mv__blob--2 { left: 25%; top: -30px; width: 110%; }
  .mv__blob--3 { left: -30%; top: 280px; width: 110%; }
  .mv__clover--1 { left: auto; right: 4%; top: 290px; width: 64px; }
  .mv__clover--2 { left: 3%; top: 120px; width: 50px; }
  .mv__clover--3 { left: auto; right: 2%; top: 110px; width: 54px; }
  .mv__clover--4, .mv__clover--6 { display: none; }
  .mv__clover--5 { left: auto; right: 16%; top: 330px; width: 40px; }
  .mv__copy {
    position: relative;
    left: auto; top: auto;
    gap: 10px;
    margin: -34px 16px 0;
  }
  .mv__catch { flex-direction: column; gap: 10px; padding: 14px 16px 16px; font-size: 22px; line-height: 1.2; }
  .mv__lead { padding: 10px 14px; font-size: 14px; }
}

/* =========================================================
   TOP : News
   ========================================================= */
.top-news {
  position: relative;
  z-index: 1;
  padding: 0 20px;
  margin-top: calc(40 * var(--u));
}
.top-news__box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
  max-width: 1040px;
  margin: 0 auto;
  padding: 50px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 40px rgba(71, 62, 62, .03);
}
/* PC：タブは折り返さず1行。長い名前は <br class="pc-only"> の位置だけで2行にする。
   枠に収まらなくなったら JS が .is-scrollable を付け、横スクロールに切り替える（SPは常に横スクロール） */
.news-tabs-wrap { position: relative; width: 100%; margin-bottom: -40px; }
.news-tabs { display: flex; flex-wrap: wrap; justify-content: center; }
.news-tabs-scroll .news-tabs { flex-wrap: nowrap; }
.news-tabs-scroll .news-tabs__btn { flex-shrink: 0; white-space: nowrap; }
.news-tabs-wrap.is-scrollable .news-tabs-scroll { overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.news-tabs-wrap.is-scrollable .news-tabs-scroll::-webkit-scrollbar { display: none; }
.news-tabs-wrap.is-scrollable .news-tabs { justify-content: flex-start; width: max-content; }
/* マウス操作の環境では、スクロール時だけ細いバーを出してつかんで動かせるようにする */
@media (hover: hover) and (pointer: fine) {
  .news-tabs-wrap.is-scrollable .news-tabs-scroll { padding-bottom: 8px; scrollbar-width: auto; }
  .news-tabs-wrap.is-scrollable .news-tabs-scroll::-webkit-scrollbar { display: block; height: 4px; }
  .news-tabs-wrap.is-scrollable .news-tabs-scroll::-webkit-scrollbar-track { border-radius: 2px; background: var(--c-hinata-light); }
  .news-tabs-wrap.is-scrollable .news-tabs-scroll::-webkit-scrollbar-thumb { border-radius: 2px; background: var(--c-pink); }
  @supports not selector(::-webkit-scrollbar) {
    .news-tabs-wrap.is-scrollable .news-tabs-scroll { scrollbar-width: thin; scrollbar-color: var(--c-pink) var(--c-hinata-light); }
  }
}
/* 右上の「Scroll →」：横スクロールになっている時だけ表示 */
.scroll-hint {
  position: absolute;
  right: 0;
  bottom: calc(100% + 8px);
  display: none;
  align-items: center;
  gap: 6px;
  color: var(--c-pink);
  font-family: var(--ff-en);
  font-size: 11px;
  line-height: 1;
  letter-spacing: .08em;
  pointer-events: none;
}
.scroll-hint::after {
  content: "";
  width: 24px;
  height: 5px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: skewX(45deg);
  animation: scroll-hint 1.6s ease-in-out infinite;
}
.news-tabs-wrap.is-scrollable .scroll-hint { display: flex; }
.news-tabs__btn {
  position: relative;
  padding: 10px 13px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: .05em;
  transition: color .3s;
}
.news-tabs__btn::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 2px;
  background: var(--c-pink);
  transform: scaleX(0);
  transition: transform .45s var(--ease-soft);
}
.news-tabs__btn:hover { color: var(--c-pink); }
.news-tabs__btn.is-active { color: var(--c-pink); font-weight: 700; }
.news-tabs__btn.is-active::after { transform: scaleX(1); }
.news-list { width: 100%; }
.news-list__item { border-bottom: 1px dashed var(--c-pink); }
.news-list__item.is-hidden { display: none; }
.news-list__item.is-shown { animation: item-in .6s var(--ease-out) both; }
@keyframes item-in { from { opacity: 0; transform: translateY(10px); } }
.news-list__item a {
  display: flex;
  align-items: center;
  gap: 25px;
  padding: 15px 20px;
  transition: background .3s;
}
.news-list__item a:hover { background: #fff6f9; }
.news-list__meta { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.news-list__meta time { min-width: 8.8em; font-size: 16px; font-weight: 700; line-height: 1; letter-spacing: .05em; } /* 最長の日付（2026年12月31日）に合わせ、カテゴリーの開始位置をそろえる */
.news-list__title { font-size: 16px; line-height: 1.7; }
.news-list__empty { margin-top: -40px; font-size: 14px; }

@media (max-width: 767px) {
  .top-news { margin-top: 40px; padding: 0 16px; }
  .top-news__box { gap: 36px; padding: 40px 20px; }
  /* SP：タブは常に入れ物（.news-tabs-scroll）ごと横スクロール。白背景の左右20pxの内側で切り取る */
  .news-tabs-wrap { margin-bottom: -16px; }
  .news-tabs-scroll { overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .news-tabs-scroll::-webkit-scrollbar { display: none; }
  .news-tabs-scroll .news-tabs { justify-content: flex-start; width: max-content; }
  .news-tabs-scroll .news-tabs__btn { line-height: 1; }
  .scroll-hint { display: flex; font-size: 10px; }
  .news-list__item a { flex-direction: column; align-items: flex-start; gap: 8px; padding: 15px 4px; }
  .news-list__meta { flex-wrap: wrap; }
  .news-list__meta time { font-size: 14px; }
  .news-list__title { font-size: 15px; }
  .news-list__empty { margin-top: -16px; }
}

/* =========================================================
   TOP : 子育て支援事業（ぷかぷか図形）
   ========================================================= */
.biz { padding: 0 20px; margin-top: calc(100 * var(--u)); }
.biz__stage {
  position: relative;
  width: calc(1178 * var(--u));
  max-width: 100%;
  height: calc(880 * var(--u));
  margin: 0 auto;
}
.biz__sprig { position: absolute; pointer-events: none; transform-origin: bottom center; }
.biz__sprig--1 { left: calc(189 * var(--u)); top: calc(121 * var(--u)); width: calc(70 * var(--u)); transform: rotate(178.73deg) scaleY(-1); animation: sprig-l 5s ease-in-out infinite; }
.biz__sprig--2 { left: calc(907 * var(--u)); top: calc(129 * var(--u)); width: calc(70 * var(--u)); transform: rotate(3.16deg); animation: sprig-r 5.5s ease-in-out infinite; }
.biz__sprig--3 { left: calc(962 * var(--u)); top: calc(202 * var(--u)); width: calc(52 * var(--u)); transform: rotate(25.5deg); animation: sprig-r2 6s ease-in-out -1s infinite; }
.biz__sprig--4 { left: calc(152 * var(--u)); top: calc(202 * var(--u)); width: calc(52 * var(--u)); transform: rotate(156.38deg) scaleY(-1); animation: sprig-l2 6.5s ease-in-out -2s infinite; }
@keyframes sprig-l { 50% { transform: rotate(183deg) scaleY(-1); } }
@keyframes sprig-r { 50% { transform: rotate(-2deg); } }
@keyframes sprig-r2 { 50% { transform: rotate(20deg); } }
@keyframes sprig-l2 { 50% { transform: rotate(150deg) scaleY(-1); } }

.biz-blob {
  position: absolute;
  display: grid;
  place-items: center;
  text-align: center;
  font-weight: 700;
  line-height: 1.5;
}
.biz-blob__shape {
  grid-area: 1 / 1;
  width: 100%;
  height: auto;
  animation: wobble 9s ease-in-out infinite;
  transition: transform .6s var(--ease-soft);
}
.biz-blob__body {
  position: relative;
  z-index: 1;
  grid-area: 1 / 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: transform .6s var(--ease-soft);
}
.biz-blob:hover .biz-blob__shape { animation-play-state: paused; transform: scale(1.06) rotate(-2deg); }
.biz-blob:hover .biz-blob__body { transform: translateY(-4px); }
.biz-blob__name { font-size: clamp(15px, calc(22 * var(--u)), 22px); letter-spacing: .05em; }
.biz-blob__sub { font-size: clamp(13px, calc(18 * var(--u)), 18px); letter-spacing: .05em; margin-bottom: calc(4 * var(--u)); }

.biz-blob--support { left: calc(312 * var(--u)); top: calc(-3 * var(--u)); width: calc(554 * var(--u)); }
.biz-blob--support .biz-blob__body { padding-top: calc(40 * var(--u)); padding-right: calc(10 * var(--u)); }
.biz-blob--support .biz-blob__icon { width: calc(82 * var(--u)); animation: sway 5s ease-in-out infinite; }
.biz-blob--support .biz-blob__title { margin-top: calc(40 * var(--u)); font-size: clamp(24px, calc(40 * var(--u)), 40px); font-weight: 600; line-height: 1; letter-spacing: .08em; }
.biz-blob--support .biz-blob__text { margin-top: calc(31 * var(--u)); font-size: clamp(13px, calc(18 * var(--u)), 18px); letter-spacing: .05em; }
.biz-blob--obukko { left: calc(-3 * var(--u)); top: calc(344 * var(--u)); width: calc(328 * var(--u)); }
.biz-blob--obukko .biz-blob__shape { animation-delay: -2s; }
.biz-blob--higashiyama { left: calc(251 * var(--u)); top: calc(542 * var(--u)); width: calc(310 * var(--u)); }
.biz-blob--higashiyama .biz-blob__shape { animation-delay: -4s; }
.biz-blob--hinata { left: calc(583 * var(--u)); top: calc(554 * var(--u)); width: calc(335 * var(--u)); }
.biz-blob--hinata .biz-blob__shape { animation-delay: -6s; }
.biz-blob--kaze { left: calc(850 * var(--u)); top: calc(317 * var(--u)); width: calc(331 * var(--u)); }
.biz-blob--kaze .biz-blob__shape { animation-delay: -3s; }
/* ずらして出てくる */
.biz-blob--support.js-pop { transition-delay: 0s; }
.biz-blob--obukko.js-pop { transition-delay: .15s; }
.biz-blob--higashiyama.js-pop { transition-delay: .3s; }
.biz-blob--hinata.js-pop { transition-delay: .45s; }
.biz-blob--kaze.js-pop { transition-delay: .6s; }

@media (max-width: 767px) {
  .biz { margin-top: 70px; padding: 0 12px; }
  .biz__stage {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px 0;
    width: 100%;
    height: auto;
  }
  .biz__sprig { display: none; }
  .biz-blob { position: relative; left: auto !important; top: auto !important; width: auto !important; }
  .biz-blob--support { grid-column: 1 / -1; width: 96% !important; margin: 0 auto; }
  .biz-blob--support .biz-blob__icon { width: 56px; }
  .biz-blob--support .biz-blob__title { margin-top: 18px; font-size: 26px; }
  .biz-blob--support .biz-blob__text { margin-top: 14px; font-size: 14px; }
  .biz-blob--hinata { order: 1; }
  .biz-blob--kaze { order: 2; }
  .biz-blob--higashiyama { order: 3; }
  .biz-blob--obukko { order: 4; }
  .biz-blob__name { font-size: 15px; }
  .biz-blob__sub { font-size: 12px; }
}

/* =========================================================
   TOP : About（白いアーチ）
   ========================================================= */
.top-about {
  position: relative;
  margin-top: calc(33 * var(--u));
  padding: calc(80 * var(--u)) 20px calc(78 * var(--u));
}
.top-about::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 50%;
  width: calc(4000 * var(--u));
  height: calc(3350 * var(--u));
  border-radius: 50%;
  background: #fff;
  transform: translateX(-50%);
}
.top-about__inner { max-width: 1180px; margin: 0 auto; }
.about-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 60px 0 20px;
  align-items: start;
}
.about-card { display: flex; flex-direction: column; align-items: center; gap: 10px; padding-top: 60px; }
.about-card--up { padding-top: 0; }
.about-card:nth-child(2) { transition-delay: .15s; }
.about-card:nth-child(3) { transition-delay: .3s; }
.about-card__img {
  width: 100%;
  aspect-ratio: 380 / 250;
  overflow: hidden;
  border-radius: 16px;
}
.about-card__img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.about-card__title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: clamp(18px, calc(21 * var(--u)), 21px);
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: .05em;
  text-align: center;
}
.about-card__title img { width: 24px; flex-shrink: 0; }
.about-card__text { font-size: 16px; line-height: 1.7; letter-spacing: .05em; }

@media (max-width: 900px) {
  .about-cards { grid-template-columns: 1fr; gap: 40px; max-width: 480px; margin-inline: auto; }
  .about-card, .about-card--up { padding-top: 0; }
  .about-card:nth-child(n) { transition-delay: 0s; }
}
@media (max-width: 767px) {
  .top-about { margin-top: 50px; padding: 70px 20px 60px; }
  .top-about::before { width: 1400px; height: 1400px; }
  .about-cards { margin-top: 40px; margin-bottom: 40px; }
  .about-card__text { font-size: 15px; }
}

/* =========================================================
   TOP : 運営施設
   ========================================================= */
.top-facility {
  position: relative;
  padding: calc(82 * var(--u)) 20px 0;
}
.top-facility::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 50%;
  width: calc(2366 * var(--u));
  height: calc(1670 * var(--u));
  border-radius: 50%;
  background: var(--c-bg);
  transform: translateX(-50%);
}
.top-facility::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: calc(835 * var(--u));
  left: 0; right: 0; bottom: 0;
  background: var(--c-bg);
}
.facility-cards {
  display: flex;
  flex-direction: column;
  gap: 60px;
  max-width: 1200px;
  margin: 60px auto 0;
}
.facility-card {
  --fc-light: var(--c-hinata-light);
  --fc-dark: var(--c-hinata);
  position: relative;
  display: grid;
  grid-template-columns: 550fr 580fr;
  gap: 30px;
  min-height: 550px;
  padding: 50px 50px 50px 50px;
  isolation: isolate;
}
.facility-card::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 50px 0 0;
  border-radius: 60px;
  background: var(--fc-light);
}
.facility-card--kaze { --fc-light: var(--c-kaze-light); --fc-dark: var(--c-kaze); }
.facility-card--higashiyama { --fc-light: var(--c-higashi-light); --fc-dark: var(--c-higashi); }
.facility-card--obukko { --fc-light: var(--c-obukko-light); --fc-dark: var(--c-obukko); }
.facility-card--hinata .btn { --btn-color: var(--c-hinata); --btn-arrow: url(../img/ico-btn-arrow-hinata.svg); }
.facility-card--kaze .btn { --btn-color: var(--c-kaze); --btn-arrow: url(../img/ico-btn-arrow-purple.svg); }
.facility-card--higashiyama .btn { --btn-color: var(--c-higashi); --btn-arrow: url(../img/ico-btn-arrow-blue.svg); }
.facility-card--obukko .btn { --btn-color: var(--c-obukko); --btn-arrow: url(../img/ico-btn-arrow-yellow.svg); }

.facility-card__img {
  position: relative;
  margin: -50px 0 0;
  height: 500px;
  border: 11px solid #fff;
  border-radius: 60px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 30px rgba(71, 62, 62, .05);
}
.facility-card__img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 49px;
}
.facility-card__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  padding: 50px 0 0;
}
.facility-card--rev { grid-template-columns: 570fr 550fr; }
.facility-card--rev .facility-card__img { order: 2; }
.facility-card--rev .facility-card__body { order: 1; }
.facility-card__label {
  display: inline-flex;
  align-items: flex-start;
  width: 284px;
  height: 57px;
  padding: 11px 15px 0;
  background: url(../img/ribbon-pink.svg) left top / 284px 57px no-repeat;
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .1em;
}
.facility-card--kaze .facility-card__label { background-image: url(../img/ribbon-purple.svg); }
.facility-card--higashiyama .facility-card__label { background-image: url(../img/ribbon-blue.svg); }
.facility-card--obukko .facility-card__label { background-image: url(../img/ribbon-yellow.svg); }
.facility-card.is-in .facility-card__label { animation: ribbon-in .9s var(--ease-soft) .3s both; }
@keyframes ribbon-in { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
.facility-card__name { font-size: 24px; font-weight: 700; line-height: 1.5; letter-spacing: .05em; }
.facility-card__text { font-size: 16px; line-height: 1.7; }
.facility-card__btns {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  margin-top: auto;
  padding-bottom: 0;
}
.facility-card--rev .facility-card__btns { align-self: flex-end; }
.facility-card__deco {
  position: absolute;
  right: 34px;
  bottom: 30px;
  width: 114px;
  pointer-events: none;
  animation: sway 7s ease-in-out infinite;
}
.facility-card--rev .facility-card__deco {
  right: auto;
  left: 54px;
  bottom: 10px;
  width: 131px;
  rotate: 65deg; /* ゆらゆら（transform）と重ねるため rotate プロパティで指定 */
}

@media (max-width: 1100px) {
  .facility-card, .facility-card--rev { grid-template-columns: 1fr 1fr; padding: 50px 30px 40px; }
  .facility-card__img { height: auto; aspect-ratio: 550 / 500; }
}
@media (max-width: 767px) {
  .top-facility { padding: 60px 16px 0; }
  .top-facility::before { width: 1000px; height: 900px; }
  .top-facility::after { top: 450px; }
  .facility-cards { gap: 40px; margin-top: 40px; }
  .facility-card, .facility-card--rev {
    grid-template-columns: 1fr;
    gap: 20px;
    min-height: 0;
    padding: 0 18px 90px;
  }
  .facility-card::before { inset: 60px 0 0; border-radius: 36px; }
  .facility-card__img, .facility-card--rev .facility-card__img { order: 0; margin: 0; border-width: 7px; border-radius: 36px; }
  .facility-card__img img { border-radius: 29px; }
  .facility-card__body, .facility-card--rev .facility-card__body { order: 1; padding: 0; gap: 14px; }
  .facility-card__label { width: 230px; height: 46px; padding: 8px 12px 0; background-size: 230px 46px; font-size: 15px; }
  .facility-card__name { font-size: 19px; }
  .facility-card__text { font-size: 15px; }
  .facility-card__btns, .facility-card--rev .facility-card__btns { align-self: stretch; align-items: center; margin-top: 8px; }
  .facility-card__deco, .facility-card--rev .facility-card__deco { width: 70px; right: 16px; left: auto; bottom: 12px; }
}

@media (max-width: 767px) {
  .sec-title__ja { font-size: 26px; }
  .sec-title__en { font-size: 15px; }
  .about-card__title { font-size: 17px; white-space: nowrap; }
  .about-card__title img { width: 20px; }
}

/* =========================================================
   下層ページ共通
   ========================================================= */
:root { --c-deep-green: #52a066; --c-brown: #ae8680; }

/* ページ見出し */
.page-hero {
  position: relative;
  height: 430px;
  overflow: hidden;
  background: #fff;
  text-align: center;
}
.page-hero__bg {
  position: absolute;
  inset: -22px -16px 0;
  background: center bottom / cover no-repeat;
  filter: blur(6.5px);
}
.page-hero--about .page-hero__bg { background-image: url(../img/ph-about-bg.jpg); }
.page-hero::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 100px;
  background: url(../img/ph-curve.svg) center bottom / 100% 100% no-repeat;
}
.page-hero__title {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 206px;
  animation: ph-title 1.2s var(--ease-out) both;
}
@keyframes ph-title { from { opacity: 0; transform: translateY(16px); } }
.page-hero__ja { font-size: 32px; font-weight: 700; line-height: 1.7; letter-spacing: .05em; }
.page-hero__en { font-family: var(--ff-en); font-size: 24px; line-height: 1; letter-spacing: .05em; color: var(--c-green); }
.page-hero__clover {
  position: absolute;
  z-index: 1;
  opacity: 0;
  animation: clover-in .9s var(--ease-soft) .4s forwards, floaty 7s ease-in-out 1.3s infinite;
}
.page-hero__clover--l1 { left: 10px; top: 294px; width: 86px; rotate: 165deg; }
.page-hero__clover--l2 { left: 92px; top: 344px; width: 59px; rotate: 165deg; animation-delay: .55s, 1.8s; }
.page-hero__clover--r1 { left: calc(100% - 158px + 52px); top: 273px; width: 86px; rotate: 15deg; scale: 1 -1; animation-delay: .5s, 1.5s; }
.page-hero__clover--r2 { left: calc(100% - 158px); top: 323px; width: 59px; rotate: 15deg; scale: 1 -1; animation-delay: .65s, 2s; }
.page-hero__clover--r1, .page-hero__clover--r2 { animation-name: clover-in-flip, floaty; }
@keyframes clover-in-flip { from { opacity: 0; scale: .3 -.3; } to { opacity: 1; scale: 1 -1; } }

/* パンくず */
.breadcrumb { max-width: 1240px; margin: 10px auto 0; padding: 0 20px; }
.breadcrumb ol { display: flex; flex-wrap: wrap; gap: 0 .6em; font-size: 13px; font-weight: 500; line-height: 1.6; letter-spacing: .1em; color: var(--c-brown); }
.breadcrumb li + li::before { content: "〉"; margin-right: .4em; }
.breadcrumb a { transition: color .3s; }
.breadcrumb a:hover { color: var(--c-text); }

/* 白い波帯 */
.wave-band {
  position: relative;
  margin: 70px 0;
  padding: 50px 20px;
  background: #fff;
}
.wave-band::before,
.wave-band::after {
  content: "";
  position: absolute;
  left: 0; right: 0;
  height: 70px;
  background: center / 100% 100% no-repeat;
}
.wave-band::before { top: -69px; background-image: url(../img/wave-white-top.svg); }
.wave-band::after { bottom: -69px; background-image: url(../img/wave-white-bottom.svg); }
.wave-band > .sec-title,
.wave-band__inner > .sec-title { margin-bottom: 60px; }

/* 小枝ペア（見出し左右の飾り） */
.sprig-pair { position: relative; flex-shrink: 0; width: 90px; height: 155px; }
.sprig-pair img { position: absolute; transform-origin: bottom center; }
.sprig-pair--l .sprig-pair__a { left: 26px; top: 0; width: 70px; transform: rotate(178.73deg) scaleY(-1); animation: sprig-l 5s ease-in-out infinite; }
.sprig-pair--l .sprig-pair__b { left: 18px; top: 80px; width: 52px; transform: rotate(156.38deg) scaleY(-1); animation: sprig-l2 6.5s ease-in-out -2s infinite; }
.sprig-pair--r .sprig-pair__a { left: 4px; top: 2px; width: 70px; transform: rotate(3.16deg); animation: sprig-r 5.5s ease-in-out infinite; }
.sprig-pair--r .sprig-pair__b { left: 60px; top: 75px; width: 52px; transform: rotate(25.5deg); animation: sprig-r2 6s ease-in-out -1s infinite; }
.sprig-pair--l { margin-left: -36px; }

/* 情報リスト（dl） */
.info-list { max-width: 800px; margin: 0 auto; }
.info-list__row {
  display: flex;
  gap: 100px;
  padding: 20px;
  border-bottom: 1px solid var(--c-deep-green);
  background: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: .1em;
}
.info-list__row:first-child { border-top: 1px solid var(--c-deep-green); }
.info-list dt { flex: 0 0 100px; }
.info-list dd a { text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 767px) {
  .page-hero { height: 260px; }
  .page-hero::after { height: 50px; }
  .page-hero__title { padding-top: 110px; }
  .page-hero__ja { font-size: 24px; }
  .page-hero__en { font-size: 16px; }
  .page-hero__clover--l1 { left: -14px; top: 176px; width: 56px; }
  .page-hero__clover--l2 { left: 38px; top: 206px; width: 38px; }
  .page-hero__clover--r1 { left: calc(100% - 46px); top: 168px; width: 56px; }
  .page-hero__clover--r2 { left: calc(100% - 84px); top: 200px; width: 38px; }
  .breadcrumb ol { font-size: 11px; }
  .wave-band { margin: 30px 0; padding: 40px 20px; }
  .wave-band::before, .wave-band::after { height: 30px; }
  .wave-band::before { top: -29px; }
  .wave-band::after { bottom: -29px; }
  .wave-band > .sec-title, .wave-band__inner > .sec-title { margin-bottom: 36px; }
  .sprig-pair { width: 54px; height: 100px; }
  .sprig-pair img { scale: .62; transform-origin: top left; }
  .sprig-pair--l { margin-left: -20px; }
  .info-list__row { flex-direction: column; gap: 4px; padding: 14px 6px; font-size: 14px; letter-spacing: .05em; }
  .info-list dt { flex: none; font-weight: 700; color: var(--c-deep-green); }
}

/* =========================================================
   わたしたちについて
   ========================================================= */
.about-intro { max-width: 1240px; margin: 0 auto; padding: 120px 20px 100px; text-align: center; }
.about-intro__catch { display: flex; align-items: center; justify-content: center; gap: 50px; }
.about-intro__title {
  font-size: 20px;
  font-weight: 600;
  line-height: 2;
  letter-spacing: .08em;
}
.about-intro__title em { font-style: normal; font-size: 24px; color: var(--c-deep-green); }
.about-intro__text {
  margin-top: 60px;
  font-family: var(--ff-base);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: .05em;
}
.about-intro__photos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-top: 40px; }
.about-intro__photo { aspect-ratio: 390 / 250; overflow: hidden; border-radius: 16px; position: relative; }
.about-intro__photo:nth-child(2) { transition-delay: .15s; }
.about-intro__photo:nth-child(3) { transition-delay: .3s; }
.about-intro__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }

.message { display: flex; justify-content: center; gap: 30px; max-width: 1035px; margin: 0 auto; }
.message__body { flex: 0 1 605px; display: flex; flex-direction: column; justify-content: space-between; gap: 40px; }
.message__lead {
  padding-bottom: 5px;
  border-bottom: 3px solid var(--c-deep-green);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: .08em;
}
.message__text { display: flex; flex-direction: column; gap: 1.7em; margin-top: 30px; font-size: 16px; font-weight: 500; line-height: 1.7; }
.message__name { display: flex; flex-wrap: wrap; gap: 0 17px; font-size: 18px; font-weight: 500; line-height: 1.7; }
.message__photo { position: relative; flex: 0 0 400px; height: 550px; transition-delay: .15s; }
.message__photo > img:first-child { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 16px; }
.message__clover { position: absolute; animation: sway 6s ease-in-out infinite; }
.message__clover--s { right: 16px; bottom: -30px; width: 59px; rotate: 15deg; scale: 1 -1; }
.message__clover--l { right: -54px; bottom: 0; width: 86px; rotate: 15deg; scale: 1 -1; animation-delay: -2s; }

.about-exec { padding: 50px 20px 50px; }
.about-exec .sec-title { margin-bottom: 60px; }
.exec-table {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  border-collapse: collapse;
  background: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: .1em;
  text-align: center;
}
.exec-table caption {
  padding: 10px;
  background: var(--c-deep-green);
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .1em;
}
.exec-table th, .exec-table td { padding: 10px; border: 1px solid var(--c-deep-green); font-weight: 500; }
.exec-table th { width: 48%; }

.about-history { max-width: 1240px; margin: 0 auto; padding: 50px 20px 40px; }
.about-history .sec-title { margin-bottom: 60px; }
.history { display: flex; justify-content: center; gap: 30px; }
.history__photo { flex: 0 1 520px; aspect-ratio: 520 / 350; overflow: hidden; border-radius: 16px; }
.history__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.history__body { flex: 0 1 490px; display: flex; flex-direction: column; justify-content: space-between; gap: 30px; transition-delay: .15s; }
.timeline { display: flex; flex-direction: column; gap: 17px; }
.timeline__item { position: relative; padding-left: 24px; }
.timeline__item::before {
  content: "";
  position: absolute;
  left: 0; top: 11px;
  width: 16px; height: 15px;
  border-radius: 50%;
  background: var(--c-deep-green);
}
.timeline__item::after {
  content: "";
  position: absolute;
  left: 6.5px; top: 31px; bottom: -8px;
  width: 3px;
  border-radius: 2px;
  background: var(--c-deep-green);
}
.timeline__year { font-size: 20px; font-weight: 600; line-height: 1.7; letter-spacing: .05em; color: var(--c-deep-green); }
.timeline__text { font-size: 16px; font-weight: 500; line-height: 1.7; letter-spacing: .05em; }

.blog-banner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 360px;
  max-width: 100%;
  height: 120px;
  border-radius: 16px;
  background: var(--c-green-light);
  text-align: center;
  transition: background .3s;
}
.blog-banner::before {
  content: "";
  position: absolute;
  inset: 8px;
  border: 2px dashed #fff;
  border-radius: 14px;
}
.blog-banner:hover { background: #dff1cb; }
.blog-banner__title { font-size: 20px; font-weight: 700; line-height: 1.4; letter-spacing: .05em; }
.blog-banner__text { font-size: 16px; font-weight: 500; line-height: 1.4; letter-spacing: .05em; }
.blog-banner__clover { position: absolute; scale: 1 -1; }
.blog-banner__clover--s { left: calc(100% - 3px); top: 77px; width: 21px; }
.blog-banner__clover--l { left: calc(100% - 34px); top: 89px; width: 41px; animation: sway 6s ease-in-out infinite; }

@media (max-width: 900px) {
  .message { flex-direction: column-reverse; align-items: center; gap: 40px; }
  .message__body { flex: none; }
  .message__photo { flex: none; width: min(100%, 360px); height: auto; aspect-ratio: 400 / 550; }
  .message__clover--l { right: -20px; }
  .history { flex-direction: column; align-items: center; }
  .history__photo, .history__body { flex: none; width: 100%; max-width: 560px; }
}
@media (max-width: 767px) {
  .about-intro { padding: 60px 16px 60px; }
  .about-intro__catch { gap: 6px; }
  .about-intro__title { font-size: 16px; }
  .about-intro__title em { font-size: 19px; }
  .about-intro__text { margin-top: 36px; font-size: 14px; text-align: left; }
  .about-intro__photos { grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 30px; }
  .about-intro__photo:first-child { grid-column: 1 / -1; }
  .about-intro__photo { border-radius: 12px; }
  .message__lead { font-size: 18px; letter-spacing: .05em; }
  .message__text { font-size: 15px; margin-top: 20px; }
  .message__name { font-size: 16px; }
  .about-exec { padding: 30px 16px; }
  .about-exec .sec-title, .about-history .sec-title { margin-bottom: 36px; }
  .exec-table { font-size: 15px; }
  .exec-table caption { font-size: 18px; padding: 12px; }
  .about-history { padding: 30px 16px 20px; }
  .timeline__year { font-size: 18px; }
  .timeline__text { font-size: 15px; }
  .blog-banner { margin: 0 auto; }
  .blog-banner__title { font-size: 18px; }
  .blog-banner__text { font-size: 14px; }
}

/* =========================================================
   子育て支援事業
   ========================================================= */
/* ピンクの縦線付き見出し（共通） */
.bar-title {
  padding: 7px 30px;
  border-left: 10px solid var(--c-pink);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.3;
}
/* 点線カード（共通） */
.dash-card { padding: 10px; border-radius: 16px; background: #fff; }
.dash-card__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.7em;
  height: 100%;
  padding: 20px 20px;
  border: 3px dashed var(--c-hinata-light);
  border-radius: 16px;
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: .05em;
}
.dash-card__inner strong { font-weight: 700; }
/* 黒丸リスト（共通） */
.dot-list { padding-left: 24px; list-style: disc; font-size: 16px; line-height: 2; letter-spacing: .05em; }
/* 飾りクローバー（共通） */
.deco-clover { position: absolute; pointer-events: none; animation: sway 7s ease-in-out infinite; }

.support-intro {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 80px;
  padding: 120px 20px 100px;
}
.support-intro__text { width: 500px; max-width: 100%; font-size: 16px; font-weight: 500; line-height: 1.7; letter-spacing: .05em; text-align: center; }
.notes { position: relative; flex-shrink: 0; width: 48px; height: 245px; }
.notes img { position: absolute; animation: note-bob 3.6s ease-in-out infinite; }
.notes--l .notes__1 { left: 20px; top: 0; width: 16px; rotate: -11.25deg; }
.notes--l .notes__2 { left: 0; top: 116px; width: 22px; rotate: -2.44deg; animation-delay: -1.2s; }
.notes--l .notes__3 { left: 20px; top: 217px; width: 20px; rotate: 7.64deg; animation-delay: -2.4s; }
.notes--r .notes__1 { left: 6px; top: 0; width: 16px; animation-delay: -.6s; }
.notes--r .notes__2 { left: 20px; top: 112px; width: 22px; rotate: 19.08deg; animation-delay: -1.8s; }
.notes--r .notes__3 { left: 0; top: 213px; width: 20px; rotate: -25.82deg; animation-delay: -3s; }
@keyframes note-bob { 50% { transform: translateY(-8px); } }

.initiatives { display: flex; flex-direction: column; gap: 100px; max-width: 1036px; margin: 0 auto; }
.initiative { display: grid; grid-template-columns: 496fr 510fr; gap: 30px; align-items: start; }
.initiative--rev { grid-template-columns: 510fr 496fr; }
.initiative--rev .initiative__img { order: -1; }
.initiative__body { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.initiative__lead { font-size: 20px; font-weight: 500; line-height: 1.8; letter-spacing: 0; }
.initiative__text { font-size: 16px; font-weight: 500; line-height: 1.8; letter-spacing: 0; }
.initiative__img { position: relative; aspect-ratio: 510 / 315; }
.initiative__img > img:first-child { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 16px; }
.deco-clover--rs { right: 32px; bottom: -32px; width: 59px; rotate: 15deg; scale: 1 -1; }
.deco-clover--rl { right: -53px; bottom: -9px; width: 86px; rotate: 15deg; scale: 1 -1; animation-delay: -2s; }
.deco-clover--ls { left: 36px; bottom: -35px; width: 59px; rotate: 165deg; }
.deco-clover--ll { left: -49px; bottom: -14px; width: 86px; rotate: 165deg; animation-delay: -2s; }

.project { max-width: 1240px; margin: 0 auto; padding: 50px 20px 100px; text-align: center; }
.project__visual { display: flex; align-items: flex-end; justify-content: center; gap: 38px; margin-top: 50px; }
.project__baby { width: 547px; max-width: 60%; margin: -20px -24px -28px; }
.project__sprig { width: 122px; flex-shrink: 0; transform-origin: bottom center; }
.project__sprig--l { animation: sprig-r 6s ease-in-out infinite; }
.project__sprig--r { width: 126px; animation: sprig-r 6s ease-in-out -3s infinite reverse; }
.project__catch { margin-top: 50px; font-size: 34px; font-weight: 700; line-height: 1.7; letter-spacing: .05em; color: var(--c-deep-green); }
.project__text { margin-top: 20px; font-size: 16px; line-height: 1.9; letter-spacing: .05em; }
.project__sub { margin-top: 100px; font-size: 24px; font-weight: 600; line-height: 1.7; letter-spacing: .05em; color: var(--c-deep-green); }

.cutlery { display: flex; flex-direction: column; gap: 32px; max-width: 980px; margin: 40px auto 0; text-align: left; }
.cutlery__row { position: relative; display: grid; grid-template-columns: 560fr 400fr; gap: 20px; }
.cutlery__row--rev { grid-template-columns: 400fr 560fr; }
.cutlery__row--rev .cutlery__img { order: -1; }
.cutlery__row .dash-card { min-height: 300px; }
.cutlery__row .dash-card__inner { padding: 20px 20px; }
.cutlery__img { aspect-ratio: 400 / 300; overflow: hidden; border-radius: 16px; }
.cutlery__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cutlery__growup {
  position: absolute;
  left: 300px;
  top: 190px;
  font-family: "Marck Script", cursive;
  font-size: 100px;
  line-height: 1;
  color: var(--c-hinata);
  rotate: -5.55deg;
  pointer-events: none;
}
.cutlery__row.is-in .cutlery__growup { animation: growup-in 1.4s var(--ease-out) .4s both; }
@keyframes growup-in { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 -10% 0 0); } }

.komekko { position: relative; display: flex; justify-content: space-between; gap: 20px; max-width: 1200px; margin: 86px auto 0; text-align: left; }
.komekko__body { flex: 0 1 665px; display: flex; flex-direction: column; align-items: flex-start; gap: 30px; padding-top: 102px; }
.komekko__title { font-size: 24px; font-weight: 600; line-height: 1.7; letter-spacing: .05em; color: var(--c-deep-green); }
.komekko__notice { width: 100%; max-width: 631px; padding: 16px 40px; border-radius: 8px; background: var(--c-deep-green); color: #fff; font-weight: 700; line-height: 1.6; letter-spacing: .05em; text-align: center; }
.komekko__credit { font-size: 16px; line-height: 1.7; letter-spacing: .05em; }
.komekko__credit div { display: flex; }
.komekko__credit dt { flex: 0 0 5.5em; white-space: nowrap; letter-spacing: 0; text-align-last: justify; }
.komekko__credit dt::after { content: "："; }
.komekko__credit dd { padding-left: .5em; }
.komekko__photos { position: relative; flex: 0 0 540px; height: 512px; }
.komekko__c { position: absolute; border-radius: 50%; }
.komekko__c--1 { left: 230px; top: 0; width: 310px; }
.komekko__c--2 { left: 82px; top: 269px; width: 243px; transition-delay: .3s; }
.komekko__c--3 { left: 0; top: 71px; width: 205px; transition-delay: .15s; }

.sponsor .sec-title__ja { line-height: 1.25; }
.sponsor__content { display: flex; justify-content: center; gap: 42px; max-width: 1200px; margin: 0 auto; }
.sponsor__photos { position: relative; flex: 0 0 498px; height: 366px; }
.sponsor__c { position: absolute; border-radius: 50%; }
.sponsor__c--1 { left: 0; top: 0; width: 221px; }
.sponsor__c--2 { left: 209px; top: 77px; width: 289px; transition-delay: .15s; }
.sponsor__body { flex: 0 1 660px; display: flex; flex-direction: column; align-items: flex-start; gap: 1.7em; font-size: 16px; line-height: 1.7; letter-spacing: .05em; }
.sponsor__body .btn { margin-top: 4px; }

@media (max-width: 1100px) {
  .komekko { flex-direction: column; align-items: center; }
  .komekko__body { flex: none; padding-top: 0; }
  .komekko__photos { flex: none; width: 540px; max-width: 100%; }
  .sponsor__content { flex-direction: column; align-items: center; }
  .sponsor__photos { flex: none; }
  .sponsor__body { flex: none; max-width: 660px; }
}
@media (max-width: 900px) {
  .initiative, .initiative--rev { grid-template-columns: 1fr; }
  .initiative--rev .initiative__img { order: 0; }
  .cutlery__row, .cutlery__row--rev { grid-template-columns: 1fr; }
  .cutlery__row--rev .cutlery__img { order: 0; }
  .cutlery__growup { left: auto; right: 10px; top: auto; bottom: 30%; font-size: 64px; }
}
@media (max-width: 767px) {
  .support-intro { gap: 10px; padding: 60px 12px 60px; }
  .support-intro__text { font-size: 14px; }
  .notes { width: 30px; height: 200px; }
  .notes img { scale: .8; }
  .bar-title { padding: 6px 16px; border-left-width: 7px; font-size: 19px; }
  .initiatives { gap: 60px; }
  .initiative__lead { font-size: 17px; }
  .initiative__text { font-size: 15px; }
  .deco-clover--rs, .deco-clover--ls { width: 40px; }
  .deco-clover--rl, .deco-clover--ll { width: 58px; }
  .deco-clover--rl { right: -12px; }
  .deco-clover--ll { left: -12px; }
  .project { padding: 30px 16px 60px; }
  .project__visual { gap: 6px; margin-top: 30px; }
  .project__sprig { width: 50px; }
  .project__sprig--r { width: 52px; }
  .project__baby { max-width: 66%; margin: -8px -10px -12px; }
  .project__catch { margin-top: 30px; font-size: 22px; }
  .project__text { font-size: 14px; text-align: left; }
  .project__sub { margin-top: 60px; font-size: 18px; }
  .dash-card__inner { font-size: 15px; padding: 18px 14px; }
  .cutlery__row .dash-card { min-height: 0; }
  .cutlery__growup { font-size: 52px; bottom: 34%; }
  .komekko { margin-top: 60px; }
  .komekko__title { font-size: 19px; }
  .dot-list { font-size: 14px; line-height: 1.8; }
  .komekko__notice { padding: 14px 16px; font-size: 14px; }
  .komekko__credit { font-size: 13px; }
  .komekko__photos { width: 100%; height: auto; aspect-ratio: 540 / 512; }
  .komekko__c--1 { left: 42.6%; width: 57.4%; }
  .komekko__c--2 { left: 15.2%; top: 52.5%; width: 45%; }
  .komekko__c--3 { top: 13.9%; width: 38%; }
  .sponsor__photos { width: 100%; height: auto; aspect-ratio: 498 / 366; }
  .sponsor__c--1 { width: 44.4%; }
  .sponsor__c--2 { left: 42%; top: 21%; width: 58%; }
  .sponsor__body { font-size: 15px; }
  .sponsor__body .btn { align-self: center; }
  .sponsor .sec-title__ja { font-size: 22px; }
  .sponsor .sec-title__en { font-size: 12px; }
}

/* =========================================================
   施設ページ共通（テーマカラー）
   ========================================================= */
.theme-hinata { --accent: var(--c-hinata); --accent-light: var(--c-hinata-light); }
.theme-kaze { --accent: var(--c-kaze); --accent-light: var(--c-kaze-light); }
.theme-higashiyama { --accent: var(--c-higashi); --accent-light: var(--c-higashi-light); }
.theme-obukko { --accent: var(--c-obukko); --accent-light: var(--c-obukko-light); }
:is(.theme-hinata, .theme-kaze, .theme-higashiyama, .theme-obukko) .sec-title__en { color: var(--accent); } /* WordPress が body に付ける wp-theme-◯◯ に反応しないよう、施設のクラスを名指し */
/* 施設ページのボタンはテーマカラー */
.theme-hinata .btn { --btn-color: var(--c-hinata); --btn-arrow: url(../img/ico-btn-arrow-hinata.svg); }
.theme-kaze .btn { --btn-color: var(--c-kaze); --btn-arrow: url(../img/ico-btn-arrow-purple.svg); }
.theme-higashiyama .btn { --btn-color: var(--c-higashi); --btn-arrow: url(../img/ico-btn-arrow-blue.svg); }
.theme-obukko .btn { --btn-color: var(--c-obukko); --btn-arrow: url(../img/ico-btn-arrow-yellow.svg); }
.page-hero__sub { font-size: 24px; font-weight: 700; line-height: 1.5; letter-spacing: .05em; }
.page-hero__sub + .page-hero__ja { line-height: 1.5; }
.page-hero:has(.page-hero__sub) .page-hero__title { padding-top: 180px; }
.sec-title__sub { font-size: 14px; font-weight: 500; line-height: 1.6; margin-top: -2px; }
.bar-title--accent { padding: 0 30px; border-left-color: var(--accent); font-weight: 600; line-height: 1.7; letter-spacing: .05em; }

.facility-intro { padding: 120px 20px 80px; text-align: center; }
.facility-intro__lead { font-size: 20px; font-weight: 500; line-height: 1.7; letter-spacing: .05em; }
.anchor-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; max-width: 720px; margin: 40px auto 0; }
.anchor-links a {
  display: inline-block;
  padding: 9px 20px 11px;
  border-radius: 30px;
  background: var(--accent);
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .05em;
  transition: background .3s;
}
.anchor-links a::after { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 0 3px 10px; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(45deg); transition: transform .4s var(--ease-soft); }
.anchor-links a:hover::after { transform: translateY(3px) rotate(45deg); }
[id] { scroll-margin-top: 120px; }

.nurseries { max-width: 1240px; margin: 0 auto; padding: 0 20px 100px; }
.nurseries .sec-title { margin-bottom: 60px; }
.nurseries__list { display: flex; flex-direction: column; gap: 50px; }
.nursery { position: relative; display: grid; grid-template-columns: 540fr 630fr; gap: 30px; align-items: start; }
.nursery__img { aspect-ratio: 540 / 400; overflow: hidden; border-radius: 16px; }
.nursery__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.nursery__body { display: flex; flex-direction: column; gap: 10px; }
.nursery__text { font-size: 16px; line-height: 1.7; letter-spacing: .05em; color: #383838; }
.nursery__info { display: flex; flex-direction: column; gap: 20px; margin-top: 10px; }
.nursery__info dt { position: relative; padding-left: 15px; margin-bottom: 10px; font-size: 18px; font-weight: 500; line-height: 1; letter-spacing: .05em; }
.nursery__info dt::before { content: ""; position: absolute; left: 0; top: 6px; width: 10px; height: 10px; border-radius: 50%; background: var(--accent); }
.nursery__info dd { font-size: 16px; line-height: 1.7; letter-spacing: .05em; }
.map-link { display: inline-block; margin-top: 10px; padding: 5px 10px 7px; border-radius: 3px; background: var(--accent); color: #fff; font-size: 14px; font-weight: 700; line-height: 1; letter-spacing: .05em; transition: opacity .3s; }
.map-link:hover { opacity: .8; }
.nursery__deco { position: absolute; right: 0; bottom: 20px; width: 114px; pointer-events: none; animation: sway 7s ease-in-out infinite; }

.access .sec-title { margin-bottom: 60px; }
.access__map, .access__parking { max-width: 1200px; margin: 0 auto; overflow: hidden; }
.access__map img { display: block; width: 100%; aspect-ratio: 1200 / 508; object-fit: cover; }
.access__parking img { display: block; width: 100%; height: auto; }
.access__parking-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 26px; max-width: 1200px; margin: 50px auto 30px; }
.access__parking-head h3 { font-size: 24px; font-weight: 700; line-height: 1; letter-spacing: .1em; }
.access__parking-head p { font-size: 16px; line-height: 1.6; letter-spacing: .05em; }

.facility-news { max-width: 980px; margin: 0 auto; padding: 50px 20px 100px; }
.facility-news .sec-title { margin-bottom: 60px; }
.facility-news .btn-wrap { margin-top: 60px; }
.news-list--simple .news-list__item { border-bottom-color: var(--accent); }
.news-list--simple .news-list__item a { flex-direction: column; align-items: flex-start; gap: 10px; }
.news-list--simple .tag--new { border-color: var(--accent); background: var(--accent); }
.news-list--simple .news-list__item a:hover { background: color-mix(in srgb, var(--accent-light) 50%, #fff); }

/* 保育園の一日 */
.day .sec-title { margin-bottom: 60px; }
.day__list { position: relative; max-width: 980px; margin: 0 auto; }
.day__list::before {
  content: "";
  position: absolute;
  left: 14px; top: 18px; bottom: 30px;
  border-left: 2px dashed var(--accent);
  opacity: .6;
}
.day__item {
  position: relative;
  display: grid;
  grid-template-columns: 330px 1fr;
  grid-template-areas: "time text";
  column-gap: 30px;
  padding: 0 0 40px 50px;
}
.day__item--photo { grid-template-areas: "time ." "img text"; row-gap: 10px; }
.day__item::before {
  content: "";
  position: absolute;
  left: 0; top: 3px;
  width: 30px; height: 30px;
  border-radius: 50%;
  background: var(--accent);
}
.day__item.is-in::before { animation: dot-pop .6s var(--ease-soft) .2s both; }
@keyframes dot-pop { from { transform: scale(0); } }
.day__time { grid-area: time; font-size: 20px; font-weight: 500; line-height: 1.8; letter-spacing: .05em; color: #6e564c; }
.day__time span { margin-right: .7em; }
.day__img { grid-area: img; width: 300px; aspect-ratio: 300 / 180; overflow: hidden; border-radius: 10px; }
.day__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.day__text { grid-area: text; font-size: 16px; line-height: 2; letter-spacing: .05em; padding-top: 2px; }
.day__item:not(.day__item--photo) .day__text { padding-top: 4px; }

/* 保育園のもちもの */
.belongings { max-width: 1240px; margin: 0 auto; padding: 50px 20px 100px; text-align: center; }
.belongings .sec-title { margin-bottom: 60px; }
.belongings__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 12px; }
.belongings__head h3 { font-size: 24px; font-weight: 700; line-height: 1.7; letter-spacing: .05em; }
.belongings__req { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 700; }
.belongings__note { margin-top: 16px; font-size: 18px; line-height: 1.7; letter-spacing: .05em; }
.tabs__list { display: flex; justify-content: center; gap: 40px; margin: 40px 0 70px; }
.tabs__btn {
  width: 230px;
  padding: 10px;
  border: 2px solid var(--c-pink);
  border-radius: 60px;
  background: #fff;
  color: var(--accent);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: .05em;
  transition: background .3s, color .3s;
}
.tabs__btn:hover { background: var(--accent-light); }
.tabs__btn.is-active { background: var(--accent); color: #fff; }
.tabs__panel.is-active { animation: tab-in .6s var(--ease-out); }
@keyframes tab-in { from { opacity: 0; transform: translateY(12px); } }
.dot-head { display: flex; align-items: center; justify-content: center; gap: 24px; margin: 0 0 50px; font-size: 20px; font-weight: 700; line-height: 1.2; letter-spacing: .05em; }
.dot-head::before, .dot-head::after { content: ""; width: 20px; height: 20px; border-radius: 50%; background: var(--accent); }
.item-grid + .dot-head { margin-top: 100px; }
.item-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px 32px; max-width: 1144px; margin: 0 auto; text-align: left; }
.item-card { display: flex; flex-direction: column; gap: 10px; }
.item-card__img { aspect-ratio: 360 / 244; overflow: hidden; border-radius: 16px; background: #f6f6f6; }
.item-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease-soft); }
.item-card:hover .item-card__img img { transform: scale(1.04) rotate(-1deg); }
.item-card__label { display: flex; align-items: center; gap: 10px; padding-top: 10px; }
.item-card__label span { padding: 10px 15px; border-radius: 18px; background: var(--accent); color: #fff; font-size: 14px; font-weight: 700; line-height: 1; letter-spacing: .05em; }
.item-card__req { flex-shrink: 0; }
.item-card__text { padding-bottom: 20px; font-size: 16px; line-height: 1.7; letter-spacing: .05em; }

/* 登園時の5つのお仕度 */
.steps-sec .sec-title { margin-bottom: 60px; }
.steps { display: flex; flex-direction: column; gap: 24px; max-width: 947px; margin: 0 auto; }
.step { display: flex; align-items: center; gap: 32px; }
.step:nth-child(2) { transition-delay: .1s; }
.step:nth-child(3) { transition-delay: .2s; }
.step:nth-child(4) { transition-delay: .3s; }
.step:nth-child(5) { transition-delay: .4s; }
.step__num {
  position: relative;
  isolation: isolate;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  width: 80px; height: 117px;
  padding-left: 23px;
  color: #fff;
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
}
/* 五角形バッジ（右向き） */
.step__num::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%; top: 50%;
  width: 117px; height: 79px;
  background: url(../img/step-badge.svg) center / contain no-repeat;
  transform: translate(-50%, -50%) rotate(-90deg);
}
.step__img { flex-shrink: 0; width: 160px; height: 160px; overflow: hidden; border-radius: 70px; }
.step__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.step__text { font-size: 16px; font-weight: 500; line-height: 1.7; letter-spacing: .05em; }

/* もしもの時も安心 */
.sick { max-width: 1020px; margin: 0 auto; padding: 50px 20px 60px; }
.sick .sec-title { margin-bottom: 40px; }
.sick__lead { margin-bottom: 30px; font-size: 16px; line-height: 1.7; letter-spacing: .05em; text-align: center; }
.sick__box {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 30px 30px 32px;
  border: 1px solid var(--accent);
  border-radius: 14px;
  background: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: .03em;
}
.sick__box + .sick__box { margin-top: 20px; }
.sick__title { font-size: 22px; font-weight: 500; line-height: 1.5; }
.check { position: relative; padding-left: 30px; font-size: 18px; }
.check::before { content: ""; position: absolute; left: 0; top: .45em; width: 20px; height: 20px; background: url(../img/ico-check.svg) center / contain no-repeat; }
.sick__indent { padding-left: 20px; }
.sick .btn-wrap { margin-top: 60px; }

@media (max-width: 900px) {
  .nursery { grid-template-columns: 1fr; }
  .nursery__deco { width: 80px; bottom: 0; }
  .item-grid { grid-template-columns: repeat(2, 1fr); gap: 16px 20px; }
  .day__item, .day__item--photo { grid-template-columns: 1fr; grid-template-areas: "time" "img" "text"; row-gap: 8px; }
}
@media (max-width: 767px) {
  .page-hero:has(.page-hero__sub) .page-hero__title { padding-top: 100px; }
  .page-hero__sub { font-size: 15px; }
  .facility-intro { padding: 60px 16px 50px; }
  .facility-intro__lead { font-size: 16px; }
  .anchor-links { gap: 10px; }
  .anchor-links a { padding: 8px 14px 10px; font-size: 13px; }
  .nurseries { padding: 0 16px 60px; }
  .nurseries .sec-title, .access .sec-title, .facility-news .sec-title, .day .sec-title, .belongings .sec-title, .steps-sec .sec-title { margin-bottom: 36px; }
  .bar-title--accent { padding: 0 14px; font-size: 19px; }
  .nursery__text, .nursery__info dd { font-size: 15px; }
  .access__parking-head { margin: 30px 0 16px; }
  .access__parking-head h3 { font-size: 19px; }
  .access__parking-head p { font-size: 14px; }
  .access__map img { aspect-ratio: 4 / 3; }
  .facility-news { padding: 30px 16px 60px; }
  .day__list::before { left: 10px; }
  .day__item { padding: 0 0 32px 36px; }
  .day__item::before { width: 22px; height: 22px; top: 5px; }
  .day__time { font-size: 17px; }
  .day__img { width: 100%; }
  .day__text { font-size: 14px; line-height: 1.8; }
  .belongings { padding: 30px 16px 60px; }
  .belongings__head h3 { font-size: 18px; }
  .belongings__note { font-size: 14px; }
  .tabs__list { gap: 10px; margin: 30px 0 44px; }
  .tabs__btn { width: auto; flex: 1; padding: 8px 6px; font-size: 14px; }
  .dot-head { gap: 12px; margin-bottom: 30px; font-size: 16px; }
  .dot-head::before, .dot-head::after { width: 14px; height: 14px; flex-shrink: 0; }
  .item-grid + .dot-head { margin-top: 60px; }
  .item-grid { gap: 10px 12px; }
  .item-card__label { flex-wrap: wrap; gap: 6px; padding-top: 4px; }
  .item-card__label span { padding: 7px 10px; font-size: 12px; line-height: 1.2; }
  .item-card__req { width: 20px; height: auto; }
  .item-card__text { font-size: 12px; padding-bottom: 12px; }
  .steps { gap: 20px; }
  .step { display: grid; grid-template-columns: 50px 90px 1fr; gap: 12px; }
  .step__num { width: 50px; height: 74px; padding-left: 14px; font-size: 22px; }
  .step__num::before { width: 74px; height: 50px; }
  .step__img { width: 90px; height: 90px; border-radius: 40px; }
  .step__text { font-size: 13px; }
  .sick { padding: 30px 16px 40px; }
  .sick__lead { font-size: 14px; text-align: left; }
  .sick__box { padding: 20px 16px; font-size: 14px; }
  .sick__title { font-size: 18px; }
  .check { font-size: 15px; padding-left: 26px; }
  .check::before { width: 18px; height: 18px; }
  .sick__indent { padding-left: 6px; }
}

/* =========================================================
   病児保育室
   ========================================================= */
.sickroom { display: grid; grid-template-columns: 600fr 576fr; gap: 24px; max-width: 1240px; margin: 0 auto; padding: 100px 20px 100px; }
.sickroom__main { aspect-ratio: 600 / 400; overflow: hidden; border-radius: 8px; }
.sickroom__main img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sickroom__body { display: flex; flex-direction: column; gap: 17px; transition-delay: .15s; }
.sickroom__title { font-size: 20px; font-weight: 700; line-height: 1.7; letter-spacing: .05em; }
.sickroom__text { font-size: 16px; line-height: 1.7; letter-spacing: .05em; }
.sickroom__thumbs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: auto; }
.sickroom__thumbs li { aspect-ratio: 185 / 136; overflow: hidden; border-radius: 8px; background: #c4c4c4; }
.sickroom__thumbs img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sickroom__photo { width: calc(340 / 576 * 100%); margin-top: auto; aspect-ratio: 340 / 251; overflow: hidden; border-radius: 8px; }
.sickroom__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }

.rely .sec-title { margin-bottom: 60px; }
.rely__list { display: flex; flex-direction: column; gap: 10px; max-width: 860px; margin: 0 auto; }
.rely__item { display: flex; align-items: center; gap: 30px; }
.rely__item img { flex-shrink: 0; width: 175px; animation: floaty 6s ease-in-out infinite; }
.rely__item:nth-child(2) img { animation-delay: -2s; }
.rely__item:nth-child(3) img { animation-delay: -4s; }
.rely__item p { font-size: 16px; font-weight: 500; line-height: 1.8; letter-spacing: .05em; }
.docs { display: grid; grid-template-columns: 677fr 492fr; gap: 30px; max-width: 1200px; margin: 60px auto 0; }
.docs__body { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; font-size: 16px; line-height: 1.7; letter-spacing: .05em; }
.docs__sub { font-size: 20px; font-weight: 500; line-height: 1.8; letter-spacing: .05em; }
.pdf-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 30px;
  border-radius: 5px;
  background: var(--accent);
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: .1em;
  transition: filter .3s;
}
.pdf-btn:hover { filter: brightness(1.05) saturate(1.1); }
.pdf-btn img { transition: transform .5s var(--ease-soft); }
.pdf-btn:hover img { transform: translateY(-3px) rotate(-6deg); }
.docs__img { aspect-ratio: 492 / 363; overflow: hidden; border-radius: 16px; transition-delay: .15s; }
.docs__img img { display: block; width: 100%; height: 100%; object-fit: cover; }

.tel-box-sec { padding: 50px 20px; }
.tel-box {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  max-width: 771px;
  margin: 0 auto;
  padding: 32px 32px 30px;
  border: 3px solid var(--accent);
  border-radius: 16px;
  background: #fff;
}
.tel-box__title { font-size: 24px; font-weight: 500; line-height: 1.5; letter-spacing: .05em; }
.tel-box__num {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  padding: 10px 40px 13px;
  border-radius: 40px;
  background: var(--accent-light);
  font-size: 34px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .05em;
}
.tel-box__num img { rotate: 90deg; transition: transform .5s var(--ease-soft); }
.tel-box__num:hover img { animation: ring .6s ease-in-out; }
@keyframes ring { 20%, 60% { transform: rotate(-14deg); } 40%, 80% { transform: rotate(14deg); } }
.tel-box__illust { position: absolute; right: 21px; top: 32px; width: 187px; }

.howto .sec-title { margin-bottom: 60px; }
.flow { display: flex; flex-direction: column; gap: 24px; max-width: 730px; margin: 0 auto; }
.flow__item { position: relative; display: flex; align-items: center; min-height: 130px; }
.flow__item:nth-child(2) { transition-delay: .12s; }
.flow__item:nth-child(3) { transition-delay: .24s; }
.flow__step {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 131px;
  height: 130px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  font-size: 26px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .05em;
}
.flow__item p {
  flex: 1;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-left: -62px;
  padding: 16px 40px 16px 82px;
  border-radius: 8px;
  background: var(--accent-light);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: .05em;
}
.flow__item small { font-size: 14px; }
.overview { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; max-width: 1192px; margin: 80px auto 0; font-size: 16px; line-height: 1.7; letter-spacing: .05em; }
.overview__lead { font-size: 18px; font-weight: 500; line-height: 1.8; }
.overview__table div { display: flex; }
.overview__table dt { flex: 0 0 6em; }
.kome-list li { position: relative; padding-left: 3em; }
.kome-list li::before { content: "※"; position: absolute; left: 0; }

.sick-access { padding: 50px 20px 60px; }
.sick-access .sec-title { margin-bottom: 60px; }
.sick-access__inner { display: grid; grid-template-columns: 600fr 492fr; gap: 32px; max-width: 1124px; margin: 0 auto; }
.sick-access__map { aspect-ratio: 2 / 1; overflow: hidden; border-radius: 8px; }
.sick-access__map img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sick-access__map iframe { display: block; width: 100%; height: 100%; border: 0; }
@media (max-width: 767px) { .sick-access__map:has(iframe) { aspect-ratio: 4 / 3; } }
.sick-access__body { display: flex; flex-direction: column; gap: 10px; font-size: 16px; line-height: 1.7; letter-spacing: .05em; }
.sick-access__body .overview__table dt { flex-basis: 5.5em; }

@media (max-width: 900px) {
  .sickroom, .docs, .sick-access__inner { grid-template-columns: 1fr; }
  .tel-box__illust { position: static; align-self: flex-end; width: 150px; margin: -20px -10px -10px 0; }
}
@media (max-width: 767px) {
  .sickroom { padding: 50px 16px 60px; }
  .sickroom__text, .rely__item p, .docs__body, .overview, .sick-access__body { font-size: 14px; }
  .rely .sec-title, .howto .sec-title, .sick-access .sec-title { margin-bottom: 36px; }
  .rely__item { gap: 14px; }
  .rely__item img { width: 90px; }
  .docs { margin-top: 40px; }
  .pdf-btn { padding: 10px 16px; font-size: 14px; letter-spacing: .03em; }
  .docs__sub { font-size: 17px; }
  .tel-box { padding: 22px 16px 18px; }
  .tel-box__title { font-size: 17px; }
  .tel-box__num { padding: 10px 20px 12px; font-size: 26px; }
  .flow__step { width: 88px; height: 88px; font-size: 17px; }
  .flow__item { min-height: 88px; }
  .flow__item p { margin-left: -40px; padding: 14px 16px 14px 52px; font-size: 13px; }
  .overview { margin-top: 50px; }
  .overview__lead { font-size: 15px; }
  .overview__table div { flex-direction: column; margin-bottom: 6px; }
  .overview__table dt { flex: none; font-weight: 700; }
  .kome-list li { padding-left: 1.5em; }
  .sick-access { padding: 30px 16px 40px; }
}

/* =========================================================
   東山こども幸齢者交流センター
   ========================================================= */
.center-intro { display: grid; grid-template-columns: 600fr 576fr; gap: 24px; max-width: 1240px; margin: 0 auto; padding: 100px 20px 60px; }
.center-intro__main { aspect-ratio: 600 / 400; overflow: hidden; border-radius: 8px; }
.center-intro__main img { display: block; width: 100%; height: 100%; object-fit: cover; }
.center-intro__body { display: flex; flex-direction: column; gap: 30px; font-size: 16px; line-height: 1.7; letter-spacing: .05em; transition-delay: .15s; }
.center-intro__info div { display: flex; }
.center-intro__info dt { flex: 0 0 100px; }
.center-intro__thumbs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: auto; }
.center-intro__thumbs li { aspect-ratio: 185 / 136; overflow: hidden; border-radius: 8px; }
.center-intro__thumbs img { display: block; width: 100%; height: 100%; object-fit: cover; }

.square-links { display: grid; grid-template-columns: repeat(4, 240px); justify-content: center; gap: 10px 15px; padding: 0 20px 100px; }
.square-links li { display: flex; } /* 同じ段のボタンを高さのそろった枠いっぱいに */
.square-links a {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  padding: 8px;
  border-radius: 5px;
  background: var(--accent);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: .05em;
  text-align: center;
  transition: filter .3s;
}
.square-links a:hover { filter: brightness(1.08); }

.newsletter .sec-title { margin-bottom: 40px; }
.newsletter__note { margin-bottom: 20px; font-size: 16px; line-height: 1.7; text-align: center; }
.newsletter__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px 30px; }
.doc-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 400px;
  max-width: 100%;
  height: 80px;
  border-radius: 8px;
  background: var(--accent);
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .05em;
  transition: filter .3s;
}
.doc-btn:hover { filter: brightness(1.08); }
.doc-btn img { transition: transform .5s var(--ease-soft); }
.doc-btn:hover img { transform: translateY(-3px) rotate(-6deg); }

.center-news { max-width: 1030px; margin: 0 auto; padding: 50px 20px 100px; }
.center-news .sec-title { margin-bottom: 60px; }
.post-list { display: flex; flex-direction: column; gap: 24px; }
.post-card a { display: grid; grid-template-columns: 300px 1fr; gap: 20px; align-items: start; }
.post-card__img { aspect-ratio: 3 / 2; overflow: hidden; border-radius: 16px; }
.post-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease-out); }
.post-card a:hover .post-card__img img { transform: scale(1.05); }
.post-card__title { font-size: 20px; font-weight: 500; line-height: 1.6; letter-spacing: .05em; transition: color .3s; }
.post-card a:hover .post-card__title { color: var(--accent); }
.post-card time { display: block; margin: 6px 0 10px; font-size: 14px; letter-spacing: .05em; }
.post-card p { font-size: 16px; line-height: 1.7; letter-spacing: .03em; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.center-news > .btn-wrap:first-of-type { margin-top: 50px; }
.divider-clovers { display: block; width: 982px; max-width: 100%; height: auto; margin: 70px auto 60px; }
.insta-block { display: flex; align-items: center; justify-content: center; gap: 22px; }
.insta-block__photos { display: flex; gap: 12px; }
.insta-block__photos li { width: 150px; overflow: hidden; border-radius: 16px; }
.insta-block__photos img { display: block; width: 100%; height: auto; }
.insta-block__text { font-size: 16px; line-height: 1.7; }
.insta-block__logo { position: relative; display: flex; align-items: center; gap: 5px; margin-bottom: 6px; }
.insta-block__follow { position: absolute; left: 205px; top: -36px; width: 97px; animation: sway 5s ease-in-out infinite; }
.insta-block + .btn-wrap { margin-top: 50px; }

.center-sec__inner { max-width: 1240px; margin: 0 auto; }
.center-sec .sec-title { margin-bottom: 60px; }
.center-sec--plain { padding: 50px 20px 100px; }
.activity { display: grid; grid-template-columns: 540fr 635fr; gap: 25px; align-items: start; margin-bottom: 30px; }
.activity__img { aspect-ratio: 540 / 330; overflow: hidden; border-radius: 16px; }
.activity__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.activity__body { display: flex; flex-direction: column; gap: 20px; }
.activity__body p { font-size: 16px; line-height: 1.7; letter-spacing: .03em; }
.activity + .activity, .pill-list + .activity, .data-table + .activity { margin-top: 60px; }
.pill-list { max-width: 800px; }
.pill-list div { display: flex; align-items: flex-start; gap: 50px; padding: 15px 0; border-bottom: 2px dashed var(--accent); }
.pill-list dt {
  flex: 0 0 90px;
  padding: 8px 0;
  border-radius: 30px;
  background: var(--accent);
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .05em;
  text-align: center;
}
.pill-list dd { font-size: 16px; line-height: 1.7; letter-spacing: .05em; }

.data-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.data-table table { width: 100%; border-collapse: collapse; background: #fff; font-size: 16px; line-height: 1.43; }
.data-table th, .data-table td { padding: 10px 18px; border: 1px solid var(--c-text); text-align: left; vertical-align: top; }
.data-table th { background: var(--accent-light); font-weight: 400; text-align: center; vertical-align: middle; white-space: nowrap; }
.data-table td.c { text-align: center; }
.data-table tbody tr { transition: background .3s; }
.data-table tbody tr:hover { background: color-mix(in srgb, var(--accent-light) 35%, #fff); }
.tri-head { display: flex; align-items: center; gap: 8px; margin: 40px 0 16px; font-size: 18px; font-weight: 700; line-height: 1; letter-spacing: .05em; }
.tri-head::before { content: ""; width: 0; height: 0; border-left: 7px solid transparent; border-right: 7px solid transparent; border-top: 11px solid var(--accent); }

.cafe { max-width: 1240px; margin: 0 auto; padding: 50px 20px 100px; }
.cafe .sec-title { margin-bottom: 60px; }
.cafe__top { display: grid; grid-template-columns: 600px 1fr; align-items: start; padding-left: 32px; }
.cafe__img { overflow: hidden; border-radius: 16px; }
.cafe__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cafe__top .cafe__img { aspect-ratio: 600 / 367; }
.cafe__info {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.7em;
  margin: 90px 40px 0 -50px;
  padding: 40px 50px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .9);
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: .05em;
}
.pill-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 24px;
  border-radius: 40px;
  background: var(--accent);
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: .05em;
  transition: filter .3s;
}
.pill-link:hover { filter: brightness(1.08); }
.cafe__bottom { position: relative; display: grid; grid-template-columns: 265px 460px 460px; justify-content: end; gap: 15px; margin-top: 50px; }
.cafe__bottom .cafe__img { aspect-ratio: 460 / 367; }
.cafe__bottom .cafe__img--a { grid-column: 2; }
.cafe__menu {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 90px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 40px 50px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .9);
}
.cafe__menu-head { font-size: 18px; font-weight: 700; line-height: 1.7; text-align: center; }
.cafe__menu-items { margin-top: -6px; font-size: 16px; font-weight: 500; line-height: 1.7; text-align: center; }
.cafe__menu-price { font-size: 18px; font-weight: 700; line-height: 1.7; }
.cafe__menu-note { margin-top: -6px; padding-left: 1.5em; list-style: disc; font-size: 13px; font-weight: 500; line-height: 1.7; }

.application__body { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; max-width: 1200px; margin: 0 auto; font-size: 16px; line-height: 1.7; letter-spacing: .03em; }
.application .sec-title__ja { font-size: 32px; }
.application__tel { font-size: 18px; font-weight: 700; }
.application__head { margin-top: 10px; padding-bottom: 8px; border-bottom: 2px solid #c9c9c9; font-size: 18px; font-weight: 700; line-height: 1.6; }
.pdf-links { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.pdf-links a, .pdf-links__single {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  background: var(--accent);
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: .05em;
  transition: filter .3s;
}
.pdf-links a:hover, .pdf-links__single:hover { filter: brightness(1.08); }
.pdf-links__single { align-self: flex-start; margin-top: 10px; border-radius: 5px; font-size: 16px; padding: 8px 20px; }
.center-access .sec-title { margin-bottom: 60px; }
.center-access .sick-access__body { align-items: flex-start; }

@media (max-width: 1100px) {
  .square-links { grid-template-columns: repeat(2, minmax(0, 240px)); }
  .cafe__top { grid-template-columns: 1fr; padding-left: 0; }
  .cafe__info { margin: -40px 20px 0; }
  .cafe__bottom { grid-template-columns: 1fr 1fr; justify-content: stretch; }
  .cafe__bottom .cafe__img--a { grid-column: auto; }
  .cafe__menu { position: static; grid-column: 1 / -1; order: 3; align-items: center; }
}
@media (max-width: 900px) {
  .center-intro, .activity { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .center-intro { padding: 50px 16px 40px; }
  .center-intro__body, .activity__body p, .pill-list dd, .cafe__info, .application__body { font-size: 14px; }
  .square-links { grid-template-columns: 1fr 1fr; gap: 8px; padding: 0 16px 60px; }
  .square-links a { font-size: 12px; padding: 7px 4px; line-height: 1.5; }
  .newsletter .sec-title, .center-news .sec-title, .center-sec .sec-title, .cafe .sec-title, .center-access .sec-title { margin-bottom: 36px; }
  .newsletter__btns li { width: 100%; }
  .doc-btn { width: 100%; height: 64px; font-size: 16px; }
  .center-news { padding: 30px 16px 60px; }
  .post-card a { grid-template-columns: 120px 1fr; gap: 12px; }
  .post-card__img { border-radius: 10px; }
  .post-card__title { font-size: 15px; }
  .post-card time { margin: 2px 0 4px; font-size: 12px; }
  .post-card p { font-size: 13px; -webkit-line-clamp: 3; }
  .divider-clovers { margin: 50px auto 40px; }
  .insta-block { flex-direction: column; gap: 16px; }
  .insta-block__photos li { width: 30vw; max-width: 110px; }
  .insta-block__follow { width: 70px; left: 170px; top: -26px; }
  .center-sec--plain { padding: 30px 16px 60px; }
  .pill-list div { gap: 16px; }
  .pill-list dt { flex-basis: 78px; font-size: 13px; }
  .data-table table { font-size: 13px; min-width: 640px; }
  .data-table th, .data-table td { padding: 8px 10px; }
  .data-table::after { content: "← 横にスクロールできます →"; display: block; margin-top: 6px; font-size: 11px; color: #999; text-align: center; }
  .cafe { padding: 30px 16px 60px; }
  .cafe__info { margin: -30px 10px 0; padding: 24px 20px; }
  .pill-link { font-size: 13px; padding: 8px 16px; }
  .cafe__bottom { gap: 10px; margin-top: 30px; }
  .cafe__menu { padding: 24px 20px; }
  .application .sec-title__ja { font-size: 22px; }
  .application__tel, .application__head { font-size: 15px; }
  .pdf-links a { font-size: 13px; padding: 10px 14px; line-height: 1.5; }
}

/* =========================================================
   おおぶっこ広場
   ========================================================= */
.plaza-intro { position: relative; display: grid; grid-template-columns: 600fr 576fr; gap: 24px; max-width: 1240px; margin: 0 auto; padding: 100px 20px 100px; }
.plaza-intro__main { aspect-ratio: 600 / 400; overflow: hidden; border-radius: 8px; }
.plaza-intro__main img, .plaza-intro__thumbs img { display: block; width: 100%; height: 100%; object-fit: cover; }
.plaza-intro__thumbs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-top: 10px; }
.plaza-intro__thumbs li { aspect-ratio: 190 / 140; overflow: hidden; border-radius: 8px; }
.plaza-intro__body { display: flex; flex-direction: column; gap: 1.7em; font-size: 16px; line-height: 1.7; letter-spacing: .05em; transition-delay: .15s; }
.plaza-intro__body .center-intro__info { margin-top: 1em; }
.plaza-intro__deco { position: absolute; right: 20px; bottom: 60px; width: 114px; pointer-events: none; animation: sway 7s ease-in-out infinite; }

.birthday__inner { display: flex; align-items: center; justify-content: center; gap: 70px; max-width: 1100px; margin: 0 auto; }
.birthday__illust { width: 560px; max-width: 55%; }
.birthday__body { display: flex; flex-direction: column; align-items: center; gap: 24px; font-size: 20px; font-weight: 500; line-height: 1.5; text-align: center; }
.circle-btn {
  display: grid;
  place-items: center;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 9px var(--accent-light);
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  transition: transform .5s var(--ease-soft);
}
.circle-btn:hover { transform: rotate(-6deg); }

.moments .sec-title { margin-bottom: 60px; }
.moment-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; max-width: 1200px; margin: 0 auto; }
.moment:nth-child(2) { transition-delay: .1s; }
.moment:nth-child(3) { transition-delay: .2s; }
.moment:nth-child(4) { transition-delay: .3s; }
.moment__img { aspect-ratio: 290 / 220; overflow: hidden; border-radius: 8px; background: #d9d9d9; }
.moment__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.moment p { margin-top: 12px; font-size: 16px; line-height: 1.7; letter-spacing: .03em; }

@media (max-width: 900px) {
  .plaza-intro { grid-template-columns: 1fr; }
  .birthday__inner { flex-direction: column; gap: 30px; }
  .birthday__illust { max-width: 100%; }
  .moment-list { grid-template-columns: repeat(2, 1fr); gap: 16px 12px; }
}
@media (max-width: 767px) {
  .plaza-intro { padding: 50px 16px 60px; }
  .plaza-intro__body { font-size: 14px; }
  .plaza-intro__deco { width: 70px; bottom: 30px; }
  .birthday__body { font-size: 16px; }
  .moments .sec-title { margin-bottom: 36px; }
  .moment p { font-size: 13px; }
}

/* =========================================================
   風のまち高等学院
   ========================================================= */
.kaze-about { max-width: 1240px; margin: 0 auto; padding: 0 20px 100px; }
.kaze-about .sec-title { margin-bottom: 60px; }
.kaze-about__rows { display: flex; flex-direction: column; gap: 60px; }
/* 掲載準備中の案内（Figma「13：追加-公開」） */
.kaze-about__notice { margin: 40px 0 100px; font-size: 32px; font-weight: 500; line-height: 1.5; letter-spacing: .05em; text-align: center; }
.kaze-row { display: grid; grid-template-columns: 540fr 630fr; gap: 20px; align-items: start; }
.kaze-row--rev { grid-template-columns: 620fr 540fr; gap: 40px; }
.kaze-row--rev .kaze-row__img { order: 2; }
.kaze-row__img { aspect-ratio: 540 / 330; overflow: hidden; border-radius: 16px; background: #d9d9d9; }
.kaze-row__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.kaze-row__body { display: flex; flex-direction: column; gap: 1.7em; font-size: 16px; line-height: 1.8; letter-spacing: .03em; }
.kaze-row__body h3 { margin-bottom: 4px; font-size: 24px; font-weight: 700; line-height: 1.6; letter-spacing: .05em; }
.kaze-banner { display: block; width: 770px; max-width: 100%; margin: 100px auto 0; transition: opacity .3s; }
.kaze-banner img { display: block; width: 100%; height: auto; }
.kaze-banner:hover { opacity: .85; }

.kaze-contact { padding: 0 20px 100px; }
.kaze-contact__box { max-width: 920px; margin: 0 auto; padding: 50px 40px 60px; border: 2px solid var(--accent); border-radius: 16px; background: #fff; }
.kaze-contact__box .sec-title { margin-bottom: 40px; }
.kaze-contact__cols { display: flex; flex-wrap: wrap; justify-content: center; gap: 30px 60px; }
.kaze-contact__cols > div { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.kaze-contact__label { width: 100%; padding: 4px 20px; background: var(--accent); color: #fff; font-size: 20px; font-weight: 700; line-height: 1.5; letter-spacing: .05em; text-align: center; }
.kaze-contact__tel { font-size: 36px; font-weight: 500; line-height: 1.4; letter-spacing: .05em; }
.kaze-contact__mail { font-size: 25px; font-weight: 500; line-height: 1.6; letter-spacing: .03em; }
.kaze-contact__tel:hover, .kaze-contact__mail:hover { color: var(--accent); }
.page-kaze .sickroom { padding-bottom: 80px; }

@media (max-width: 900px) {
  .kaze-row, .kaze-row--rev { grid-template-columns: 1fr; gap: 20px; }
  .kaze-row--rev .kaze-row__img { order: 0; }
}
@media (max-width: 767px) {
  .kaze-about { padding: 0 16px 60px; }
  .kaze-about .sec-title { margin-bottom: 36px; }
  .kaze-about__notice { margin: 24px 0 50px; font-size: 20px; }
  .kaze-row__body { font-size: 14px; }
  .kaze-row__body h3 { font-size: 18px; }
  .kaze-banner { margin-top: 60px; }
  .kaze-contact { padding: 0 16px 60px; }
  .kaze-contact__box { padding: 36px 16px 40px; }
  .kaze-contact__label { font-size: 16px; }
  .kaze-contact__tel { font-size: 28px; }
  .kaze-contact__mail { font-size: 17px; }
}

/* =========================================================
   おしらせ（一覧・詳細）
   ========================================================= */
/* カテゴリータグ */
.cat-tag {
  --cat: var(--c-brown);
  --cat-light: #f2e7e5;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 6px 30px 6px 16px;
  border-radius: 30px;
  background: var(--cat-light);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .05em;
}
.cat-tag::before { content: ""; flex-shrink: 0; width: 16px; height: 16px; border-radius: 50%; background: var(--cat); }
.cat-tag--higashiyama { --cat: var(--c-higashi); --cat-light: var(--c-higashi-light); }
.cat-tag--hinata { --cat: var(--c-hinata); --cat-light: var(--c-hinata-light); }
.cat-tag--event { --cat: var(--c-green); --cat-light: var(--c-green-light); }
.cat-tag--obukko { --cat: var(--c-obukko); --cat-light: var(--c-obukko-light); }
.cat-tag--kaze { --cat: var(--c-kaze); --cat-light: var(--c-kaze-light); }

.news-archive { max-width: 1240px; margin: 0 auto; padding: 100px 20px 100px; }
.cat-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0 0 80px; }
.cat-filter .news-tabs__btn { line-height: 1; padding: 6px 12px; border: 1px solid var(--c-pink); border-radius: 3px; background: #fff; color: var(--c-pink); font-size: 14px; font-weight: 500; transition: background .3s, color .3s; }
.cat-filter .news-tabs__btn::after { display: none; }
.cat-filter .news-tabs__btn:hover { background: #fff0f5; }
.cat-filter .news-tabs__btn.is-active { background: var(--c-pink); color: #fff; font-weight: 700; }
.news-rows { display: flex; flex-direction: column; gap: 80px; max-width: 1000px; margin-inline: auto; } /* 写真を400pxにした分、一覧だけ幅を狭めて中央寄せ */
.news-row.is-hidden { display: none; }
.news-row a { display: grid; grid-template-columns: 400px 1fr; gap: 40px; align-items: start; }
.news-row__img { overflow: hidden; border-radius: 16px; } /* 写真は切り抜かず元の縦横比で表示 */
.news-row__img img { display: block; width: 100%; height: auto; transition: transform .8s var(--ease-out); }
.news-row a:hover .news-row__img img { transform: scale(1.04); }
.news-row__body { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.news-row__title { font-size: 24px; font-weight: 700; line-height: 1.5; letter-spacing: .05em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; transition: color .3s; }
.news-row a:hover .news-row__title { color: var(--c-pink); }
.news-row time { font-size: 14px; font-weight: 700; letter-spacing: .05em; }
.news-row__text { font-size: 16px; line-height: 1.7; letter-spacing: .03em; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.news-archive .news-list__empty { margin-top: 0; text-align: center; }

.pager { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 80px; }
.pager__num {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 2px solid var(--c-pink);
  border-radius: 50%;
  color: var(--c-pink);
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  transition: background .3s, color .3s;
}
.pager__num:hover, .pager__num.is-current { background: var(--c-pink); color: #fff; }
.pager__dots { color: var(--c-pink); }
.pager__prev img, .post-nav__prev img { rotate: -90deg; }
.pager__next img, .post-nav__next img { rotate: 90deg; }
.pager__prev, .pager__next, .post-nav__prev, .post-nav__next { display: grid; place-items: center; width: 36px; height: 36px; transition: transform .4s var(--ease-soft); }
.pager__prev { margin-right: 30px; }
.pager__next { margin-left: 30px; }
.pager__prev:hover, .post-nav__prev:hover { transform: translateX(-4px); }
.pager__next:hover, .post-nav__next:hover { transform: translateX(4px); }

.post { max-width: 1240px; margin: 0 auto; padding: 100px 20px 100px; }
.post__head, .post__content { max-width: 980px; margin: 0 auto; }
.post__title { font-size: 24px; font-weight: 700; line-height: 1.6; letter-spacing: .05em; }
.post__meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 40px; }
.post__meta time { font-size: 16px; font-weight: 700; letter-spacing: .1em; }
.post__eyecatch { max-width: 980px; margin: 50px auto 0; aspect-ratio: 980 / 600; overflow: hidden; border-radius: 16px; }
.post__eyecatch img { display: block; width: 100%; height: 100%; object-fit: cover; }
.post__content { display: flex; flex-direction: column; gap: 16px; margin-top: 70px; font-size: 16px; line-height: 1.7; letter-spacing: .03em; }
.post__content h2 { margin-top: 30px; padding: 4px 20px; border-left: 10px solid var(--c-pink); font-size: 20px; font-weight: 500; line-height: 1.5; }
.post__dl { display: flex; flex-direction: column; gap: 10px; margin-top: 10px; }
.post__dl div { display: flex; align-items: center; }
.post__dl dt { flex: 0 0 137px; font-weight: 500; }
.post__list { margin-top: 10px; }
.post__list li { position: relative; padding-left: 1.2em; line-height: 2; }
.post__list li::before { content: "・"; position: absolute; left: 0; }
.post__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px 40px; margin-top: 50px; }
.icon-btn {
  display: inline-flex;
  align-items: center;
  gap: 20px;
  padding: 10px 30px 10px 40px;
  border-radius: 40px;
  background: var(--c-pink);
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .05em;
  transition: filter .3s;
}
.icon-btn:hover { filter: brightness(1.05) saturate(1.1); }
.icon-btn img { transition: transform .5s var(--ease-soft); }
.icon-btn:hover img { transform: translate(2px, -2px); }
.post__gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; max-width: 1200px; margin: 60px auto 0; }
.post__gallery li { aspect-ratio: 3 / 2; overflow: hidden; border-radius: 16px; }
.post__gallery li:nth-child(2) { transition-delay: .1s; }
.post__gallery li:nth-child(3) { transition-delay: .2s; }
.post__gallery img { display: block; width: 100%; height: 100%; object-fit: cover; }
.post-nav { display: flex; align-items: center; justify-content: center; gap: 70px; margin-top: 60px; }
.post-nav__back { padding: 8px 24px; border-radius: 30px; background: var(--c-pink); color: #fff; font-size: 16px; font-weight: 500; line-height: 1.2; transition: filter .3s; }
.post-nav__back:hover { filter: brightness(1.05) saturate(1.1); }

@media (max-width: 900px) {
  .news-row a { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 767px) {
  .news-archive { padding: 50px 16px 60px; }
  .cat-filter { flex-wrap: wrap; justify-content: center; gap: 6px; width: auto; margin: 0 0 40px; padding: 0; overflow: visible; }
  .cat-filter .news-tabs__btn { font-size: 12px; padding: 5px 8px; }
  .news-rows { gap: 44px; }
  .news-row__body { gap: 10px; }
  .news-row__title { font-size: 18px; }
  .news-row__text { font-size: 14px; -webkit-line-clamp: 3; }
  .cat-tag { gap: 8px; padding: 5px 16px 5px 12px; font-size: 13px; }
  .cat-tag::before { width: 12px; height: 12px; }
  .pager { gap: 8px; margin-top: 50px; }
  .pager__prev { margin-right: 6px; }
  .pager__next { margin-left: 6px; }
  .pager__num { width: 32px; height: 32px; font-size: 15px; }
  .post { padding: 50px 16px 60px; }
  .post__title { font-size: 19px; }
  .post__meta { margin-top: 20px; }
  .post__eyecatch { margin-top: 30px; border-radius: 12px; }
  .post__content { margin-top: 40px; font-size: 14px; }
  .post__content h2 { font-size: 17px; padding: 3px 14px; border-left-width: 7px; }
  .post__dl div { flex-direction: column; align-items: flex-start; }
  .post__dl dt { flex: none; font-weight: 700; }
  .icon-btn { font-size: 14px; padding: 10px 20px 10px 26px; }
  .post__gallery { grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 40px; }
  .post__gallery li { border-radius: 10px; }
  .post-nav { gap: 30px; margin-top: 40px; }
}

/* =========================================================
   ご入園についてのご案内（文章ページ共通）
   ========================================================= */
.admission { max-width: 1240px; margin: 0 auto; padding: 100px 20px 100px; }
.toc { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 120px; }
.toc a {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 100%;
  min-height: 80px;
  padding: 10px 14px;
  border: 1px solid #e2c2bf;
  border-radius: 3px;
  background: #fff;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: .03em;
  transition: border-color .3s, background .3s;
}
.toc a:hover { border-color: var(--accent); background: #fff8fa; }
.toc img { flex-shrink: 0; }
.toc__num { flex-shrink: 0; min-width: 2.2em; }
.doc-sec { max-width: 980px; margin: 0 auto; display: flex; flex-direction: column; gap: 16px; font-size: 16px; line-height: 1.7; letter-spacing: .03em; }
.doc-sec + .doc-sec { margin-top: 90px; }
.doc-sec__title { margin-bottom: 4px; font-size: 24px; font-weight: 500; line-height: 1.5; letter-spacing: .05em; }
.doc-sub, .doc-strong { font-weight: 500; }
.doc-note { padding-left: 30px; }
.doc-note--deep { padding-left: 40px; }
.doc-note a { text-decoration: underline; text-underline-offset: 3px; }
.doc-h3 { margin-top: 10px; font-size: 20px; font-weight: 500; line-height: 1.5; }
.doc-dots { padding-left: 30px; }
.doc-dots li::before { content: "・"; }
.paren-list { display: flex; flex-direction: column; gap: 8px; }
.paren-list li { display: flex; gap: 14px; }
.paren-list span { flex-shrink: 0; width: 40px; }
.doc-table { overflow-x: auto; margin: 6px 0; }
.doc-table table { width: 100%; border-collapse: collapse; background: #fff; font-size: 16px; font-weight: 500; line-height: 1.7; letter-spacing: .05em; }
.doc-table th, .doc-table td { padding: 12px 14px; border: 1px solid var(--accent); text-align: left; vertical-align: middle; }
.doc-table th { font-weight: 500; }
.doc-table td:first-child { width: 50%; }
.doc-table--head thead th { background: var(--accent); color: #fff; }
.doc-table--center th, .doc-table--center td { text-align: center; }
.doc-table--center td:first-child { width: auto; }
.doc-table--center td.l { text-align: left; padding: 20px 26px; }
.doc-table--center table { table-layout: fixed; }

@media (max-width: 1100px) {
  .toc { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  .admission { padding: 50px 16px 60px; }
  .toc { gap: 6px; margin-bottom: 70px; }
  .toc a { min-height: 60px; padding: 8px 8px; gap: 4px; font-size: 12px; }
  .toc img { display: none; }
  .toc__num { min-width: 1.8em; }
  .doc-sec { font-size: 14px; gap: 12px; }
  .doc-sec + .doc-sec { margin-top: 60px; }
  .doc-sec__title { font-size: 19px; }
  .doc-h3 { font-size: 16px; }
  .doc-note, .doc-dots { padding-left: 12px; }
  .doc-note--deep { padding-left: 20px; }
  .paren-list li { gap: 4px; }
  .paren-list span { width: 32px; }
  .doc-table table { font-size: 13px; }
  .doc-table th, .doc-table td { padding: 10px 8px; }
  .doc-table--center table { min-width: 620px; }
  .doc-table--center td.l { padding: 12px; }
}

/* =========================================================
   お問い合わせ
   ========================================================= */
.contact { max-width: 1240px; margin: 0 auto; padding: 100px 20px 100px; }
.contact__intro { display: flex; flex-direction: column; gap: 1em; margin-bottom: 110px; font-size: 16px; line-height: 1.7; letter-spacing: .05em; text-align: center; }
.contact .sec-title { margin-bottom: 90px; }
.contact-form { display: flex; flex-direction: column; gap: 32px; max-width: 980px; margin: 0 auto; }
.form-row { display: grid; grid-template-columns: 240px 1fr; gap: 20px; align-items: center; }
.form-row--top { align-items: start; }
.form-row--top .form-row__label { padding-top: 10px; }
.form-row__label { display: flex; align-items: center; justify-content: flex-end; gap: 14px; font-size: 16px; font-weight: 700; line-height: 1.4; letter-spacing: .05em; text-align: right; }
.form-row__label:not(:has(.req)) { padding-right: 67px; }
.req { flex-shrink: 0; display: inline-grid; place-items: center; width: 53px; height: 28px; border-radius: 16px; background: var(--c-pink); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .1em; }
.form-row__field input[type="text"], .form-row__field input[type="tel"], .form-row__field input[type="email"], .form-row__field textarea {
  display: block;
  width: 100%;
  max-width: 720px;
  padding: 10px 15px;
  border: 2px solid #ae8680;
  border-radius: 5px;
  background: #fff;
  font: inherit;
  font-size: 16px;
  line-height: 1.6;
  color: var(--c-text);
  transition: border-color .3s, box-shadow .3s;
}
/* 郵便番号はPCで半分の幅 */
@media (min-width: 768px) {
  .form-row__field #f-zip { max-width: 50%; }
}

.form-row__field textarea { min-height: 300px; resize: vertical; }
.form-row__field input:focus, .form-row__field textarea:focus { outline: none; border-color: var(--c-pink); box-shadow: 0 0 0 4px rgba(255, 107, 154, .15); }
.agree { display: inline-flex; align-items: center; gap: 10px; font-size: 16px; line-height: 1.6; cursor: pointer; }
.agree input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.agree__box { position: relative; flex-shrink: 0; width: 30px; height: 30px; border: 2px solid #ae8680; border-radius: 50%; background: #fff; transition: border-color .3s; }
.agree__box::after { content: ""; position: absolute; inset: 5px; border-radius: 50%; background: var(--c-pink); transform: scale(0); transition: transform .4s var(--ease-soft); }
.agree input:checked + .agree__box { border-color: var(--c-pink); }
.agree input:checked + .agree__box::after { transform: scale(1); }
.agree input:focus-visible + .agree__box { box-shadow: 0 0 0 4px rgba(255, 107, 154, .25); }
.agree a { display: inline-flex; align-items: center; gap: 4px; text-decoration: underline; text-underline-offset: 3px; }
.contact-form__submit { display: flex; justify-content: center; margin-top: 60px; }
.submit-btn {
  width: 315px; max-width: 100%; height: 70px; border-radius: 40px;
  background: var(--c-pink); color: #fff; font-size: 20px; font-weight: 700; letter-spacing: .1em;
  box-shadow: 0 0 0 0 rgba(255, 107, 154, .25);
  transition: background-color .3s, box-shadow .5s var(--ease-out), scale .2s var(--ease-out);
}
.submit-btn:hover { background: #ff5a8e; box-shadow: 0 0 0 8px rgba(255, 107, 154, .18); }
.submit-btn:active { scale: .97; }

@media (max-width: 767px) {
  .contact { padding: 50px 16px 60px; }
  .contact__intro { margin-bottom: 60px; font-size: 14px; text-align: left; }
  .contact .sec-title { margin-bottom: 40px; }
  .contact-form { gap: 26px; }
  .form-row { grid-template-columns: 1fr; gap: 8px; }
  .form-row__label, .form-row__label:not(:has(.req)) { justify-content: flex-start; padding: 0; font-size: 15px; }
  .form-row--top .form-row__label { padding-top: 0; }
  .form-row__field input[type="text"], .form-row__field input[type="tel"], .form-row__field input[type="email"], .form-row__field textarea { padding: 12px 14px; font-size: 16px; }
  .form-row__field textarea { min-height: 220px; }
  .agree { font-size: 14px; flex-wrap: wrap; }
  .contact-form__submit { margin-top: 30px; }
  .submit-btn { height: 60px; font-size: 18px; }
}

/* =========================================================
   プライバシー・ポリシー
   ========================================================= */
.policy { max-width: 1020px; margin: 0 auto; padding: 100px 20px 120px; font-size: 16px; line-height: 1.7; letter-spacing: .03em; }
.policy__sec { margin-top: 40px; }
.policy__sec h2 { margin-bottom: 10px; font-size: 20px; font-weight: 500; line-height: 1.5; }
.policy__list { display: flex; flex-direction: column; gap: 10px; margin-top: 16px; padding-left: 30px; }
.policy__list li::before { content: "・"; }
.policy__note { display: block; padding: 4px 0 0 30px; }
@media (max-width: 767px) {
  .policy { padding: 50px 16px 70px; font-size: 14px; }
  .policy__sec h2 { font-size: 17px; }
  .policy__list { padding-left: 6px; }
  .policy__note { padding-left: 16px; }
}

/* =========================================================
   右固定ボタン（ひなたぼっこ：ご入園のご案内／病児保育）
   ========================================================= */
.side-cta {
  position: fixed;
  z-index: 80;
  right: 0;
  bottom: 110px; /* TOPに戻るボタン（下30px・高さ56px）に被らない位置 */
  display: flex;
  flex-direction: column;
  gap: 12px;
  animation: side-cta-in .8s var(--ease-out) .6s both;
}
.side-cta__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 75px;
  padding: 18px 0;
  border-radius: 9px 0 0 9px;
  background: var(--c-hinata);
  color: #fff;
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .05em;
  text-align: center;
  white-space: nowrap;
  transition: background-color .3s;
}
.side-cta__btn + .side-cta__btn { padding-block: 27px; }
.side-cta__btn img { display: block; width: 32px; height: 36px; }
.side-cta__btn + .side-cta__btn img { width: 34px; height: 34px; }
.side-cta__btn:hover { background: #f5608a; }
@keyframes side-cta-in {
  from { opacity: 0; translate: 100% 0; }
  to { opacity: 1; translate: 0 0; }
}

/* SP：画面下に2つ並べる */
@media (max-width: 767px) {
  .side-cta {
    left: 0;
    top: auto;
    bottom: 0;
    flex-direction: row;
    gap: 1px;
    padding-bottom: env(safe-area-inset-bottom);
    background: #fff;
    animation-name: side-cta-in-sp;
  }
  .side-cta__btn,
  .side-cta__btn + .side-cta__btn {
    flex: 1;
    flex-direction: row;
    gap: 8px;
    width: auto;
    height: 56px;
    padding: 0 10px;
    border-radius: 0;
    font-size: 15px;
  }
  .side-cta__btn img,
  .side-cta__btn + .side-cta__btn img { width: 24px; height: 24px; }
  body:has(.side-cta) { padding-bottom: calc(56px + env(safe-area-inset-bottom)); }
  body:has(.side-cta) .pagetop { bottom: calc(56px + 16px + env(safe-area-inset-bottom)); }
}
@keyframes side-cta-in-sp {
  from { opacity: 0; translate: 0 100%; }
  to { opacity: 1; translate: 0 0; }
}
@media (prefers-reduced-motion: reduce) {
  .side-cta { animation: none; }
}

/* =========================================================
   送信完了（thanks）・404
   ========================================================= */
.result { max-width: 860px; margin: 0 auto; padding: 90px 20px 120px; text-align: center; }
.result__mark { width: 96px; margin: 0 auto 30px; }
.result__clover { display: block; width: 100%; animation: clover-spin 60s linear infinite; }
.result__code {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  margin-bottom: 30px;
  color: var(--c-green);
  font-family: var(--ff-en);
  font-size: 120px;
  line-height: 1;
}
.result__code .result__clover { width: 104px; }
.result__title { margin-bottom: 30px; font-size: 26px; font-weight: 700; line-height: 1.5; letter-spacing: .05em; text-wrap: balance; word-break: auto-phrase; }
.result__text { display: flex; flex-direction: column; gap: 16px; font-size: 16px; line-height: 1.9; letter-spacing: .05em; }
.result__tel { display: inline-flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 4px 16px; margin-top: 40px; padding: 20px 40px; border-radius: 16px; background: #fff; font-size: 15px; font-weight: 500; }
.result__tel a { color: var(--c-pink); font-family: var(--ff-en); font-size: 28px; letter-spacing: .05em; }
.result__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 40px; }
.result__links a { display: inline-block; padding: 10px 22px 12px; border: 2px solid var(--c-green); border-radius: 30px; background: #fff; color: var(--c-deep-green); font-size: 15px; font-weight: 600; line-height: 1; transition: background-color .3s, color .3s; }
.result__links a:hover { background: var(--c-green); color: #fff; }
.result .btn-wrap { margin-top: 50px; }
@media (max-width: 767px) {
  .result { padding: 50px 16px 70px; }
  .result__mark { width: 72px; margin-bottom: 20px; }
  .result__code { font-size: 80px; margin-bottom: 20px; }
  .result__code .result__clover { width: 70px; }
  .result__title { margin-bottom: 20px; font-size: 20px; }
  .result__text { font-size: 14px; text-align: left; }
  .result__tel { flex-direction: column; align-items: center; margin-top: 30px; padding: 16px 24px; font-size: 14px; }
  .result__tel a { font-size: 24px; }
  .result__links { gap: 8px; margin-top: 30px; }
  .result__links a { padding: 9px 16px 11px; font-size: 13px; }
  .result .btn-wrap { margin-top: 36px; }
}

@keyframes scroll-hint {
  0%, 100% { translate: 0 0; }
  50% { translate: 5px 0; }
}
@media (prefers-reduced-motion: reduce) {
  .scroll-hint::after { animation: none; }
}
