/* いいじゃん！さいたま トップページ専用CSS ij_index.css*/

/* CSS Variables */
:root {
  /* キャッチコピー */
  --mv-catchcopy-color: #2b2327;

  /* 装飾円のグラデーション */
  --mv-deco-pink: #f09ec7;
  --mv-deco-yellow: #f4f68b;
  --mv-deco-blue: #9bc8da;
  --mv-deco-teal-light: #d5ebe8;
  --mv-deco-teal-mid: #b1dad3;
  --mv-deco-teal-dark: #82c5bc;

  /* ボタン */
  --mv-btn-gold: #a7904e;
  --mv-btn-green: #4d9435;

  /* さいたま市マップ */
  --mv-map-green: rgba(200, 230, 201, 0.6);
}

/* メインビジュアル */
.mv {
  position: relative;
  width: 100%;
  min-height: 810px;
  max-height: 1290px;
  height: 100vh;
  overflow-x: clip;
  /* オープニング初期状態: 白背景 */
  background-color: #ffffff;
}

/* オープニングアニメーション初期状態: JSが実行されるまで非表示にし、画像の一瞬表示(FOUC)を防ぐ */
.mv__map-bg,
.mv__catchcopy,
.mv__deco-circle,
.mv__diagonal-line,
.mv__photo,
.mv__photo-heart,
.mv__photo-book,
.mv__photo-sakura,
.mv__photo-kouyou,
.mv__illust,
.mv__wave-deco,
.mv__nuu-section {
  opacity: 0;
  visibility: hidden;
}

/* オープニングアニメーション: ヘッダー初期非表示（MVアニメーション完了後に表示） */
header {
  opacity: 0;
  top: -150px;
  pointer-events: none;
}
header.mv-header-visible {
  opacity: 1;
  top: 0;
  pointer-events: auto;
}
header.mv-header-visible.ij-header-hidden {
  top: -150px;
}

/* さいたま市マップシルエット（背景） */
.mv__map-bg {
  display: block;
  width: 100%;
  max-width: 35.9vw;
  position: absolute;
  top: 46.6%;
  left: 49.4%;
  translate: -50% -50%;
  height: auto;
  z-index: 1;
  opacity: 0.8;
}
@media screen and (max-width: 1439px) {
  .mv__map-bg {
    max-width: 517px;
  }
}

.mv__map-bg img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 517 / 515;
}

/* キャッチコピー */
.mv__catchcopy {
  display: block;
  width: 100%;
  max-width: 21.67vw;
  position: absolute;
  inset: 44% 50%;
  translate: -50% -50%;
  z-index: 3;
}
@media screen and (max-width: 1439px) {
  .mv__catchcopy {
    max-width: 312px;
  }
}

.mv__catchcopy img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 312 / 112;
}

/* 装飾円 */
.mv__decorations {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 2;
}

.mv__deco-circle {
  position: absolute;
  border-radius: 50%;
  opacity: 0.16;
}

.mv__deco-circle--1 {
  width: 10.97vw;
  height: 10.97vw;
  top: 14%;
  left: -4%;
  background: linear-gradient(to left, #efb7cf 0%, #f9f3a4 50%, #a2ceeb 100%);
}

.mv__deco-circle--2 {
  width: 7.01vw;
  height: 7.01vw;
  top: 14%;
  left: 13%;
  background: linear-gradient(to left, #dceef3 0%, #badde5 45%, #87c8d4 100%);
}

.mv__deco-circle--3 {
  width: 7.22vw;
  height: 7.22vw;
  top: 34%;
  left: 21%;
  background: linear-gradient(to left, #efb7cf 0%, #f9f3a4 50%, #a2ceeb 100%);
}

.mv__deco-circle--4 {
  width: 7.15vw;
  height: 7.15vw;
  top: 19%;
  left: 96%;
  background: linear-gradient(to left, #dceef3 0%, #badde5 45%, #87c8d4 100%);
}

/* 写真フレーム */
.mv__photos {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 3;
}

.mv__photo {
  position: absolute;
}

.mv__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mv__photo {
  display: block;
  width: 100%;
}

.mv__photo img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* 写真1: 上部中央 - 空の写真 */
.mv__photo--1 {
  max-width: 12.85vw;
  top: 7.7%;
  left: 33.9%;
}

.mv__photo--1 img {
  aspect-ratio: 1;
}

/* 写真2: 下部中央 - 紅葉の写真 */
.mv__photo--2 {
  max-width: 9.24vw;
  bottom: 18.1%;
  left: 35.1%;
}

.mv__photo--2 img {
  aspect-ratio: 1;
}

/* 写真3: 右上 - 夜景の写真 */
.mv__photo--3 {
  max-width: 17.22vw;
  bottom: 19.2%;
  right: 0;
}

.mv__photo--3 img {
  aspect-ratio: 248 / 242;
}

/* 写真4: 右上 - 紅葉並木の写真 */
.mv__photo--4 {
  max-width: 14.44vw;
  top: 13.7%;
  right: 9.2%;
}

.mv__photo--4 img {
  aspect-ratio: 208 / 195;
}

.mv__photo--5 {
  max-width: 18.82vw;
  top: 38.3%;
  left: 8.5%;
}

.mv__photo--5 img {
  aspect-ratio: 271 / 249;
}

.mv__photo-heart {
  max-width: 9.86111111111111vw;
  top: 16.5%;
  left: 14%;
}

.mv__photo-heart img {
  aspect-ratio: 142 / 130;
}

.mv__photo-book {
  max-width: 7.99vw;
  right: 0;
  bottom: 16%;
  z-index: 3;
}

.mv__photo-book img {
  aspect-ratio: 115 / 155;
}

.mv__photo-sakura {
  max-width: 12.78vw;
  bottom: 19.8%;
  left: 4.8%;
  z-index: 3;
}

.mv__photo-sakura img {
  aspect-ratio: 184 / 180;
}

.mv__photo-kouyou {
  max-width: 15.07vw;
  top: 24%;
  right: 9%;
  z-index: 3;
}

.mv__photo-kouyou img {
  aspect-ratio: 216.91 / 175.1;
}

/* イラスト配置 */
.mv__illustrations {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 7;
}

.mv__illust {
  display: block;
  width: 100%;
  position: absolute;
}

.mv__illust img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* イラスト: 座っている人（上部中央） */
.mv__illust--sitting {
  max-width: 6.88vw;
  top: 18.9%;
  left: 43.5%;
}

.mv__illust--sitting img {
  aspect-ratio: 99 / 160;
}

/* イラスト: 本を持つ人（右上） */
.mv__illust--reading {
  max-width: 5.14vw;
  top: 16.7%;
  right: 6.4%;
}

.mv__illust--reading img {
  aspect-ratio: 74 / 232;
}

/* イラスト: ファミリー（左下） */
.mv__illust--family {
  max-width: 14.79vw;
  bottom: 17.6%;
  left: 14.1%;
}

.mv__illust--family img {
  aspect-ratio: 213 / 238;
}

.mv__illust--male_and_female {
  max-width: 36.25vw;
  bottom: -12%;
  left: 57.7%;
}

.mv__illust--male_and_female img {
  aspect-ratio: 502.38 / 482.47;
}

/* 波線装飾 */
.mv__wave-deco {
  display: block;
  width: 100%;
  max-width: 4.24vw;
  position: absolute;
}

.mv__wave-deco img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 61 / 11;
}

.mv__wave-deco--1 {
  top: 84.7%;
  left: 0%;
}

.mv__wave-deco--2 {
  top: 83.3%;
  left: 27.2%;
}

.mv__wave-deco--3 {
  top: 44.4%;
  left: 85.6%;
}

.mv__wave-deco--4 {
  top: 41%;
  left: 93%;
}

/* ぬうキャラクター + 見てみるボタン */
.mv__nuu-section {
  position: fixed;
  left: 1%;
  bottom: 0;
  z-index: 20;
  animation: nuu-float 4s ease-in-out infinite;
}

@keyframes nuu-float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}

.mv__nuu-character {
  display: block;
  width: 100%;
  max-width: 301px;
}
@media screen and (max-width: 1439px) {
  .mv__nuu-character {
    max-width: 20.90277777777778vw;
  }
}

.mv__nuu-character img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 301 / 288;
  vertical-align: bottom;
}

.mv__nuu-btn {
  text-decoration: none;
}

/* 斜め線装飾 */
.mv__diagonal-line {
  /* クリップパスで右斜め上（要素の右端）から切り取るアニメーション用 */
  --diagonal-clip: 0%;
  clip-path: inset(0 var(--diagonal-clip) 0 0);
  -webkit-clip-path: inset(0 var(--diagonal-clip) 0 0);
  background: linear-gradient(
    to right,
    #efb7cf 0%,
    #f9f3a4 25%,
    #a2ceeb 50%,
    #efb7cf 75%,
    #f9f3a4 100%
  );
  background-size: 100% 100%;
  background-repeat: repeat-x;
  rotate: -45deg;
  position: absolute;
}

.mv__diagonal-line--1 {
  width: 10.42vw;
  height: 0.35vw;
  border-radius: 0.17vw;
  top: 24%;
  left: 5%;
}

.mv__diagonal-line--2 {
  width: 13.89vw;
  height: 0.56vw;
  border-radius: 0.28vw;
  top: 63%;
  left: -5%;
}

.mv__diagonal-line--3 {
  width: 10.42vw;
  height: 0.28vw;
  border-radius: 0.14vw;
  top: 59%;
  left: 22%;
}

.mv__diagonal-line--4 {
  width: 10.42vw;
  height: 0.28vw;
  border-radius: 0.14vw;
  top: 23%;
  left: 71%;
}

.mv__diagonal-line--5 {
  width: 13.89vw;
  height: 0.56vw;
  border-radius: 0.28vw;
  top: 24%;
  left: 86%;
}

.mv__diagonal-line--6 {
  width: 13.89vw;
  height: 0.56vw;
  border-radius: 0.28vw;
  top: 78%;
  left: 91%;
}

@media screen and (max-width: 1439px) {
  .mv__map-bg {
    max-width: min(517px, 35.9vw);
    max-width: 517px;
  }

  .mv__catchcopy {
    max-width: min(312px, 21.67vw);
    max-width: 312px;
  }

  .mv__deco-circle--1 {
    width: min(158px, 10.97vw);
    height: min(158px, 10.97vw);
  }

  .mv__deco-circle--2 {
    width: min(101px, 7.01vw);
    height: min(101px, 7.01vw);
  }

  .mv__deco-circle--3 {
    width: min(104px, 7.22vw);
    height: min(104px, 7.22vw);
  }

  .mv__deco-circle--4 {
    width: min(103px, 7.15vw);
    height: min(103px, 7.15vw);
  }

  .mv__photo--1 {
    max-width: min(185px, 12.85vw);
  }

  .mv__photo--2 {
    max-width: min(133px, 9.24vw);
  }

  .mv__photo--3 {
    max-width: min(248px, 17.22vw);
  }

  .mv__photo--4 {
    max-width: min(208px, 14.44vw);
  }

  .mv__photo--5 {
    max-width: min(271px, 18.82vw);
  }

  .mv__photo-heart {
    max-width: min(139px, 9.65vw);
  }

  .mv__photo-book {
    max-width: min(115px, 7.99vw);
  }

  .mv__photo-sakura {
    max-width: min(184px, 12.78vw);
  }

  .mv__photo-kouyou {
    max-width: min(216.91px, 15.07vw);
  }

  .mv__illust--sitting {
    /* max-width: min(99px, 6.88vw); */
    max-width: max(99px, 6.88vw);
  }

  .mv__illust--reading {
    max-width: min(74px, 5.14vw);
  }

  .mv__illust--family {
    max-width: min(213px, 14.79vw);
  }

  .mv__illust--male_and_female {
    max-width: min(522px, 36.25vw);
  }

  .mv__wave-deco {
    max-width: min(61px, 4.24vw);
  }

  .mv__nuu-character {
    /* max-width: min(242.4px, 16.81vw); */
  }

  .mv__diagonal-line--1 {
    width: min(150px, 10.42vw);
    height: min(5px, 0.35vw);
  }

  .mv__diagonal-line--2 {
    width: min(200px, 13.89vw);
    height: min(8px, 0.56vw);
  }

  .mv__diagonal-line--3 {
    width: min(150px, 10.42vw);
    height: min(4px, 0.28vw);
  }

  .mv__diagonal-line--4 {
    width: min(150px, 10.42vw);
    height: min(4px, 0.28vw);
  }

  .mv__diagonal-line--5 {
    width: min(200px, 13.89vw);
    height: min(8px, 0.56vw);
  }

  .mv__diagonal-line--6 {
    width: min(200px, 13.89vw);
    height: min(8px, 0.56vw);
  }
}

@media screen and (max-width: 834px) {
  .mv {
    height: 156.53333333333333vw;
    max-height: 156.53333333333333vw;
    min-height: 156.53333333333333vw;
  }

  .mv__catchcopy {
    max-width: 48.75vw;
  }

  .mv__map-bg {
    max-width: 80.78125vw;
    top: 50%;
  }

  .mv__photo--1 {
    max-width: 35.824vw;
    top: 9%;
    left: -4%;
    aspect-ratio: 1;
  }

  .mv__photo--2 {
    max-width: 17.066666666666666vw;
    bottom: 7%;
    left: 33%;
    aspect-ratio: 64 / 63.87;
  }

  .mv__photo--3 {
    display: none;
  }

  .mv__photo-book {
    display: none;
  }

  .mv__photo--4 {
    max-width: 21.528vw;
    top: 15%;
    right: 8%;
    aspect-ratio: 80.73 / 75.64;
  }

  .mv__photo--5 {
    max-width: 34.4vw;
    top: 62%;
    left: -5%;
    aspect-ratio: 129 / 118.07;
  }

  .mv__photo-heart {
    display: none;
  }

  .mv__photo-sakura {
    max-width: 23.68vw;
    top: 74%;
    left: -10%;
  }

  .mv__photo-sakura img {
    aspect-ratio: 88.8 / 85;
  }

  .mv__photo-kouyou {
    max-width: 17.349333333333334vw;
    top: 26%;
    right: 9%;
  }

  .mv__photo-kouyou img {
    aspect-ratio: 65.06 / 52.62;
  }

  .mv__illust--sitting {
    max-width: 17.333333333333336vw;
    top: 23%;
    left: 28%;
  }

  .mv__illust--sitting img {
    aspect-ratio: 65 / 105;
  }

  .mv__illust--reading {
    max-width: 7.733333333333333vw;
    top: 17%;
    right: 3%;
  }

  .mv__illust--reading img {
    aspect-ratio: 29 / 93;
  }

  .mv__illust--family {
    max-width: 26.400000000000002vw;
    bottom: 8%;
    left: 6%;
  }

  .mv__illust--family img {
    aspect-ratio: 99 / 111;
  }

  .mv__illust--male_and_female {
    max-width: 63.733333333333334vw;
    left: initial;
    right: 0;
    bottom: -12%;
  }

  .mv__illust--male_and_female img {
    aspect-ratio: 239 / 248;
  }

  .mv__deco-circle--1 {
    width: 23.4375vw;
    height: 23.4375vw;
    top: -4%;
    left: 52%;
  }

  .mv__deco-circle--2 {
    display: none;
  }

  .mv__deco-circle--3 {
    display: none;
  }

  .mv__deco-circle--4 {
    display: none;
  }

  .mv__diagonal-line--1 {
    width: 60px;
    height: 3px;
    top: 21%;
    left: 38%;
  }

  .mv__diagonal-line--2 {
    width: 65px;
    height: 3px;
    top: 49%;
    left: -5%;
  }

  .mv__diagonal-line--3 {
    width: 75px;
    height: 3px;
    top: 64%;
    left: 17%;
  }

  .mv__diagonal-line--4 {
    width: 65px;
    height: 3px;
    top: 20%;
    left: 64%;
  }

  .mv__diagonal-line--5 {
    width: 100px;
    height: 3px;
    top: 22%;
    left: 87%;
  }

  .mv__diagonal-line--6 {
    width: 100px;
    height: 3px;
    top: 66%;
    left: 84%;
  }

  .mv__wave-deco--1 {
    max-width: 7.466666666666668vw;
    top: 91%;
    left: 4%;
  }

  .mv__wave-deco--1 img {
    aspect-ratio: 28 / 5;
  }

  .mv__wave-deco--2 {
    max-width: 7.466666666666668vw;
    top: 90%;
    left: 25%;
  }

  .mv__wave-deco--2 img {
    aspect-ratio: 28 / 5;
  }

  .mv__wave-deco--3 {
    display: none;
  }

  .mv__wave-deco--4 {
    display: none;
  }

  .mv__nuu-character {
    max-width: 110px;
  }
}

/* お知らせセクション */
.news {
  padding-bottom: 151px;
  position: relative;
  overflow-x: clip;
}
@media screen and (max-width: 1140px) {
  .news {
    padding: 60px 0 80px;
  }
}
@media screen and (max-width: 834px) {
  .news {
    padding-top: 36px;
  }
}

.news::after {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #dceef3 0%, #badde5 45%, #87c8d4 100%);
  opacity: 0.57;
  position: absolute;
  inset: 0;
  z-index: 0;
}

.news__bg {
  position: absolute;
  display: block;
  width: 100%;
  z-index: 1;
}

.news__bg img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.news__bg--01 {
  max-width: 1083px;
  top: -123px;
  right: 0;
}
.news__bg--01 img {
  aspect-ratio: 1083 / 457;
}
@media screen and (max-width: 834px) {
  .news__bg--01 {
    top: -60px;
  }
}
@media screen and (max-width: 834px) {
  .news__bg--01 {
    max-width: 281px;
    max-width: 74.93333333333332vw;
    top: -32px;
  }
}

.news__bg--02 {
  max-width: 149px;
  top: -23px;
  right: 0;
}
.news__bg--02 img {
  aspect-ratio: 149 / 123;
}
@media screen and (max-width: 834px) {
  .news__bg--02 {
    max-width: 36px;
    max-width: 9.6vw;
    top: -18px;
  }
}

.news__bg--03 {
  max-width: 247px;
  top: 87.59px;
  left: 0;
}
.news__bg--03 img {
  aspect-ratio: 247 / 154;
}
@media screen and (max-width: 834px) {
  .news__bg--03 {
    max-width: 66px;
    max-width: 17.599999999999998vw;
    top: 22px;
  }
}

.news__bg--04 {
  max-width: 402px;
  bottom: -98.43px;
  left: 0;
}
.news__bg--04 img {
  aspect-ratio: 402 / 309;
}
@media screen and (max-width: 834px) {
  .news__bg--04 {
    max-width: 124px;
    max-width: 33.06666666666666vw;
    bottom: -41px;
  }
}

.news__bg--05 {
  max-width: 199px;
  top: 259.59px;
  right: 0;
}
.news__bg--05 img {
  aspect-ratio: 199 / 131;
}
@media screen and (max-width: 834px) {
  .news__bg--05 {
    max-width: 49px;
    max-width: 13.066666666666665vw;
    top: 66px;
  }
}

.news__bg--06 {
  max-width: 274px;
  bottom: 29.17px;
  right: 83.51px;
}
.news__bg--06 img {
  aspect-ratio: 274 / 131;
}
@media screen and (max-width: 834px) {
  .news__bg--06 {
    max-width: 81px;
    max-width: 21.6vw;
    bottom: -5px;
    right: -30px;
  }
}

.news__bg--07 {
  max-width: 139px;
  bottom: -44.51px;
  right: 344.86px;
}
.news__bg--07 img {
  aspect-ratio: 139 / 70;
}
@media screen and (max-width: 834px) {
  .news__bg--07 {
    max-width: 37px;
    max-width: 9.866666666666667vw;
    bottom: -25px;
    right: 48px;
  }
}

.news__container {
  margin-inline: auto;
  padding-inline: 20px;
  max-width: 1220px;
  position: relative;
}

.news__title {
  margin-inline: auto;
  width: fit-content;
  position: relative;
  z-index: 8;
}
@media screen and (max-width: 1140px) {
  .news__title {
    margin-bottom: 40px;
  }
}

.news__title-text {
  margin-bottom: 10px;
  display: block;
  width: 100%;
  max-width: 121.92px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 834px) {
  .news__title-text {
    max-width: 94px;
    max-width: 25.066666666666666vw;
  }
}

.news__title-text img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 121.92 / 31.88;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 834px) {
  .news__title-text img {
    aspect-ratio: 94 / 25;
  }
}

.news__title-img {
  margin-inline: auto;
  width: fit-content;
  display: block;
  width: 100%;
  max-width: 42.54px;
}
@media screen and (max-width: 834px) {
  .news__title-img {
    max-width: 33px;
    max-width: 8.799999999999999vw;
  }
}

.news__title-img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 42.54 / 47.86;
}

.news__content {
  margin-top: 41px;
  padding: 68px 57px 35px;
  background-color: #ffffff;
  border-radius: 10px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 640px) {
  /* 640px以下の幅に適応される */
  .news__content {
    padding: 68px 20px 35px;
  }
}

/* お知らせカードグリッド - 2列×3行 */
.news__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 43px 118px;
}
@media screen and (max-width: 1024px) {
  /* 1024px以下の幅に適応される */
  .news__grid {
    gap: 30px 60px;
  }
}
@media screen and (max-width: 640px) {
  /* 640px以下の幅に適応される */
  .news__grid {
    gap: 30px 30px;
  }
}
@media screen and (max-width: 500px) {
  .news__grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

/* お知らせカード - 横並びレイアウト */
.news__card {
  border-radius: 0;
  overflow: visible;
  transition: opacity 0.3s ease;
  list-style: none;
}

.news__card:hover {
  opacity: 0.85;
}

.news__card-link {
  display: flex;
  flex-direction: row;
  text-decoration: none;
  color: inherit;
  gap: 16px;
}
@media screen and (max-width: 1024px) {
  /* 1024px以下の幅に適応される */
  .news__card-link {
    flex-direction: column;
  }
}

/* カード画像 - 左側配置 */
.news__card-image {
  position: relative;
  width: 200px;
  min-width: 200px;
  flex-shrink: 0;
}
@media screen and (max-width: 1024px) {
  /* 1024px以下の幅に適応される */
  .news__card-image {
    width: 100%;
    max-width: 100%;
  }
}

/* 画像マスク - 既存のnobinobiスタイルと同様 */
.news__card-image .figure {
  width: 100%;
  margin: 0;
}

/* マスク設定 - 奇数・偶数・3の倍数で異なるマスク */
.news__card:nth-child(odd) .news__card-image .figure {
  /* mask-image: url("/share/imgs/ij_00_mask1.svg");
  -webkit-mask-image: url("/share/imgs/ij_00_mask1.svg");
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat; */
}

.news__card:nth-child(2n) .news__card-image .figure {
  /* mask-image: url("/share/imgs/ij_00_mask2.svg");
  -webkit-mask-image: url("/share/imgs/ij_00_mask2.svg");
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat; */
}

.news__card:nth-child(3n) .news__card-image .figure {
  /* mask-image: url("/share/imgs/ij_00_mask3.svg");
  -webkit-mask-image: url("/share/imgs/ij_00_mask3.svg");
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat; */
}

.news__card-image .figure img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

/* カードコンテンツ - 右側配置 */
.news__card-content {
  flex: 1;
  /* padding: 8px 0; */
  text-align: left;
}

/* メタ情報（カテゴリ + 日付） */
.news__card-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 10px;
  gap: 8px;
}

/* 日付 */
.news__card-date {
  font-family: zen-kaku-gothic-antique, sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  color: #231815;
}

/* カテゴリ - 既存のrebel__baseスタイルを使用 */
.news__card-category {
  display: inline-block;
  font-family: zen-kaku-gothic-antique, sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
}

/* カードタイトル */
.news__card-title {
  font-family: zen-kaku-gothic-antique, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: #231815;
  line-height: 1.6;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 一覧を見るボタン */
.news__button {
  margin-top: 90px;
  margin-inline: auto;
  width: fit-content;
}

/* ========================================
   お知らせセクション レスポンシブ対応
======================================== */
/* タブレット小 (834px以下) */
@media screen and (max-width: 834px) {
  .news__card-link {
    gap: 12px;
  }

  .news__card-title {
    font-size: 0.9rem;
  }
}

/* スマートフォン (640px以下) */
@media screen and (max-width: 640px) {
  .news__container {
    padding: 0 16px;
  }

  .news__title {
    font-size: 1.5rem;
    margin-bottom: 30px;
  }

  .news__card-link {
    gap: 12px;
  }

  .news__card-content {
    padding: 4px 0;
  }

  .news__card-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    margin-bottom: 8px;
  }

  .news__card-date {
    font-size: 0.8rem;
    order: 2;
  }

  .news__card-category {
    order: 1;
  }

  .news__card-title {
    font-size: 0.9rem;
    -webkit-line-clamp: 3;
  }

  .news__btn {
    max-width: 100%;
    padding: 14px 30px;
    font-size: 0.9rem;
  }
}

/* 小さいスマートフォン (375px以下) */
@media screen and (max-width: 375px) {
  .news__card-title {
    font-size: 0.85rem;
  }
}

/* 推しポイントセクション */
.oshi-point {
  padding-top: 100px;
  padding-bottom: 356px;
  position: relative;
}
@media screen and (max-width: 834px) {
  .oshi-point {
    padding-top: 31px;
    padding-top: 8.266666666666666vw;
    padding-bottom: 366px;
    padding-bottom: 97.6vw;
  }
}

.oshi-point__container {
  margin-inline: auto;
  padding-inline: 20px;
  text-align: center;
}

/* セクションタイトル */
.oshi-point__title {
}

.oshi-point__title-text {
  margin-inline: auto;
  margin-bottom: 10px;
  width: fit-content;
  display: block;
  width: 100%;
  max-width: 177px;
}
@media screen and (max-width: 834px) {
  .oshi-point__title-text {
    margin-bottom: 2.666666666666667vw;
    max-width: 137px;
    max-width: 36.53333333333333vw;
  }
}

.oshi-point__title-text img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 177 / 31;
}

.oshi-point__title-img {
  margin-inline: auto;
  width: fit-content;
  display: block;
  width: 100%;
  max-width: 28px;
}
@media screen and (max-width: 834px) {
  .oshi-point__title-img {
    max-width: 22px;
    max-width: 5.866666666666666vw;
  }
}

.oshi-point__title-img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 28 / 65;
}

/* メインキャッチコピー */
.oshi-point__catchcopy {
  margin-top: 111px;
  margin-inline: auto;
  width: fit-content;
  display: block;
  width: 100%;
  max-width: 525px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 834px) {
  .oshi-point__catchcopy {
    margin-top: 159px;
    margin-top: 42.4vw;
    max-width: 312px;
    max-width: 83.2vw;
  }
}

.oshi-point__catchcopy img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 525 / 41;
}

/* 説明テキスト */
.oshi-point__description {
  margin-top: 44px;
  margin-inline: auto;
  font-size: clamp(0.9rem, 1.5vw, 1rem);
  font-size: 15px;
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
  color: #231815;
  line-height: 2;
  text-align: center;
  /* 画像との重なりで視認性を上げる */
  text-shadow:
    0 0 4px #fff,
    0 0 8px rgba(255, 255, 255, 0.9),
    0 1px 2px rgba(255, 255, 255, 0.95);
}
@media screen and (max-width: 834px) {
  .oshi-point__description {
    margin-top: 39px;
    margin-top: 10.4vw;
    line-height: 1.8;
  }
}

.oshi-point__description .inline-block {
  display: inline-block;
  font-size: 15px;
  font-family: "IBM Plex Sans JP", sans-serif;
}

.oshi-point__button {
  margin-top: 42px;
  margin-inline: auto;
  width: fit-content;
}
@media screen and (max-width: 834px) {
  .oshi-point__button {
    margin-top: 37px;
    margin-top: 9.866666666666667vw;
  }
}

/* イラスト画像 */
.oshi-point__illust {
  display: block;
  width: 100%;
  position: absolute;
}

.oshi-point__illust img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* 各イラストの配置 */
/* 左上: ほどほどネイチャー */
.oshi-point__illust--nature-bg {
  max-width: 384px;
  top: 293px;
  left: calc(50% - 709px);
}
@media screen and (max-width: 1439px) {
  .oshi-point__illust--nature-bg {
    max-width: min(384px, 26.67vw);
    top: clamp(180px, 20.35vw, 293px);
    left: max(0px, calc(50% - 49.24vw));
  }
}
@media screen and (max-width: 834px) {
  .oshi-point__illust--nature-bg {
    max-width: 160px;
    max-width: 42.66666666666667vw;
    top: 150px;
    top: 40vw;
    left: calc(50% - 58.666666666666664vw);
  }
}

.oshi-point__illust--nature-bg img {
  aspect-ratio: 384 / 263;
}

.oshi-point__illust--nature-balloon {
  max-width: 196px;
  top: 119px;
  left: calc(50% - 461px);
}
@media screen and (max-width: 1439px) {
  .oshi-point__illust--nature-balloon {
    max-width: min(196px, 13.61vw);
    top: clamp(70px, 8.26vw, 119px);
    left: max(0px, calc(50% - 31.99vw));
  }
}
@media screen and (max-width: 834px) {
  .oshi-point__illust--nature-balloon {
    max-width: 80px;
    max-width: 21.333333333333336vw;
    top: 80px;
    top: 21.333333333333336vw;
    left: calc(50% - 29.599999999999998vw);
  }
}

.oshi-point__illust--nature-balloon img {
  aspect-ratio: 196 / 193;
  filter: drop-shadow(7px 7px 10px rgba(35, 24, 21, 0.4));
}

.oshi-point__illust--nature-img {
  max-width: 212px;
  top: 248px;
  left: calc(50% - 583px);
}
@media screen and (max-width: 1439px) {
  .oshi-point__illust--nature-img {
    max-width: min(212px, 14.72vw);
    top: clamp(150px, 17.22vw, 248px);
    left: max(0px, calc(50% - 40.49vw));
  }
}
@media screen and (max-width: 834px) {
  .oshi-point__illust--nature-img {
    max-width: 89px;
    max-width: 23.733333333333334vw;
    top: 130px;
    top: 34.66666666666667vw;
    left: calc(50% - 45.33333333333333vw);
  }
}

.oshi-point__illust--nature-img img {
  aspect-ratio: 212 / 237;
}

.oshi-point__illust--nature-decoration {
  max-width: 48px;
  top: 212px;
  left: calc(50% - 606px);
}
@media screen and (max-width: 1439px) {
  .oshi-point__illust--nature-decoration {
    max-width: min(48px, 3.33vw);
    top: clamp(120px, 14.72vw, 212px);
    left: max(0px, calc(50% - 42.08vw));
  }
}
@media screen and (max-width: 834px) {
  .oshi-point__illust--nature-decoration {
    max-width: 21px;
    max-width: 5.6000000000000005vw;
    top: 120px;
    top: 32vw;
    left: calc(50% - 48vw);
  }
}

.oshi-point__illust--nature-decoration img {
  aspect-ratio: 48 / 39;
}

/* 右上: スポーツわいわい */
.oshi-point__illust--sports-bg {
  max-width: 362px;
  top: 188px;
  left: calc(50% + 301px);
}
@media screen and (max-width: 1439px) {
  .oshi-point__illust--sports-bg {
    max-width: min(362px, 25.14vw);
    top: clamp(110px, 13.06vw, 188px);
    left: min(100%, calc(50% + 20.9vw));
  }
}
@media screen and (max-width: 834px) {
  .oshi-point__illust--sports-bg {
    max-width: 154px;
    max-width: 41.06666666666667vw;
    top: 88px;
    top: 23.466666666666665vw;
    left: calc(50% + 13.600000000000001vw);
  }
}

.oshi-point__illust--sports-bg img {
  aspect-ratio: 362 / 359;
}

.oshi-point__illust--sports-balloon {
  max-width: 296px;
  top: 194px;
  left: calc(50% + 277px);
}
@media screen and (max-width: 1439px) {
  .oshi-point__illust--sports-balloon {
    max-width: min(296px, 20.56vw);
    top: clamp(110px, 13.47vw, 194px);
    left: min(100%, calc(50% + 19.24vw));
  }
}
@media screen and (max-width: 834px) {
  .oshi-point__illust--sports-balloon {
    max-width: 123px;
    max-width: 32.800000000000004vw;
    top: 100px;
    top: 26.666666666666668vw;
    left: calc(50% + 10.666666666666668vw);
  }
}

.oshi-point__illust--sports-balloon img {
  aspect-ratio: 296 / 254;
}

.oshi-point__illust--sports-img {
  max-width: 134px;
  top: 180px;
  left: calc(50% + 480px);
}
@media screen and (max-width: 1439px) {
  .oshi-point__illust--sports-img {
    /* max-width: min(204px, 14.17vw); */
    max-width: 9.305555555555555vw;
    /* top: clamp(80px, 9.58vw, 138px); */
    top: 12.5vw;
    /* left: min(100%, calc(50% + 30.42vw)); */
    left: calc(50% + 33.33333333333333vw);
  }
}
@media screen and (max-width: 834px) {
  .oshi-point__illust--sports-img {
    max-width: 54px;
    max-width: 14.399999999999999vw;
    top: 95px;
    top: 25.333333333333336vw;
    left: calc(50% + 32vw);
  }
}

.oshi-point__illust--sports-img img {
  aspect-ratio: 134 / 211;
}

/* 左下: ぷらっとお出かけ */
.oshi-point__illust--odekake-bg {
  max-width: 259px;
  top: 582px;
  left: calc(50% - 511px);
}
@media screen and (max-width: 1439px) {
  .oshi-point__illust--odekake-bg {
    max-width: min(259px, 17.99vw);
    left: max(0px, calc(50% - 35.49vw));
  }
}
@media screen and (max-width: 1200px) {
  .oshi-point__illust--odekake-bg {
    top: 680px;
  }
}
@media screen and (max-width: 950px) {
  .oshi-point__illust--odekake-bg {
    left: max(0px, calc(50% - 43.49vw));
  }
}
@media screen and (max-width: 834px) {
  .oshi-point__illust--odekake-bg {
    max-width: 29.599999999999998vw;
    top: 186.66666666666666vw;
    top: initial;
    bottom: 44.53333333333334vw;
    left: calc(50% - 42.66666666666667vw);
  }
}

.oshi-point__illust--odekake-bg img {
  aspect-ratio: 259 / 251;
}

.oshi-point__illust--odekake-balloon {
  max-width: 198px;
  top: 569px;
  left: calc(50% - 683px);
}
@media screen and (max-width: 1439px) {
  .oshi-point__illust--odekake-balloon {
    max-width: min(198px, 13.75vw);
    left: max(0px, calc(50% - 47.43vw));
  }
}
@media screen and (max-width: 1200px) {
  .oshi-point__illust--odekake-balloon {
    top: 550px;
    left: max(0px, calc(50% - 39.43vw));
  }
}
@media screen and (max-width: 950px) {
  .oshi-point__illust--odekake-balloon {
    top: 600px;
    left: max(0px, calc(50% - 48.43vw));
  }
}
@media screen and (max-width: 834px) {
  .oshi-point__illust--odekake-balloon {
    max-width: 21.6vw;
    top: 169.33333333333334vw;
    top: initial;
    bottom: 67.73333333333333vw;
    left: calc(50% - 48vw);
  }
}

.oshi-point__illust--odekake-balloon img {
  aspect-ratio: 198 / 190;
  filter: drop-shadow(7px 7px 10px rgba(35, 24, 21, 0.4));
}
@media screen and (max-width: 1200px) {
  .oshi-point__illust--odekake-balloon img {
    aspect-ratio: 81 / 84;
  }
}

.oshi-point__illust--odekake-img {
  max-width: 123px;
  top: 645px;
  left: calc(50% - 522px);
}
@media screen and (max-width: 1439px) {
  .oshi-point__illust--odekake-img {
    max-width: min(123px, 8.54vw);
    left: max(0px, calc(50% - 36.25vw));
  }
}
@media screen and (max-width: 1200px) {
  .oshi-point__illust--odekake-img {
    top: 750px;
  }
}
@media screen and (max-width: 950px) {
  .oshi-point__illust--odekake-img {
    left: max(0px, calc(50% - 45.25vw));
  }
}
@media screen and (max-width: 834px) {
  .oshi-point__illust--odekake-img {
    max-width: 14.133333333333335vw;
    top: 193.33333333333334vw;
    top: initial;
    bottom: 42.93333333333334vw;
    left: calc(50% - 44vw);
  }
}
.oshi-point__illust--odekake-img img {
  aspect-ratio: 123 / 199;
}

/* 中央下: つづくカルチャー */
.oshi-point__illust--culture-bg {
  max-width: 424px;
  top: 697px;
  left: calc(50% - 307px);
}
@media screen and (max-width: 1439px) {
  .oshi-point__illust--culture-bg {
    max-width: min(424px, 29.44vw);
    left: max(0px, calc(50% - 21.32vw));
  }
}
@media screen and (max-width: 1200px) {
  .oshi-point__illust--culture-bg {
    top: 760px;
  }
}
@media screen and (max-width: 834px) {
  .oshi-point__illust--culture-bg {
    max-width: 46.666666666666664vw;
    top: 213.33333333333334vw;
    top: initial;
    bottom: 14.133333333333335vw;
    left: calc(50% - 32vw);
  }
}

.oshi-point__illust--culture-bg img {
  aspect-ratio: 424 / 291;
}

.oshi-point__illust--culture-balloon {
  max-width: 268px;
  top: 753px;
  left: calc(50% - 2px);
  filter: drop-shadow(7px 7px 10px rgba(35, 24, 21, 0.4));
}
@media screen and (max-width: 1439px) {
  .oshi-point__illust--culture-balloon {
    max-width: min(268px, 18.61vw);
    left: calc(50% - 2px);
  }
}
@media screen and (max-width: 1200px) {
  .oshi-point__illust--culture-balloon {
    top: 800px;
  }
}
@media screen and (max-width: 834px) {
  .oshi-point__illust--culture-balloon {
    max-width: 29.333333333333332vw;
    top: 218.66666666666666vw;
    top: initial;
    bottom: 13.333333333333334vw;
    left: calc(50% + 1.3333333333333335vw);
  }
}

.oshi-point__illust--culture-balloon img {
  aspect-ratio: 268 / 243;
}

.oshi-point__illust--culture-img {
  max-width: 84px;
  top: 714px;
  left: calc(50% - 67px);
}
@media screen and (max-width: 1439px) {
  .oshi-point__illust--culture-img {
    max-width: min(84px, 5.83vw);
    left: calc(50% - 4.65vw);
  }
}
@media screen and (max-width: 1200px) {
  .oshi-point__illust--culture-img {
    top: 770px;
  }
}
@media screen and (max-width: 834px) {
  .oshi-point__illust--culture-img {
    max-width: 9.333333333333334vw;
    top: 214.66666666666666vw;
    top: initial;
    bottom: 17.599999999999998vw;
    left: calc(50% - 5.333333333333334vw);
  }
}

.oshi-point__illust--culture-img img {
  aspect-ratio: 84 / 241;
}

/* 右下: 学びたっぷり */
.oshi-point__illust--manabi-bg {
  max-width: 267px;
  top: 574px;
  left: calc(50% + 377px);
}
@media screen and (max-width: 1439px) {
  .oshi-point__illust--manabi-bg {
    max-width: min(267px, 18.54vw);
    left: min(100%, calc(50% + 26.18vw));
  }
}
@media screen and (max-width: 1200px) {
  .oshi-point__illust--manabi-bg {
    top: 650px;
  }
}
@media screen and (max-width: 834px) {
  .oshi-point__illust--manabi-bg {
    max-width: 30.666666666666664vw;
    top: 177.66666666666666vw;
    top: initial;
    bottom: 47.46666666666667vw;
    left: calc(50% + 17.333333333333336vw);
  }
}

.oshi-point__illust--manabi-bg img {
  aspect-ratio: 267 / 300;
}

.oshi-point__illust--manabi-balloon {
  max-width: 201px;
  top: 630px;
  left: calc(50% + 245px);
  filter: drop-shadow(7px 7px 10px rgba(35, 24, 21, 0.4));
}
@media screen and (max-width: 1439px) {
  .oshi-point__illust--manabi-balloon {
    max-width: min(221px, 15.35vw);
    left: min(100%, calc(50% + 17.01vw));
  }
}
@media screen and (max-width: 1200px) {
  .oshi-point__illust--manabi-balloon {
    top: 680px;
  }
}
@media screen and (max-width: 834px) {
  .oshi-point__illust--manabi-balloon {
    max-width: 21.6vw;
    top: 184vw;
    top: initial;
    bottom: 53.333333333333336vw;
    left: calc(50% + 5.333333333333334vw);
  }
}

.oshi-point__illust--manabi-balloon img {
  aspect-ratio: 221 / 215;
}

.oshi-point__illust--manabi-img {
  max-width: 139px;
  top: 661px;
  left: calc(50% + 390px);
}
@media screen and (max-width: 1439px) {
  .oshi-point__illust--manabi-img {
    /* max-width: min(97px, 6.74vw); */
    max-width: 9.652777777777779vw;
    left: min(100%, calc(50% + 29.86vw));
  }
}
@media screen and (max-width: 1200px) {
  .oshi-point__illust--manabi-img {
    top: 710px;
  }
}
@media screen and (max-width: 834px) {
  .oshi-point__illust--manabi-img {
    max-width: 12.8vw;
    top: 186.66666666666666vw;
    top: initial;
    bottom: 47.199999999999996vw;
    left: calc(50% + 24vw);
  }
}

.oshi-point__illust--manabi-img img {
  aspect-ratio: 139 / 226;
}

/* ローカルボイスセクション */
.localvoice {
  padding-top: 122px;
  padding-bottom: 132px;
  position: relative;
}
@media screen and (max-width: 834px) {
  .localvoice {
    padding-top: 10.4vw;
    padding-bottom: 14.666666666666666vw;
  }
}

/* 背景（黄色グラデーション） */
.localvoice__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, #fff9c4 0%, #ffecb3 100%);
  background: linear-gradient(90deg, #fdfce4 0%, #fcfad5 45%, #ebe9b6 100%);
  opacity: 0.45;
  z-index: 1;
}

.localvoice__container {
  margin-inline: auto;
  padding-inline: 20px;
  position: relative;
  text-align: center;
  z-index: 2;
}

/* セクションタイトル */
.localvoice__title-text {
  margin-inline: auto;
  margin-bottom: 20px;
  width: fit-content;
  display: block;
  width: 100%;
  max-width: 194.44px;
}
@media screen and (max-width: 834px) {
  .localvoice__title-text {
    margin-bottom: 3.733333333333334vw;
    max-width: 38.666666666666664vw;
  }
}

.localvoice__title-text img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 194.44 / 27.74;
}

.localvoice__title-img {
  margin-inline: auto;
  width: fit-content;
  display: block;
  width: 100%;
  max-width: 77.63px;
}
@media screen and (max-width: 834px) {
  .localvoice__title-img {
    max-width: 15.466666666666667vw;
  }
}

.localvoice__title-img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 77.63 / 53.17;
}

/* キャッチコピー */
.localvoice__catchcopy {
  margin-top: 106px;
  margin-inline: auto;
  display: block;
  width: 100%;
  max-width: 472px;
}
@media screen and (max-width: 834px) {
  .localvoice__catchcopy {
    margin-top: 10.133333333333333vw;
    max-width: 74.66666666666667vw;
  }
}

.localvoice__catchcopy img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 370 / 39;
}

/* 説明テキスト */
.localvoice__description {
  margin-top: 37px;
  margin-inline: auto;
  font-size: clamp(0.9rem, 1.5vw, 1rem);
  font-size: 15px;
  font-family: "IBM Plex Sans JP";
  font-weight: 400;
  line-height: 2;
  color: #231815;
  text-align: center;
}
@media screen and (max-width: 834px) {
  .localvoice__description {
    margin-top: 9.866666666666667vw;
    line-height: 1.8;
  }
}

.localvoice__description .inline-block {
  display: inline-block;
  font-size: 15px;
  font-family: "IBM Plex Sans JP", sans-serif;
}

.localvoice__button {
  margin-top: 102px;
  margin-inline: auto;
  width: fit-content;
}
@media screen and (max-width: 834px) {
  .localvoice__button {
    margin-top: 11.733333333333333vw;
  }
}

/* イラスト群 */
.localvoice__illust-item {
  display: block;
  width: 100%;
  position: absolute;
}

.localvoice__illust-item img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.localvoice__illust-item--1 {
  max-width: 112px;
  top: 14px;
  left: calc(50% - 459px);
  z-index: 1;
}

.localvoice__illust-item--1 img {
  aspect-ratio: 92 / 193;
}

.localvoice__illust-item--2 {
  max-width: 94px;
  top: -74px;
  left: calc(50% - 558px);
}

.localvoice__illust-item--2 img {
  aspect-ratio: 94 / 92;
}

.localvoice__illust-item--3 {
  max-width: 102px;
  top: 79px;
  left: calc(50% - 573px);
}

.localvoice__illust-item--3 img {
  aspect-ratio: 102 / 122;
}

.localvoice__illust-item--4 {
  max-width: 53px;
  top: 262px;
  left: calc(50% - 402px);
}

.localvoice__illust-item--4 img {
  aspect-ratio: 53 / 45;
}

.localvoice__illust-item--5 {
  max-width: 179px;
  top: 192px;
  left: calc(50% + 352px);
  z-index: 2;
}

.localvoice__illust-item--5 img {
  aspect-ratio: 179 / 252;
}

.localvoice__illust-item--6 {
  max-width: 89px;
  top: 78px;
  left: calc(50% + 347px);
}

.localvoice__illust-item--6 img {
  aspect-ratio: 89 / 90;
}

.localvoice__illust-item--7 {
  max-width: 51px;
  top: 136px;
  left: calc(50% + 514px);
}

.localvoice__illust-item--7 img {
  aspect-ratio: 51 / 58;
}

.localvoice__illust-item--8 {
  max-width: 209px;
  top: 318px;
  left: calc(50% + 497px);
}

.localvoice__illust-item--8 img {
  aspect-ratio: 149 / 89;
}

@media screen and (max-width: 1350px) {
  .localvoice__illust-item--1 {
    left: max(0px, calc(50% - 31.88vw));
  }

  .localvoice__illust-item--2 {
    left: max(0px, calc(50% - 38.75vw));
  }

  .localvoice__illust-item--3 {
    left: max(0px, calc(50% - 39.79vw));
  }

  .localvoice__illust-item--4 {
    left: max(0px, calc(50% - 30vw));
  }

  .localvoice__illust-item--5 {
    left: min(100%, calc(50% + 25.63vw));
  }

  .localvoice__illust-item--6 {
    left: min(100%, calc(50% + 24.1vw));
  }

  .localvoice__illust-item--7 {
    left: min(100%, calc(50% + 36.81vw));
  }

  .localvoice__illust-item--8 {
    left: min(100%, calc(50% + 35.83vw));
  }
}

@media screen and (max-width: 1170px) {
  .localvoice__illust-item--1 {
    max-width: 7.6068376068376065vw;
  }

  .localvoice__illust-item--2 {
    max-width: 8.034188034188034vw;
  }

  .localvoice__illust-item--3 {
    max-width: 8.717948717948717vw;
  }

  .localvoice__illust-item--4 {
    max-width: 4.52991452991453vw;
  }

  .localvoice__illust-item--5 {
    max-width: 15.2991452991453vw;
  }

  .localvoice__illust-item--6 {
    max-width: 7.6068376068376065vw;
  }

  .localvoice__illust-item--7 {
    max-width: 4.358974358974359vw;
  }

  .localvoice__illust-item--8 {
    max-width: 12.735042735042734vw;
  }
}

@media screen and (max-width: 930px) {
  .localvoice__illust-item--1 {
    top: -63px;
    top: -6.774193548387098vw;
  }

  .localvoice__illust-item--2 {
    top: -123px;
    top: -13.225806451612904vw;
  }

  .localvoice__illust-item--3 {
    top: -25px;
    top: -2.6881720430107525vw;
  }

  .localvoice__illust-item--4 {
    top: 95px;
    top: 10.21505376344086vw;
  }

  .localvoice__illust-item--5 {
    top: -20px;
    top: -2.1505376344086025vw;
  }

  .localvoice__illust-item--6 {
    top: -100px;
    top: -10.75268817204301vw;
  }

  .localvoice__illust-item--7 {
    top: -70px;
    top: -7.526881720430108vw;
  }

  .localvoice__illust-item--8 {
    top: 165px;
    top: 17.741935483870968vw;
  }
}

@media screen and (max-width: 834px) {
  .localvoice__illust-item--1 {
    max-width: 12.8vw;
    max-width: 10.4vw;
    top: -13.333333333333334vw;
    left: calc(50% - 36vw);
  }

  .localvoice__illust-item--2 {
    max-width: 10.666666666666668vw;
    top: -19.733333333333334vw;
    left: calc(50% - 48.53333333333333vw);
  }

  .localvoice__illust-item--3 {
    max-width: 11.466666666666667vw;
    top: -2.1333333333333333vw;
    left: calc(50% - 48vw);
  }

  .localvoice__illust-item--4 {
    max-width: 6.133333333333333vw;
    top: 16vw;
    left: calc(50% - 33.33333333333333vw);
  }

  .localvoice__illust-item--5 {
    max-width: 15.466666666666667vw;
    top: 1.3333333333333335vw;
    left: calc(50% + 24vw);
  }

  .localvoice__illust-item--6 {
    max-width: 7.733333333333333vw;
    top: -8vw;
    left: calc(50% + 22.666666666666664vw);
  }

  .localvoice__illust-item--7 {
    max-width: 4.533333333333333vw;
    top: -3.2vw;
    left: calc(50% + 38.13333333333333vw);
  }

  .localvoice__illust-item--8 {
    max-width: 20.533333333333335vw;
    top: 12vw;
    left: calc(50% + 34.66666666666667vw);
  }
}

/* ボタン */
.localvoice__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  max-width: 450px;
  width: 100%;
  background-color: #c8505a;
  color: #ffffff;
  border-radius: 6px;
  padding: 16px 40px;
  text-align: center;
  font-family: zen-kaku-gothic-antique, sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  text-decoration: none;
  transition:
    background-color 0.3s ease,
    transform 0.3s ease;
}

.localvoice__btn:hover {
  background-color: #a73d46;
  transform: translateY(-2px);
}

/* ヌゥの部屋セクション */
.nu-room {
  padding-top: 126px;
  padding-bottom: 100px;
}
@media screen and (max-width: 834px) {
  .nu-room {
    padding-top: 12.266666666666666vw;
    padding-bottom: initial;
  }
}

.nu-room__container {
  margin-inline: auto;
  padding-inline: 20px;
  max-width: 1100px;
  text-align: center;
}

/* セクションタイトル */
.nu-room__title-text {
  margin-inline: auto;
  margin-bottom: initial;
  width: fit-content;
  display: block;
  width: 100%;
  max-width: 144px;
}
@media screen and (max-width: 834px) {
  .nu-room__title-text {
    max-width: 29.599999999999998vw;
  }
}

.nu-room__title-text img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 144 / 35;
}

.nu-room__title-img {
  margin-inline: auto;
  width: fit-content;
  display: block;
  width: 100%;
  max-width: 69px;
}
@media screen and (max-width: 834px) {
  .nu-room__title-img {
    max-width: 14.133333333333335vw;
  }
}

.nu-room__title-img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 69 / 65;
}

/* メインイラスト */
.nu-room__image {
  margin-top: 24px;
  margin-inline: auto;
  display: block;
  width: fit-content;
  position: relative;
}
@media screen and (max-width: 834px) {
  .nu-room__image {
    margin-top: 14.133333333333335vw;
  }
}

.nu-room__image-bg {
  width: 100%;
  max-width: 829px;
  transition: opacity 0.3s ease-out;
}

.nu-room__image-bg img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 829 / 492;
}

.nu-room__image-balloon {
  display: block;
  width: 100%;
  max-width: 139px;
  position: absolute;
  /* top: 32px; */
  top: 37px;
  /* left: 380px; */
  left: 247px;
}

.nu-room__image-balloon img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 139 / 135;
  filter: drop-shadow(4.79px 4.79px 6.84px rgba(35, 24, 21, 0.40));
  transition:
    opacity 0.3s ease,
    visibility 0.3s ease;
}

.nu-room__image-balloon .nu-room__after {
  aspect-ratio: 143 / 138;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
}

/* ホバー非対応デバイス（スマホ実機等）: 最初からafter画像を表示 */
@media (any-hover: none) {
  .nu-room__image-balloon .nu-room__before {
    opacity: 0;
    visibility: hidden;
  }

  .nu-room__image-balloon .nu-room__after {
    opacity: 1;
    visibility: visible;
  }
}

/* ホバー対応デバイス（PC等）: ホバー時に画像を切り替え */
@media (any-hover: hover) {
  .nu-room__image:hover .nu-room__image-balloon .nu-room__before {
    opacity: 0;
    visibility: hidden;
  }

  .nu-room__image:hover .nu-room__image-balloon .nu-room__after {
    opacity: 1;
    visibility: visible;
  }
}

.nu-room__image-bg-door {
  display: block;
  width: 100%;
  max-width: 124px;
  position: absolute;
  top: 33%;
  left: 48%;
  translate: -50% 0;
}

.nu-room__image-bg-door img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 124 / 259;
}

.nu-room__image-illust {
  margin-inline: auto;
  width: 100%;
  max-width: 123px;
  position: absolute;
}

/* 初期位置 */
.nu-room__image-illust {
  top: 200px;
  left: calc(50% - 79px);
}

/* 扉から顔を出す位置 */
.nu-room__image-illust {
  /* top: 220px;
  left: calc(50% - 11px); */
}

.nu-room__image-illust img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 141 / 203;
}

/* 説明テキスト */
.nu-room__description {
  margin-top: 25px;
  margin-inline: auto;
  font-size: clamp(0.9rem, 1.5vw, 1rem);
  font-size: 15px;
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
  line-height: 2;
  color: #231815;
  text-align: center;
}

.nu-room__description .inline-block {
  display: inline-block;
  font-size: 15px;
  font-family: "IBM Plex Sans JP", sans-serif;
}

/* ボタン */
.nu-room__button {
  margin-inline: auto;
  width: fit-content;
}
@media screen and (max-width: 834px) {
  /* 834px以下の幅に適応される */
  .nu-room__image-illust {
    max-width: 13.908872901678656vw;
    top: 22.062350119904075vw;
    left: calc(50% + -8.043165vw);
  }

  .nu-room__image-balloon {
    max-width: 18.10551558752998vw;
    min-width: 50px;
    top: 3.8369304556354913vw;
    left: calc(50% - 20.38369304556355vw);
  }

  .nu-room__image-bg-door {
    max-width: 14.868105515587529vw;
    top: 17.58503vw;
    left: calc(50% + -1.588729vw);
  }

  .nu-room__description .inline-block {
    display: inline-block;
  }
}

/* ------------------------------
さいたま市に行ってみる？・公式インスタグラムセクション
------------------------------ */
.visit-saitama {
  padding-top: 55px;
  position: relative;
}
@media screen and (max-width: 834px) {
  .visit-saitama {
    padding-top: 8.266666666666666vw;
  }
}

.visit-saitama__container {
  margin-inline: auto;
  padding-inline: 20px;
}
@media screen and (max-width: 834px) {
  .visit-saitama__container {
    padding-inline: 16px;
  }
}

/* セクションタイトル */
.visit-saitama__heading-text {
  margin-inline: auto;
  margin-bottom: initial;
  width: fit-content;
  display: block;
  width: 100%;
  max-width: 354px;
}
@media screen and (max-width: 834px) {
  .visit-saitama__heading-text {
    max-width: 72.8vw;
  }
}

.visit-saitama__heading-text img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 354 / 35;
}

.visit-saitama__heading-img {
  margin-top: 11px;
  margin-inline: auto;
  width: fit-content;
  display: block;
  width: 100%;
  max-width: 45px;
}
@media screen and (max-width: 834px) {
  .visit-saitama__heading-img {
    margin-top: 2.933333333333333vw;
    max-width: 10.933333333333334vw;
  }
}

.visit-saitama__heading-img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 45 / 59;
}

.visit-saitama__title-text {
  margin-top: 63px;
  margin-bottom: 28px;
  margin-inline: auto;
  width: fit-content;
  display: block;
  width: 100%;
  max-width: 191px;
}
@media screen and (max-width: 834px) {
  .visit-saitama__title-text {
    margin-top: 20.266666666666666vw;
    margin-bottom: 3.2vw;
    max-width: 53.333333333333336vw;
  }
}

.visit-saitama__title-text img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 191 / 24;
}

.visit-saitama__title-img {
  margin-inline: auto;
  width: fit-content;
  display: block;
  width: 100%;
  max-width: 40px;
}
@media screen and (max-width: 834px) {
  .visit-saitama__title-img {
    max-width: 9.6vw;
  }
}

.visit-saitama__title-img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 40 / 43;
}

/* イラスト */
.visit-saitama__illust {
  display: block;
  width: 100%;
  position: absolute;
}

.visit-saitama__illust img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.visit-saitama__illust--left {
  max-width: 90px;
  top: 368px;
  left: calc(50% - 258px);
}
@media screen and (max-width: 834px) {
  .visit-saitama__illust--left {
    max-width: 15.733333333333333vw;
    top: 92vw;
    /* top: initial; */
    /* bottom: 30.666666666666664vw; */
    left: calc(50% - 42.66666666666667vw);
  }
}

.visit-saitama__illust--left img {
  aspect-ratio: 90 / 77;
}

.visit-saitama__illust--right {
  max-width: 51px;
  top: 311px;
  left: calc(50% + 164px);
}
@media screen and (max-width: 834px) {
  .visit-saitama__illust--right {
    max-width: 10.4vw;
    top: 80vw;
    left: calc(50% + 29.333333333333332vw);
  }
}

.visit-saitama__illust--right img {
  aspect-ratio: 51 / 58;
}

.visit-saitama__text {
  margin-top: 25px;
  margin-inline: auto;
  font-size: clamp(0.9rem, 1.5vw, 1rem);
  font-size: 15px;
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
  line-height: 2;
  color: #231815;
  text-align: center;
}
@media screen and (max-width: 834px) {
  .visit-saitama__text {
    margin-top: 6.666666666666667vw;
  }
}

.visit-saitama__gallery {
  margin-top: 70px;
}
@media screen and (max-width: 834px) {
  .visit-saitama__gallery {
    margin-top: 9.333333333333334vw;
  }
}

/* ボタン */
.visit-saitama__button {
  margin-top: 85px;
  margin-inline: auto;
  width: fit-content;
}
@media screen and (max-width: 834px) {
  .visit-saitama__button {
    margin-top: 10.666666666666668vw;
  }
}

/* ========================================
   さいたま市公式観光サイト 
======================================== */
.visit-saitama__official-site {
  padding-top: 120px;
  padding-bottom: 167px;
}
@media screen and (max-width: 640px) {
  .visit-saitama__official-site {
    padding-top: 14.399999999999999vw;
    padding-bottom: initial;
  }
}

.visit-saitama__official-site-container {
  margin-inline: auto;
  padding-inline: 20px;
}
@media screen and (max-width: 834px) {
  .visit-saitama__official-site-container {
    padding-inline: 16px;
  }
}

.visit-saitama__official-site-read {
  margin-inline: auto;
  display: block;
  width: 100%;
  max-width: 222px;
}
@media screen and (max-width: 834px) {
  .visit-saitama__official-site-read {
    max-width: 47.46666666666667vw;
  }
}

.visit-saitama__official-site-read img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 222 / 31;
}

.visit-saitama__official-site-img {
  margin-top: 17px;
  margin-inline: auto;
  display: block;
  width: 100%;
  max-width: 676px;
}
@media screen and (max-width: 834px) {
  .visit-saitama__official-site-img {
    margin-top: 1.6vw;
    max-width: 86.13333333333333vw;
  }
}

.visit-saitama__official-site-img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 676 / 354;
  vertical-align: bottom;
}

/* ========================================
さいたま市には10区もあるじゃん セクション
======================================== */
.saitama_city {
  position: relative;
}
@media screen and (max-width: 834px) {
  .saitama_city {
    padding-top: 12vw;
  }
}

.saitama_city__title-text {
  margin-bottom: 40px;
  margin-inline: auto;
  width: fit-content;
  display: block;
  width: 100%;
  max-width: 254px;
}
@media screen and (max-width: 834px) {
  .saitama_city__title-text {
    margin-bottom: 4vw;
    max-width: 50.93333333333333vw;
  }
}

.saitama_city__title-text img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 254 / 81;
}

.saitama_city__title-img {
  margin-inline: auto;
  width: fit-content;
  display: block;
  width: 100%;
  max-width: 65px;
}
@media screen and (max-width: 834px) {
  .saitama_city__title-img {
    max-width: 13.333333333333334vw;
  }
}

.saitama_city__title-img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 65 / 44;
}

.saitama_city__description {
  margin-top: 51px;
  margin-bottom: 64px;
  margin-inline: auto;
  font-size: clamp(0.9rem, 1.5vw, 1rem);
  font-size: 15px;
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
  line-height: 2;
  color: #231815;
  text-align: center;
}
@media screen and (max-width: 834px) {
  .saitama_city__description {
    margin-top: 11.733333333333333vw;
    margin-bottom: 17.066666666666666vw;
    line-height: 1.8;
  }
}

.saitama_city__description .inline-block {
  display: inline-block;
  font-size: 15px;
  font-family: "IBM Plex Sans JP", sans-serif;
}

.saitama_city__illust-item {
  display: block;
  width: 100%;
  position: absolute;
}

.saitama_city__illust-item img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.saitama_city__illust-item--1 {
  max-width: 85px;
  top: -92px;
  left: calc(50% - 414px);
  z-index: 10;
}
@media screen and (max-width: 834px) {
  .saitama_city__illust-item--1 {
  }
}

.saitama_city__illust-item--1 img {
  aspect-ratio: 85 / 222;
}

.saitama_city__illust-item--2 {
  max-width: 60px;
  top: 76px;
  left: calc(50% + 318px);
}
@media screen and (max-width: 834px) {
  .saitama_city__illust-item--2 {
  }
}

.saitama_city__illust-item--2 img {
  aspect-ratio: 60 / 105;
}

.saitama_city__illust-item--3 {
  max-width: 120px;
  top: -155px;
  left: calc(50% - 573px);
  z-index: 1;
}
@media screen and (max-width: 834px) {
  .saitama_city__illust-item--3 {
  }
}

.saitama_city__illust-item--3 img {
  aspect-ratio: 120 / 121;
}

.saitama_city__illust-item--4 {
  max-width: 119px;
  top: 148px;
  left: calc(50% + 445px);
}
@media screen and (max-width: 834px) {
  .saitama_city__illust-item--4 {
  }
}

.saitama_city__illust-item--4 img {
  aspect-ratio: 119 / 117;
}

@media screen and (max-width: 1180px) {
  .saitama_city__illust-item--1 {
    top: -6.388888888888888vw;
    left: calc(50% - 28.749999999999996vw);
  }

  .saitama_city__illust-item--2 {
    top: 5.902777777777778vw;
    left: calc(50% + 22.083333333333332vw);
  }

  .saitama_city__illust-item--3 {
    top: -10.76388888888889vw;
    left: calc(50% - 39.791666666666664vw);
  }

  .saitama_city__illust-item--4 {
    top: 10.277777777777777vw;
    left: calc(50% + 30.90277777777778vw);
  }
}

@media screen and (max-width: 900px) {
  .saitama_city__illust-item--1 {
    max-width: 9.444444444444445vw;
    top: -6.388888888888888vw;
    left: calc(50% - 28.749999999999996vw);
  }

  .saitama_city__illust-item--2 {
    max-width: 6.666666666666667vw;
    top: 5.902777777777778vw;
    left: calc(50% + 22.083333333333332vw);
  }

  .saitama_city__illust-item--3 {
    max-width: 13.333333333333334vw;
    top: -10.76388888888889vw;
    left: calc(50% - 39.791666666666664vw);
  }

  .saitama_city__illust-item--4 {
    max-width: 13.222222222222221vw;
    top: 10.277777777777777vw;
    left: calc(50% + 30.90277777777778vw);
  }
}

@media screen and (max-width: 834px) {
  .saitama_city__illust-item--1 {
    max-width: 9.866666666666667vw;
    top: -6.388888888888888vw;
    top: 1.611111vw;
    left: calc(50% - 40.75vw);
    z-index: 10;
  }

  .saitama_city__illust-item--2 {
    max-width: 7.733333333333333vw;
    top: 3.902778vw;
    left: calc(50% + 26.083333vw);
  }

  .saitama_city__illust-item--3 {
    max-width: 13.866666666666665vw;
    top: -12.763889vw;
    left: calc(50% - 45.791667vw);
    z-index: -1;
  }

  .saitama_city__illust-item--4 {
    max-width: 13.600000000000001vw;
    top: 23.277778vw;
    left: calc(50% + 30.90277777777778vw);
  }
}

/* ------------------------------
共通ボタン
------------------------------ */
.common__link {
  padding: 20.25px 10px;
  padding: 14px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 450px;
  background-color: #cc7182;
  border-radius: 6px;
  box-sizing: border-box;
  transform: scale(1) translateZ(0);
  backface-visibility: hidden;
  will-change: transform;
  transition: transform 0.3s ease-out;
}
@media screen and (max-width: 640px) {
  .common__link {
    width: 360px;
  }
  .common__link--localvoice {
    width: 390px;
  }
}
@media screen and (max-width: 440px) {
  .common__link {
    width: 280px;
  }
}

@media screen and (max-width: 360px) {
  .common__link--small {
    width: 240px;
  }
}

.common__link--green {
  background-color: #298b82;
}

.common__link-text {
  display: flex;
  align-items: center;
  gap: 15px;
  font-size: 23px;
  font-family: "IBM Plex Sans JP";
  font-weight: 600;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 440px) {
  .common__link-text {
    gap: 10px;
    font-size: 16px;
  }
}

.common__link-text:after {
  display: block;
  content: "";
  width: 25px;
  height: 47px;
  background: url(/share/imgs/ij_index_finger.svg) no-repeat center / cover;
  /* position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: -37px; */
  /* transition: margin-top 0.3s ease-out; */
  transition: translate 0.3s ease-out;
}
@media screen and (max-width: 440px) {
  .common__link-text:after {
    width: 14px;
    height: 26px;
    /* right: -25px; */
  }
}

@media (any-hover: hover) {
  .common__link:hover {
    transform: scale(1.05) translateZ(0);
    opacity: 1;
  }
  .common__link:hover .common__link-text:after {
    translate: 0 -5px;
  }
}