@charset "UTF-8";
/* Aoyagi common motion v0.5.0 | 2026-10-22
 * Independent translate preserves existing full-width positioning and signature rotation.
 * Only JS-selected elements animate; without JS all content stays visible.
 */
@media (prefers-reduced-motion: no-preference) {
  .aoyagi-motion-enter {
    --aoyagi-motion-distance: 16px;
    --aoyagi-motion-opacity: .55;
    animation: aoyagi-enter .7s cubic-bezier(.2,.65,.3,1) both;
    animation-delay: var(--aoyagi-motion-delay, 0s);
  }
  @keyframes aoyagi-enter {
    from { opacity: var(--aoyagi-motion-opacity); translate: 0 var(--aoyagi-motion-distance); }
    to { opacity: 1; translate: 0 0; }
  }
  /* Existing explicitly enabled HERO zoom remains opt-in. */
  .aoyagi-page [data-aoyagi-hero-zoom] :is(.aoyagi-home__hero-media,.aoyagi-hub__hero-media,.aoyagi-report__hero-photo) img,
  .aoyagi-page [data-aoyagi-hero-zoom] > .aoyagi-motion-hero-image {
    transform-origin: center;
    animation: aoyagi-gentle-zoom 20s ease-out both 1;
  }
  @keyframes aoyagi-gentle-zoom { from { transform: scale(1); } to { transform: scale(1.035); } }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .aoyagi-motion-card { transition: translate .24s ease-out, box-shadow .24s ease-out; }
  .aoyagi-motion-card:hover { translate: 0 -4px; box-shadow: 0 7px 20px rgb(7 53 109 / 10%); }
  .aoyagi-page .aoyagi-button, #aoyagi-common-cta a {
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, translate .22s ease-out;
  }
  .aoyagi-page .aoyagi-button:hover, #aoyagi-common-cta a:hover { translate: 0 -2px; }
}
@media (max-width: 767px) and (prefers-reduced-motion: no-preference) {
  .aoyagi-motion-enter {
    --aoyagi-motion-distance: 8px;
    --aoyagi-motion-opacity: .78;
    animation-duration: .5s;
  }
  .aoyagi-page [data-aoyagi-hero-zoom] img { animation: none !important; transform: none !important; }
}
/* 開閉はネイティブdetails。JSでheightを計算しないためCLSと操作遅延が小さい。 */
.aoyagi-page details.aoyagi-disclosure {
  overflow: hidden;
  border: 1px solid var(--aoyagi-line);
  border-radius: var(--aoyagi-radius-md);
  background: #fff;
}
.aoyagi-page details.aoyagi-disclosure + details.aoyagi-disclosure { margin-top: 12px; }
.aoyagi-page details.aoyagi-disclosure > summary {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; min-height: 48px; padding: 14px 18px;
  color: var(--aoyagi-navy); cursor: pointer;
  font-weight: 700; line-height: 1.6; list-style: none;
}
.aoyagi-page details.aoyagi-disclosure > summary::-webkit-details-marker { display: none; }
.aoyagi-page details.aoyagi-disclosure > summary::after {
  content: "+"; flex: none; font-size: 1.3em; font-weight: 400;
  transition: transform .18s ease-out;
}
.aoyagi-page details.aoyagi-disclosure[open] > summary::after { content: "−"; }
.aoyagi-page details.aoyagi-disclosure > .aoyagi-disclosure__body {
  border-top: 1px solid var(--aoyagi-line);
  padding: 18px; line-height: 1.85;
}
.aoyagi-page details.aoyagi-disclosure > .aoyagi-disclosure__body > :first-child { margin-top: 0; }
.aoyagi-page details.aoyagi-disclosure > .aoyagi-disclosure__body > :last-child { margin-bottom: 0; }
@media (prefers-reduced-motion: reduce) {
  .aoyagi-motion-enter { animation: none !important; opacity: 1 !important; translate: none !important; }
  .aoyagi-motion-card, .aoyagi-page .aoyagi-button, #aoyagi-common-cta a { transition: none !important; translate: none !important; }
  .aoyagi-page [data-aoyagi-hero-zoom] img { animation: none !important; transform: none !important; }
  .aoyagi-page details.aoyagi-disclosure > summary::after { transition: none !important; }
}

/* AOYAGI_HEADER_MOTION_START | v0.4.3 2026-10-22 */
/* Keep logo and menu geometry fixed; animate underline and color only. */
#header .c-gnav > li > a, #fix_header .c-gnav > li > a {
  position: relative;
  transition: color .22s ease-out;
}
#header .c-gnav > li > a::after, #fix_header .c-gnav > li > a::after {
  content: "";
  position: absolute;
  left: 12%; right: auto; bottom: 0;
  width: 76%; height: 2px;
  background: #087ccd;
  opacity: 1;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .28s cubic-bezier(.2,.65,.3,1);
}
#header .c-gnav > li.-current > a::after,
#fix_header .c-gnav > li.-current > a::after,
#header .c-gnav > li > a:focus-visible::after,
#fix_header .c-gnav > li > a:focus-visible::after { transform: scaleX(1); }
#header .c-gnav > li > a:focus-visible, #fix_header .c-gnav > li > a:focus-visible { color: #087ccd; }
@media (hover: hover) {
  #header .c-gnav > li > a:hover, #fix_header .c-gnav > li > a:hover { color: #087ccd; }
  #header .c-gnav > li > a:hover::after, #fix_header .c-gnav > li > a:hover::after { transform: scaleX(1); }
}
@media (max-width: 959px) and (prefers-reduced-motion: no-preference) {
  html[data-spmenu="opened"] #sp_menu .c-spnav > li {
    animation: aoyagi-menu-item-in .3s ease-out both;
    animation-delay: 0s;
  }
  html[data-spmenu="opened"] #sp_menu .c-spnav > li:nth-child(2) { animation-delay: .07s; }
  html[data-spmenu="opened"] #sp_menu .c-spnav > li:nth-child(3) { animation-delay: .14s; }
  html[data-spmenu="opened"] #sp_menu .c-spnav > li:nth-child(4) { animation-delay: .21s; }
  html[data-spmenu="opened"] #sp_menu .c-spnav > li:nth-child(5) { animation-delay: .28s; }
  html[data-spmenu="opened"] #sp_menu .c-spnav > li:nth-child(n+6) { animation-delay: .35s; }
  @keyframes aoyagi-menu-item-in {
    from { opacity: .55; translate: 0 6px; }
    to { opacity: 1; translate: 0 0; }
  }
}
@media (prefers-reduced-motion: reduce) {
  #header .c-gnav > li > a, #fix_header .c-gnav > li > a,
  #header .c-gnav > li > a::after, #fix_header .c-gnav > li > a::after { transition: none; }
  #sp_menu .c-spnav > li { animation: none !important; }
}
/* AOYAGI_HEADER_MOTION_END */

/* AOYAGI_MOTION_INTRO_START | v0.5.0 */
.aoyagi-motion-photo-frame { overflow: hidden; }
@media (prefers-reduced-motion: no-preference) {
  .aoyagi-motion-photo { animation: aoyagi-photo-settle 9s ease-out both 1; }
  @keyframes aoyagi-photo-settle { from { scale: 1.045; } to { scale: 1; } }
  .aoyagi-motion-intro > :not(picture):not(img):not(noscript) {
    animation: aoyagi-intro-in .75s cubic-bezier(.2,.65,.3,1) both;
  }
  .aoyagi-motion-intro > :nth-child(2) { animation-delay: .08s; }
  .aoyagi-motion-intro > :nth-child(3) { animation-delay: .16s; }
  .aoyagi-motion-intro > :nth-child(n+4) { animation-delay: .24s; }
  @keyframes aoyagi-intro-in { from { opacity: .55; translate: 0 12px; } to { opacity: 1; translate: 0 0; } }
}
@media (max-width: 767px) and (prefers-reduced-motion: no-preference) {
  .aoyagi-motion-photo { animation-name: aoyagi-photo-settle-mobile; animation-duration: 7s; }
  @keyframes aoyagi-photo-settle-mobile { from { scale: 1.02; } to { scale: 1; } }
  .aoyagi-motion-intro > :not(picture):not(img):not(noscript) { animation-duration: .55s; }
}
@media (prefers-reduced-motion: reduce) {
  .aoyagi-motion-photo, .aoyagi-motion-intro > * { animation: none !important; scale: none !important; translate: none !important; }
}
/* AOYAGI_MOTION_INTRO_END */
