/* 80周年確認用: index20260908.php のみで読み込む。 */
.anniversary-preview .top_mainimg01 {
  height: auto;
  aspect-ratio: 1920 / 789;
  box-sizing: border-box;
  container-type: inline-size;
  background: #fff;
}

.anniversary-preview .anniversary-hero {
  position: relative;
  overflow: hidden;
  background: #fff;
  color: #251d1b;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: .01em;
  text-decoration: none;
}

.anniversary-hero__art {
  position: absolute;
  left: 21.32837cqw;
  top: 1.11619cqw;
  width: 77.33627cqw;
  height: 51.75421cqw;
  overflow: hidden;
  transform: rotate(-1deg);
  transform-origin: 0 0;
}

.anniversary-hero__art img {
  position: absolute;
  left: 4.62388cqw;
  top: 40.27783cqw;
  width: 72.99206cqw;
  height: 30.29170cqw;
  max-width: none;
  transform: rotate(-35deg);
  transform-origin: 0 0;
}

.anniversary-hero__title,
.anniversary-hero__thanks,
.anniversary-hero__message {
  position: absolute;
  left: 12.08333cqw;
  font-weight: 700;
  white-space: nowrap;
}

.anniversary-hero__title {
  top: 11.35cqw;
  font-size: 3.69792cqw;
  line-height: 1.07042;
}

.anniversary-hero__thanks {
  top: 17.95cqw;
  font-size: 1.61458cqw;
  line-height: 1.5;
}

.anniversary-hero__message {
  top: 20.55cqw;
  font-size: 2.1875cqw;
  line-height: 1.52381;
}

.anniversary-hero__badge {
  position: fixed;
  z-index: 90;
  display: block;
  bottom: 100px;
  right: 30px;
  box-sizing: border-box;
  width: 11.5625vw;
  height: 11.5625vw;
  border: 2px solid #004ea2;
  border-radius: 50%;
  background: #fff;
  color: #004ea2;
  text-align: center;
  text-decoration: none;
  font-size: .98958vw;
  font-weight: 700;
  line-height: 1.36842;
}

.anniversary-hero__badge img {
  display: block;
  width: 5.20833vw;
  height: auto;
  margin: 1.19792vw auto .83333vw;
}

.anniversary-sp-only,
.anniversary-menu-banner {
  display: none;
}

.anniversary-hero__badge:focus-visible,
.anniversary-menu-banner:focus-visible,
.anniversary-hero:focus-visible {
  outline: 2px solid #004ea2;
  outline-offset: -3px;
}

@media (max-width: 1024px) {
  .anniversary-hero__badge {
    position: fixed;
    top: calc(41vw - 40px);
    bottom: auto;
    right: 15px;
    width: 100px;
    height: 100px;
    font-size: 10px;
    
    /* ガタつき（ジッター）防止用のハードウェアアクセラレーション */
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    will-change: transform;
  }

  .anniversary-hero__badge img {
    width: 42px;
    margin: 8px auto 4px;
  }

  .anniversary-menu-banner {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 22px;
    box-sizing: border-box;
    height: 95px;
    margin: 6px 12px 31px 22px;
    border: 1px solid #b2b2b2;
    background: #fff;
    color: #251d1b;
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
    letter-spacing: .01em;
    text-align: center;
    text-decoration: none;
  }

  .anniversary-menu-banner img {
    flex: 0 0 auto;
    width: 58px;
    height: auto;
  }

  .anniversary-menu-banner + .header_right_box02::before {
    content: "";
    display: block;
    margin: 0 12px 0 22px;
    border-top: 1px solid #888;
  }
}

@media (max-width: 768px) {
  .anniversary-preview .top_mainimg01 { aspect-ratio: 414 / 358; }
  .anniversary-sp-only { display: block; }
  
  .anniversary-hero__badge {
    top: calc(86.5vw - 40px); 
  }

  .anniversary-hero__art {
    left: -13.99086cqw;
    top: 14.51751cqw;
    width: 139.82227cqw;
    height: 93.57047cqw;
  }

  .anniversary-hero__art img {
    left: 8.35987cqw;
    top: 72.82143cqw;
    width: 131.96800cqw;
    height: 54.76672cqw;
  }

  .anniversary-hero__title,
  .anniversary-hero__thanks,
  .anniversary-hero__message { left: 6.76329cqw; }

  .anniversary-hero__title {
    top: 20.2cqw;
    font-size: 7.24638cqw;
    line-height: 1.33333;
  }

  .anniversary-hero__thanks,
  .anniversary-hero__message {
    font-size: 4.34783cqw;
    font-weight: 500;
    line-height: 1.55556;
    -webkit-text-stroke: 2px #fff;
    paint-order: stroke fill;
  }

  .anniversary-hero__thanks { top: 43.65cqw; }
  .anniversary-hero__message { top: 51.86cqw; }
}

@media (max-width: 374px) {
  .anniversary-menu-banner {
    gap: 12px;
    font-size: 16px;
  }
}