* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* ヘッダー全体 */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 164px;
  height: 100vh;
  background-color: var(--Color-BG);
  padding: 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* 縦方向に均等に配置 */
  align-items: center;
  z-index: 1;
}

/* サイトロゴ */
.site-header .logo img {
  max-width: 100%;
  height: auto;
}

/* 天気情報 */
.weather-info {
  color: var(--Color-Primary); /* テキストのカラーを--Color-Primaryに変更 */
  width: 100%;
}

.weather-info .detail {
}

.weather-info .column {
  display: flex;
  align-items: center;
  width: fit-content;
  height: 40px;
  gap: 8px;
  margin: 0 auto;
}

.weather-info .icon {
  height: 40px;
}

.weather-info .icon img {
  width: 40px;
  height: 40px;
}

.weather-info .num {
  font-weight: var(--FontWeight-EN-Medium);
  font-size: 24px;
}

.weather-info .num span {
  font-weight: var(--FontWeight-EN-Medium);
  font-size: 16px;
}

.weather-info p {
  font-weight: var(--FontWeight-EN-Medium);
  font-size: 16px;
  line-height: 1.5;
  text-align: center; /* pタグを中央寄せ */
  margin-top: 4px; /* カラムとの間に余白 */
}

/* ハンバーガーメニュー */
.site-header .menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--Color-Primary); /* テキストのカラーを--Color-Primaryに変更 */
  width: 100%;
}

.site-header .hamburger-menu {
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* 各spanを均等に配置 */
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  width: 100%;
}

.site-header .hamburger-menu span {
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--Color-Primary); /* 色を--Color-Primaryに変更 */
  margin: 4px 0; /* 各spanの間に8pxの間隔を設定 */
}

.site-header .menu-text {
  font-weight: var(--FontWeight-EN-Medium);
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
  margin-top: 8px;
}

@media (min-width: 1025px) {
  /* ヘッダー全体 */
  .site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 11.156vw;
    height: 100vh;
    background-color: var(--Color-BG);
    padding: 2.177vw;
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* 縦方向に均等に配置 */
    align-items: center;
    z-index: 1;
  }

  .weather-info .column {
    display: flex;
    align-items: center;
    width: fit-content;
    height: 2.721vw;
    gap: 0.544vw;
    margin: 0 auto;
  }

  .weather-info .icon {
    height: 2.721vw;
  }

  .weather-info .icon img {
    width: 2.721vw;
    height: 2.721vw;
  }

  .weather-info .num {
    font-weight: var(--FontWeight-EN-Medium);
    font-size: 1.633vw;
  }

  .weather-info .num span {
    font-weight: var(--FontWeight-EN-Medium);
    font-size: 1.088vw;
  }

  .weather-info p {
    font-weight: var(--FontWeight-EN-Medium);
    font-size: 1.088vw;
    line-height: 1.5;
    text-align: center; /* pタグを中央寄せ */
    margin-top: 0.272vw; /* カラムとの間に余白 */
  }

  /* ハンバーガーメニュー */
  .site-header .menu {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--Color-Primary); /* テキストのカラーを--Color-Primaryに変更 */
    width: 100%;
  }

  .site-header .hamburger-menu {
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* 各spanを均等に配置 */
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    width: 100%;
  }

  .site-header .hamburger-menu span {
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--Color-Primary); /* 色を--Color-Primaryに変更 */
    margin: 0.272vw 0; /* 各spanの間に8pxの間隔を設定 */
  }

  .site-header .menu-text {
    font-weight: var(--FontWeight-EN-Medium);
    font-size: 0.952vw;
    line-height: 1.5;
    text-align: center;
    margin-top: 0.544vw;
  }
}

body {
  font-family: Arial, sans-serif;
  margin: 0;
  padding: 0;
  background-color: #f5f5f5;
}

.site-header {
  color: #fff;
  padding: 10px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-right: solid 1px var(--Color-Border);
}

.logo img {
  height: 40px;
}

.menu {
  display: flex;
  align-items: center;
}

.hamburger-menu {
  display: block;
  cursor: pointer;
  background: none;
  border: none;
  padding: 10px;
  margin: 0;
}

.hamburger-menu span {
  display: block;
  width: 25px;
  height: 3px;
  background-color: #fff;
  margin: 4px 0;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.hamburger-menu.open span:nth-child(1) {
  transform: translateY(11px) rotate(10deg);
}

.hamburger-menu.open span:nth-child(2) {
  opacity: 0;
}

.hamburger-menu.open span:nth-child(3) {
  transform: translateY(-7px) rotate(-10deg);
}

.hamburger-menu-items {
  position: fixed;
  width: calc(100% - 164px);
  height: 100vh;
  padding: 58px 80px;
  box-sizing: border-box;
  top: 0;
  left: 164px;
  z-index: 100;
  background-color: var(--Color-BG);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0s 0.5s;
}

.hamburger-menu-items.open {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s ease;
}

.hamburger-menu-items .menu-item {
  display: flex;
  justify-content: space-between;
  gap: 120px;
  height: 100%;
}

.hamburger-menu-items .page-menu {
  width: 310px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.hamburger-menu-items .page-menu ul {
  list-style-type: none;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.hamburger-menu-items .page-menu ul li {
  border-bottom: 1px solid #ced7e2;
  flex-grow: 1;
  display: flex;
  align-items: center;
}

.hamburger-menu-items ul.sub-menu li:first-child {
  border-top: none;
}

.hamburger-menu-items .page-menu a {
  font-weight: 300;
  font-size: 22px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-Black);
  display: flex;
  align-items: center;
  text-decoration: none;
  flex: none;
  align-self: stretch;
  width: 100%;
}

.hamburger-menu-items .sub-menu a {
  padding-left: 40px;
  font-weight: 300;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.hamburger-menu-items .num {
  margin-right: 16px;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--Color-Primary);
}

.hamburger-menu-items .search-form {
  padding: 0 !important;
  background: none !important;
  border-radius: 0 !important;
  margin-bottom: 0 !important;
}

.hamburger-menu-items .search-form-wrapper {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0;
  gap: 16px;
  width: 100%;
  margin-bottom: 16px;
}

.hamburger-menu-items #search-input {
  flex: 1;
  padding: 16px 48px 16px 16px;
  background: var(--Color_GrayScale-White);
  border: 1px solid var(--Color-Border);
  border-radius: 4px;
  font-family: var(--Font-JP);
  font-size: 16px;
  font-weight: var(--FontWeight-JP-Regular);
  color: var(--Color_GrayScale-Black);
  height: 56px;
  outline: none;
}

.hamburger-menu-items #search-input::placeholder {
  color: var(--Color_GrayScale-Gray70);
}

.hamburger-menu-items #clear-button {
  position: absolute;
  left: 840px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  font-size: 20px;
  color: var(--Color_GrayScale-Gray30);
  display: none;
}

.hamburger-menu-items #search-button {
  padding: 16px 32px;
  background: var(--Color-Primary);
  border-radius: 4px;
  color: var(--Color_GrayScale-White);
  font-size: 16px;
  border: none;
  cursor: pointer;
  transition: background 0.3s ease;
}

.hamburger-menu-items #search-button:hover {
  background: #1a477a;
}

.hamburger-menu-items .popular-search-terms {
  margin-top: 32px;
}

.hamburger-menu-items .popular-search-terms p {
  font-weight: var(--FontWeight-JP-Light);
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-Black);
  margin-bottom: 8px;
}

.hamburger-menu-items .popular-search-terms ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.hamburger-menu-items .popular-search-terms ul li {
  font-size: 14px;
}

.hamburger-menu-items .popular-search-terms ul li a {
  color: var(--Color_GrayScale-Black);
  text-decoration: underline;
  font-size: 14px;
}

.hamburger-menu-items .copy {
  margin-top: 20px;
  color: #fff;
}

.hamburger-menu-items .subtitle {
  font-size: 18px;
  margin: 5px 0;
}

.hamburger-menu-items .title {
  font-size: 24px;
  font-weight: bold;
}

.hamburger-menu-items .text-primary {
  margin-bottom: 32px;
}

.hamburger-menu-items .text-primary a,
.hamburger-menu-items .text-primary p {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: var(--Color-Primary);
  padding: 0;
}

@media (min-width: 1025px) {
  .site-header {
    color: #fff;
    padding: 0.68vw 1.361vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-right: solid 1px var(--Color-Border);
  }

  .logo img {
    height: 2.721vw;
  }

  .menu {
    display: flex;
    align-items: center;
  }

  .hamburger-menu {
    display: block;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0.68vw;
    margin: 0;
  }

  .hamburger-menu span {
    display: block;
    width: 1.701vw;
    height: 0.204vw;
    background-color: #fff;
    margin: 0.272vw 0;
    transition: transform 0.3s ease, opacity 0.3s ease;
  }

  .hamburger-menu.open span:nth-child(1) {
    transform: translateY(0.748vw) rotate(10deg);
  }

  .hamburger-menu.open span:nth-child(2) {
    opacity: 0;
  }

  .hamburger-menu.open span:nth-child(3) {
    transform: translateY(-0.476vw) rotate(-10deg);
  }

  .hamburger-menu-items {
    position: fixed;
    width: calc(100% - 11.156vw);
    height: 100vh;
    padding: 6.259vw 4.898vw;
    box-sizing: border-box;
    top: 0;
    left: 11.156vw;
    z-index: 100;
    background-color: var(--Color-BG);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease, visibility 0s 0.5s;
  }

  .hamburger-menu-items.open {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.5s ease;
  }

  .hamburger-menu-items .menu-item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 4.354vw;
    height: 100%;
  }

  .hamburger-menu-items .page-menu {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .hamburger-menu-items .page-menu .menu-flex {
    display: flex;
    justify-content: space-between;
    gap: 2.177vw;
  }

  .hamburger-menu-items .page-menu ul {
    list-style-type: none;
    width: 100%;
    height: auto;
    display: inline;
  }

  .hamburger-menu-items .page-menu ul li {
    border-bottom: 0.068vw solid #ced7e2;
    flex-grow: 1;
    display: flex;
    align-items: center;
  }

  .hamburger-menu-items .page-menu ul li:first-child {
    border-top: 0.068vw solid #ced7e2;
  }

  .hamburger-menu-items ul.sub-menu li:first-child {
    border-top: none;
  }

  .hamburger-menu-items .page-menu a {
    font-weight: 300;
    font-size: 1.497vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    display: flex;
    align-items: center;
    text-decoration: none;
    flex: none;
    align-self: stretch;
    width: 100%;
    padding: 1.088vw 0;
    transition: background-color 0.5s ease;
  }

  .hamburger-menu-items .page-menu a:hover {
    background-color: #eceef1;
  }

  .hamburger-menu-items .sub-menu a {
    padding: 0.816vw 0;
    padding-left: 2.721vw;
    font-weight: 300;
    font-size: 1.088vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }

  .hamburger-menu-items .num {
    margin-right: 1.088vw;
    font-weight: 500;
    font-size: 0.952vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color-Primary);
  }

  .hamburger-menu-items .search-form-copy {
    flex: 1;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 5.442vw;
    align-items: end;
  }

  .hamburger-menu-items .search-form {
    padding: 0 !important;
    background: none !important;
    border-radius: 0 !important;
    margin-bottom: 0 !important;
  }

  .hamburger-menu-items .search-form-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0;
    gap: 1.088vw;
    width: 100%;
    margin-bottom: 1.088vw;
  }

  .hamburger-menu-items #search-input {
    flex: 1;
    padding: 1.088vw 3.265vw 1.088vw 1.088vw;
    background: var(--Color_GrayScale-White);
    border: 1px solid var(--Color-Border);
    border-radius: 0.272vw;
    font-family: var(--Font-JP);
    font-size: 1.088vw;
    font-weight: var(--FontWeight-JP-Regular);
    color: var(--Color_GrayScale-Black);
    height: 3.81vw;
    outline: none;
  }

  .hamburger-menu-items #search-input::placeholder {
    color: var(--Color_GrayScale-Gray70);
  }

  .hamburger-menu-items #clear-button {
    position: absolute;
    left: 57.143vw;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.361vw;
    color: var(--Color_GrayScale-Gray30);
    display: none;
  }

  .hamburger-menu-items #search-button {
    padding: 1.088vw 2.177vw;
    background: var(--Color-Primary);
    border-radius: 0.272vw;
    color: var(--Color_GrayScale-White);
    font-size: 1.088vw;
    border: none;
    cursor: pointer;
    transition: background 0.5s ease;
  }

  .hamburger-menu-items #search-button:hover {
    background: var(--Color-Hover);
  }

  .hamburger-menu-items .popular-search-terms {
    margin-top: 2.177vw;
  }

  .hamburger-menu-items .popular-search-terms p {
    font-weight: var(--FontWeight-JP-Light);
    font-size: 0.952vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 0.544vw;
  }

  .hamburger-menu-items .popular-search-terms ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 1.088vw;
  }

  .hamburger-menu-items .popular-search-terms ul li {
    font-size: 0.952vw;
  }

  .hamburger-menu-items .popular-search-terms ul li a {
    color: var(--Color_GrayScale-Black);
    text-decoration: underline;
    font-size: 0.952vw;
    transition: color 0.5s ease;
  }

  .hamburger-menu-items .popular-search-terms ul li a:hover {
    color: var(--Color-Primary);
  }

  .hamburger-menu-items .copy {
    margin-top: 1.361vw;
    color: #fff;
  }

  .hamburger-menu-items .subtitle {
    font-size: 1.224vw;
    margin: 0.34vw 0;
  }

  .hamburger-menu-items .title {
    font-size: 1.633vw;
    font-weight: bold;
  }

  .hamburger-menu-items .text-primary {
    margin-bottom: 2.177vw;
    width: fit-content;
  }

  .hamburger-menu-items .text-primary a,
  .hamburger-menu-items .text-primary p {
    font-weight: 400;
    font-size: 0.952vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--Color-Primary);
    padding: 0;
  }

  .hamburger-menu-items .copy .subtitle {
    font-weight: 400;
    font-size: 1.088vw;
    line-height: 1.5;
    letter-spacing: 0.3em;
    font-feature-settings: "halt" on;
    color: var(--Color-Primary);
  }

  .hamburger-menu-items .copy .title {
    font-family: var(--Font-EN);
    font-weight: 200;
    font-size: 7.823vw;
    line-height: 1;
    letter-spacing: 0.05em;
    color: var(--Color-Primary);
  }
}

@media (max-width: 1024px) {
  /* ヘッダー全体 */
  .site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 21.883vw;
    background-color: var(--Color_GrayScale-White);
    padding: 5.852vw 6.107vw;
    display: flex;
    flex-direction: unset;
    justify-content: space-between; /* 縦方向に均等に配置 */
    align-items: center;
    z-index: 100;
    border-bottom: solid 1px var(--Color-Border);
    border-right: none;
  }

  /* サイトロゴ */
  .site-header .logo {
    width: 38.168vw;
  }

  .site-header .logo img {
    max-width: 100%;
    height: auto;
  }

  /* ハンバーガーメニュー */
  .site-header .menu {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--Color-Primary); /* テキストのカラーを--Color-Primaryに変更 */
    width: 15.267vw;
  }

  .site-header .hamburger-menu {
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* 各spanを均等に配置 */
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    width: 15.267vw;
  }

  .site-header .hamburger-menu span {
    display: block;
    width: 15.267vw;
    height: 0.254vw;
    background-color: var(--Color-Primary); /* 色を--Color-Primaryに変更 */
    margin: 1.018vw 0; /* 各spanの間に8pxの間隔を設定 */
  }

  .site-header .menu-text {
    font-weight: var(--FontWeight-EN-Medium);
    font-size: 3.053vw;
    line-height: 1.5;
    text-align: center;
    margin-top: 2.036vw;
  }

  .hamburger-menu {
    display: block;
    cursor: pointer;
    background: none;
    border: none;
    padding: 2.545vw;
    margin: 0;
  }

  .hamburger-menu span {
    display: block;
    width: 6.361vw;
    height: 0.763vw;
    background-color: #fff;
    margin: 1.018vw 0;
    transition: transform 0.3s ease, opacity 0.3s ease;
  }

  .hamburger-menu.open span:nth-child(1) {
    transform: translateY(2.799vw) rotate(10deg);
  }

  .hamburger-menu.open span:nth-child(2) {
    opacity: 0;
  }

  .hamburger-menu.open span:nth-child(3) {
    transform: translateY(-1.781vw) rotate(-10deg);
  }

  .hamburger-menu-items {
    position: fixed;
    width: 100%;
    height: calc(100% + -21.883vw);
    padding: 8.142vw 6.107vw;
    box-sizing: border-box;
    top: 21.883vw;
    left: 0;
    z-index: 100;
    background-color: var(--Color-BG);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease, visibility 0s 0.5s;
  }

  .hamburger-menu-items.open {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.5s ease;
    overflow-y: auto;
  }

  .hamburger-menu-items .menu-item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 32px;
    width: 100%;
    height: 100%;
  }

  .hamburger-menu-items .page-menu {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .hamburger-menu-items .page-menu ul {
    list-style-type: none;
    height: auto;
    display: flex;
    flex-direction: column;
    flex-direction: column;
  }

  .hamburger-menu-items .page-menu ul li {
    border-bottom: 1px solid #ced7e2;
    flex-grow: 1;
    display: flex;
    align-items: center;
  }

  .hamburger-menu-items ul.sub-menu li:first-child,
  .menu-flex > ul .no-link {
    border-top: none;
  }

  .menu-flex > ul:first-of-type > li.no-link {
    border-top: 0.068vw solid #ced7e2;
  }

  .hamburger-menu-items .page-menu a,
  .hamburger-menu-items .page-menu .no-link {
    font-weight: 300;
    font-size: 5.598vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    display: flex;
    align-items: center;
    text-decoration: none;
    flex: none;
    align-self: stretch;
    width: 100%;
    padding: 4.071vw 0;
  }

  .hamburger-menu-items .sub-menu a {
    padding-left: 10.178vw;
    font-weight: 300;
    font-size: 4.071vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }

  .hamburger-menu-items .num {
    margin-right: 4.071vw;
    font-weight: 500;
    font-size: 3.562vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color-Primary);
  }

  .hamburger-menu-items .search-form {
    padding: 0 !important;
    background: none !important;
    border-radius: 0 !important;
    margin-bottom: 0 !important;
  }

  .hamburger-menu-items .search-form-wrapper {
    display: inline !important;
  }

  .hamburger-menu-items #search-input {
    flex: 1;
    padding: 4.071vw 12.214vw 4.071vw 4.071vw;
    background: var(--Color_GrayScale-White);
    border: 1px solid var(--Color-Border);
    border-radius: 1.018vw;
    font-family: var(--Font-JP);
    font-size: 3.071vw;
    font-weight: var(--FontWeight-JP-Regular);
    color: var(--Color_GrayScale-Black);
    width: 100%;
    height: 14.249vw;
    outline: none;
  }

  .hamburger-menu-items #search-input::placeholder {
    color: var(--Color_GrayScale-Gray70);
  }

  .hamburger-menu-items #clear-button {
    position: absolute;
    left: 213.74vw;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    font-size: 5.089vw;
    color: var(--Color_GrayScale-Gray30);
    display: none;
  }

  .hamburger-menu-items #search-button {
    width: 100%;
    margin-top: 2.036vw;
    padding: 4.071vw 8.142vw;
    background: var(--Color-Primary);
    border-radius: 1.018vw;
    color: var(--Color_GrayScale-White);
    font-size: 4.071vw;
    border: none;
    cursor: pointer;
    transition: background 0.3s ease;
  }

  .hamburger-menu-items .popular-search-terms {
    margin-top: 8.142vw;
  }

  .hamburger-menu-items .popular-search-terms p {
    font-weight: var(--FontWeight-JP-Light);
    font-size: 3.562vw !important;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 4.071vw !important;
  }

  .hamburger-menu-items .popular-search-terms ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 4.071vw !important;
  }

  .hamburger-menu-items .popular-search-terms ul li {
    font-size: 3.562vw;
  }

  .hamburger-menu-items .popular-search-terms ul li a {
    color: var(--Color_GrayScale-Black);
    text-decoration: underline;
    font-size: 3.562vw !important;
  }

  .hamburger-menu-items .text-primary {
    margin-bottom: 8.142vw;
  }

  .hamburger-menu-items .text-primary a,
  .hamburger-menu-items .text-primary p {
    font-weight: 400;
    font-size: 3.562vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--Color-Primary);
    padding: 0;
  }

  .hamburger-menu-items .search-form-copy {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 16.285vw;
  }

  .hamburger-menu-items .copy .subtitle {
    font-weight: 400;
    font-size: 4.071vw;
    line-height: 1.5;
    letter-spacing: 0.3em;
    color: var(--Color-Primary);
    margin-bottom: 4.071vw;
  }

  .hamburger-menu-items .copy .title {
    font-family: var(--Font-EN);
    font-weight: 200;
    font-size: 18.593vw;
    line-height: 1;
    letter-spacing: 0.05em;
    color: var(--Color-Primary);
  }
}

/* フッター全体 */
.site-footer {
  background-color: #232f3d;
  padding: 80px;
  padding-bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--Color_GrayScale-White);
  margin-left: 164px;
}

.footer-content {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 1200px;
}

.footer-menu {
  display: flex;
  gap: 32px;
}

.footer-menu-left,
.footer-menu-right {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.footer-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-menu li {
  margin-bottom: 16px;
  line-height: 1.8;
}

.footer-menu li:last-child {
  margin-bottom: 0;
}

.footer-menu li.submenu {
  padding-left: 32px;
}

.footer-menu ul li .num {
  font-weight: 500;
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-White);
  padding-right: 16px;
}

.footer-menu a {
  color: var(--Color_GrayScale-White);
  text-decoration: none;
  font-size: 12px;
  font-weight: var(--FontWeight-JP-Regular);
  display: block;
}

.footer-image-copyright {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.footer-image-copyright .footer-image p {
  display: flex;
  justify-content: flex-end;
}

.footer-image-copyright .footer-image p a {
  transition: opacity 0.5s, transform 0.5s;
}

.footer-image-copyright .footer-image p a:hover {
  opacity: 0.8;
}

.footer-image-copyright .footer-copyright {
  text-align: right;
}

.footer-image-copyright .footer-copyright .copyright {
  font-family: var(--Font-EN);
  font-weight: 500;
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-White);
}

.footer-image-copyright .footer-copyright .tourist-center {
  margin-bottom: 16px;
}

.footer-image-copyright .footer-copyright .tourist-center a {
  color: var(--Color_GrayScale-White);
  font-weight: 400;
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  position: relative;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 8px;
}

.footer-image-copyright .footer-copyright .tourist-center a::after {
  content: "";
  width: 24px;
  height: 24px;
  background-image: url("../images/common/icon_phone_footer.svg");
  background-size: contain;
  background-repeat: no-repeat;
}

.footer-image img {
  width: 200px;
}

.footer-text {
  font-size: 282px;
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
  color: var(--Color_GrayScale-White);
  font-weight: var(--FontWeight-EN-ExtraLight);
  font-family: var(--Font-EN);
  width: max-content;
  overflow: hidden;
}

@media (min-width: 1025px) {
  /* フッター全体 */
  .site-footer {
    background-color: #232f3d;
    padding: 5.442vw;
    padding-bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: var(--Color_GrayScale-White);
    margin-left: 11.156vw;
  }

  .footer-content {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 81.633vw;
    margin-bottom: 4.354vw;
  }

  .footer-menu {
    display: flex;
    gap: 2.177vw;
  }

  .footer-menu-left,
  .footer-menu-right {
    display: flex;
    flex-direction: column;
    gap: 0.544vw;
  }

  .footer-menu li {
    margin-bottom: 1.088vw;
    line-height: 1.8;
  }

  .footer-menu li.mainmenu {
    display: flex;
    align-items: baseline;
  }

  .footer-menu li.submenu {
    padding-left: 2.177vw;
  }

  .footer-menu ul li .num {
    font-weight: 500;
    font-size: 0.68vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-White);
    padding-right: 1.088vw;
  }

  .footer-menu a {
    color: var(--Color_GrayScale-White);
    text-decoration: none;
    font-size: 0.816vw;
    font-weight: var(--FontWeight-JP-Regular);
    display: inline-block;
    position: relative;
    padding-bottom: 2px;
  }

  .footer-menu a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: var(--Color_GrayScale-White);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease-in-out;
  }

  .footer-menu a:hover::after {
    transform: scaleX(1);
  }

  .footer-menu a:not(:hover)::after {
    transform-origin: right;
    transform: scaleX(0);
    transition: transform 0.3s ease-in-out;
  }

  .footer-image-copyright .footer-copyright .copyright {
    color: var(--Color_GrayScale-White);
    text-decoration: none;
    font-size: 0.816vw;
    font-weight: var(--FontWeight-JP-Regular);
    display: inline-block;
    position: relative;
    padding-bottom: 2px; /* 下線との間隔を調整 */
  }

  .footer-image-copyright .footer-copyright .tourist-center {
    margin-bottom: 1.088vw;
  }

  .footer-image-copyright .footer-copyright .tourist-center a {
    color: var(--Color_GrayScale-White);
    font-weight: 400;
    font-size: 0.816vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    position: relative;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 0.544vw;
  }

  .footer-image-copyright .footer-copyright .tourist-center a::after {
    content: "";
    width: 1.633vw;
    height: 1.633vw;
    background-image: url("../images/common/icon_phone_footer.svg");
    background-size: contain;
    background-repeat: no-repeat;
  }

  .footer-image img {
    width: 13.605vw;
  }

  .footer-text {
    font-size: 19.184vw;
    letter-spacing: 0;
    line-height: 1;
    text-align: center;
    color: var(--Color_GrayScale-White);
    font-weight: var(--FontWeight-EN-ExtraLight);
    font-family: var(--Font-EN);
    width: max-content;
    overflow: hidden;
  }
}

@media (max-width: 1024px) {
  /* フッター全体 */
  .site-footer {
    background-color: #232f3d;
    padding: 20.356vw 6.107vw 0;
    padding-bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: var(--Color_GrayScale-White);
    margin-left: unset;
    gap: 16.285vw;
  }

  .footer-content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 16.285vw;
    width: 100%;
    max-width: 305.344vw;
  }

  .footer-menu {
    display: inline;
  }

  .footer-menu-left,
  .footer-menu-right {
    display: flex;
    flex-direction: column;
    gap: 2.036vw;
  }

  .footer-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .footer-menu li {
    margin-bottom: 4.071vw;
    line-height: 1.8;
  }

  .footer-menu li:last-child {
    margin-bottom: 4.071vw;
  }

  .footer-menu li.mainmenu {
    display: flex;
    align-items: baseline;
  }

  .footer-menu li.submenu {
    padding-left: 8.142vw;
  }

  .footer-menu ul li .num {
    font-weight: 500;
    font-size: 2.545vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-White);
    padding-right: 4.071vw;
  }

  .footer-menu a {
    color: var(--Color_GrayScale-White);
    text-decoration: none;
    font-size: 3.053vw;
    font-weight: var(--FontWeight-JP-Regular);
    display: block;
  }

  .footer-image-copyright {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 16.285vw;
  }

  .footer-image-copyright .footer-image p {
    text-align: left;
  }

  .footer-image-copyright .footer-copyright {
    text-align: left;
  }

  .footer-image-copyright .footer-copyright .copyright {
    font-family: var(--Font-EN);
    font-weight: 500;
    font-size: 2.545vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-White);
  }

  .footer-image-copyright .footer-copyright .tourist-center {
    margin-bottom: 4.071vw;
  }

  .footer-image-copyright .footer-copyright .tourist-center a {
    color: var(--Color_GrayScale-White);
    font-weight: 400;
    font-size: 3.053vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    position: relative;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 2.036vw;
  }

  .footer-image-copyright .footer-copyright .tourist-center a::after {
    content: "";
    width: 6.107vw;
    height: 6.107vw;
    background-image: url("../images/common/icon_phone_footer.svg");
    background-size: contain;
    background-repeat: no-repeat;
  }

  .footer-image img {
    width: 50.891vw;
  }

  .footer-text {
    font-size: 24.682vw;
    letter-spacing: 0;
    line-height: 1;
    text-align: center;
    color: var(--Color_GrayScale-White);
    font-weight: var(--FontWeight-EN-ExtraLight);
    font-family: var(--Font-EN);
    width: max-content;
    overflow: hidden;
  }
}

/* メインコンテンツエリア */
main {
  margin-left: 164px;
}

@media (min-width: 1025px) {
  main {
    margin-left: 11.156vw;
  }
}

@media (max-width: 1024px) {
  main {
    margin-left: 0;
    margin-top: 21.883vw;
  }
}

/* トップページ */

.home {
}

/* MVエリア全体 */
.home .mv-area {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

/* 背景スライド */
.home .mv-area .mv-bg-area {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.home .mv-area .mv-slide {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1.5s ease-in-out; /* 透明度を変更してフェードイン */
}

.home .mv-area .mv-slide .mv-bg {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transform: scale(1);
  transition: transform 8s ease-in-out; /* 背景を拡大する */
}

/* アクティブなスライド */
.home .mv-area .mv-slide.active {
  opacity: 1; /* アクティブなスライドは表示 */
}

/* アクティブな背景画像 */
.home .mv-area .mv-slide.active .mv-bg {
  transform: scale(1.1); /* 拡大 */
}

/* 各スライドに画像を設定 */
.home .mv-area .mv-slide:nth-child(1) .mv-bg {
  background-image: url("../images/index/KV01.jpg");
}
.home .mv-area .mv-slide:nth-child(2) .mv-bg {
  background-image: url("https://norikura.gr.jp/wp-content/uploads/2025/08/top-image-okade-phone.jpg");
}
.home .mv-area .mv-slide:nth-child(3) .mv-bg {
  background-image: url("https://norikura.gr.jp/wp-content/uploads/2025/08/top-image-view-from-norikuradake-pc.jpg");
}
.home .mv-area .mv-slide:nth-child(4) .mv-bg {
  background-image: url("../images/index/KV03.jpg");
}
.home .mv-area .mv-slide:nth-child(5) .mv-bg {
  background-image: url("../images/index/KV05.jpg");
}

/* メインコピー */
.home .mv-area .mv-content {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: white;
  text-align: center;
}

.home .mv-area .mv-copy {
  display: flex;
  gap: 32px;
  align-items: end;
  text-align: left;
}

.home .mv-area .mv-title {
  font-size: 200px;
  line-height: 0.8;
  font-weight: var(--FontWeight-EN-ExtraLight);
  font-family: var(--Font-EN);
}

.home .mv-area .mv-subtitle {
  font-size: 22px;
  line-height: 1.5;
  font-weight: var(--FontWeight-JP-Medium);
}

/* Description */
.home .mv-area .mv-description {
  position: absolute;
  bottom: 40px;
  right: 40px;
  text-align: left;
  width: 400px;
  font-weight: var(--FontWeight-EN-Light);
  font-family: var(--Font-EN);
  color: var(--Color_GrayScale-White);
}

.home .mv-area .desc-title {
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 8px;
  font-weight: var(--FontWeight-EN-Light);
  font-family: var(--Font-EN);
}

.home .mv-area .desc-text {
  font-size: 12px;
  line-height: 1.5;
}

.home .mv-area .mv-indicator-area {
  display: flex;
  justify-content: center;
  position: absolute;
  bottom: 16px;
  width: 100%;
  padding: 0 32px;
}

.home .mv-area .mv-indicator {
  position: relative;
  width: 100%;
  height: 1px;
  background-color: gray; /* 背景のグレーの線 */
}

.home .mv-area .mv-indicator .mv-indicator-progress {
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-color: white; /* 白い線 */
  transition: width 5s linear; /* 5秒かけて伸びる */
}

.home .mv-area .mv-indicator .mv-indicator-dots {
  position: absolute;
  top: -4px;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
}

.home .mv-area .mv-indicator .mv-indicator-dots .dot {
  width: 8px;
  height: 8px;
  background-color: gray;
  border-radius: 50%;
  transition: background-color 0.3s;
}

/* アクティブなドット */
.home .mv-area .mv-indicator .mv-indicator-dots .dot.active {
  background-color: white;
}

@media (min-width: 1025px) {
  /* メインコピー */
  .home .mv-area .mv-content {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: white;
    text-align: center;
  }

  .home .mv-area .mv-copy {
    display: flex;
    gap: 2.177vw;
    align-items: end;
    text-align: left;
  }

  .home .mv-area .mv-title {
    font-size: 13.605vw;
    line-height: 0.8;
    font-weight: var(--FontWeight-EN-ExtraLight);
    font-family: var(--Font-EN);
  }

  .home .mv-area .mv-subtitle {
    font-size: 1.497vw;
    line-height: 1.5;
    font-weight: var(--FontWeight-JP-Medium);
  }

  /* Description */
  .home .mv-area .mv-description {
    position: absolute;
    bottom: 2.721vw;
    right: 2.721vw;
    text-align: left;
    width: 27.211vw;
    font-weight: var(--FontWeight-EN-Light);
    font-family: var(--Font-EN);
    color: var(--Color_GrayScale-White);
  }

  .home .mv-area .desc-title {
    font-size: 0.952vw;
    line-height: 1.5;
    margin-bottom: 0.544vw;
    font-weight: var(--FontWeight-EN-Light);
    font-family: var(--Font-EN);
  }

  .home .mv-area .desc-text {
    font-size: 0.816vw;
    line-height: 1.5;
  }

  .home .mv-area .mv-indicator-area {
    display: flex;
    justify-content: center;
    position: absolute;
    bottom: 1.088vw;
    width: 100%;
    padding: 0 2.177vw;
  }

  .home .mv-area .mv-indicator {
    position: relative;
    width: 100%;
    height: 0.068vw;
    background-color: gray; /* 背景のグレーの線 */
  }

  .home .mv-area .mv-indicator .mv-indicator-progress {
    position: absolute;
    top: 0;
    left: 0;
    width: 0%;
    height: 100%;
    background-color: white; /* 白い線 */
    transition: width 5s linear; /* 5秒かけて伸びる */
  }

  .home .mv-area .mv-indicator .mv-indicator-dots {
    position: absolute;
    top: -0.272vw;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    pointer-events: none;
  }

  .home .mv-area .mv-indicator .mv-indicator-dots .dot {
    width: 0.544vw;
    height: 0.544vw;
    background-color: gray;
    border-radius: 50%;
    transition: background-color 0.3s;
  }

  /* アクティブなドット */
  .home .mv-area .mv-indicator .mv-indicator-dots .dot.active {
    background-color: white;
  }
}

@media (max-width: 1024px) {
  /* MVエリア全体 */
  .home .mv-area {
    position: relative;
    width: 100%;
    height: calc(100vh - 21.883vw);
    overflow: hidden;
    margin-bottom: 20.356vw;
  }

  /* 背景スライド */
  .home .mv-area .mv-bg-area {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
  }

  .home .mv-area .mv-slide {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 1.5s ease-in-out; /* 透明度を変更してフェードイン */
  }

  .home .mv-area .mv-slide .mv-bg {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transform: scale(1);
    transition: transform 8s ease-in-out; /* 背景を拡大する */
  }

  /* アクティブなスライド */
  .home .mv-area .mv-slide.active {
    opacity: 1; /* アクティブなスライドは表示 */
  }

  /* アクティブな背景画像 */
  .home .mv-area .mv-slide.active .mv-bg {
    transform: scale(1.1); /* 拡大 */
  }

  /* 各スライドに画像を設定 */
  .home .mv-area .mv-slide:nth-child(1) .mv-bg {
    background-image: url("../images/index/sp/KV01_SP@2x.webp");
  }
  .home .mv-area .mv-slide:nth-child(2) .mv-bg {
    background-image: url("https://norikura.gr.jp/wp-content/uploads/2025/08/top-image-view-from-norikuradake-pc.jpg");
  }
  .home .mv-area .mv-slide:nth-child(3) .mv-bg {
    background-image: url("../images/index/sp/KV03_SP@2x.webp");
  }
  .home .mv-area .mv-slide:nth-child(4) .mv-bg {
    background-image: url("https://norikura.gr.jp/wp-content/uploads/2025/08/top-image-okade-pc.jpeg");
  }
  .home .mv-area .mv-slide:nth-child(5) .mv-bg {
    background-image: url("../images/index/sp/KV05_SP@2x.webp");
  }

  /* メインコピー */
  .home .mv-area .mv-content {
    position: absolute;
    width: 100%;
    height: fit-content;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: white;
    text-align: center;
    top: 30.534vw;
  }

  .home .mv-area .mv-copy {
    display: flex;
    flex-direction: column;
    gap: 4.071vw;
    align-items: center;
    text-align: center;
  }

  .home .mv-area .mv-title {
    font-size: 20.356vw;
    line-height: 0.8;
    font-weight: var(--FontWeight-EN-ExtraLight);
    font-family: var(--Font-EN);
  }

  .home .mv-area .mv-subtitle {
    font-size: 4.071vw;
    line-height: 1.5;
    font-weight: var(--FontWeight-JP-Medium);
  }

  /* Description */
  .home .mv-area .mv-description {
    position: absolute;
    bottom: 16.285vw;
    right: 6.107vw;
    text-align: left;
    width: 40.712vw;
    font-weight: var(--FontWeight-EN-Light);
    font-family: var(--Font-EN);
    color: var(--Color_GrayScale-White);
  }

  .home .mv-area .desc-title {
    font-size: 3.053vw;
    line-height: 1.5;
    margin-bottom: 2.036vw;
    font-weight: var(--FontWeight-EN-Light);
    font-family: var(--Font-EN);
  }

  .home .mv-area .desc-text {
    font-size: 2.545vw;
    line-height: 1.5;
  }

  .home .mv-area .mv-indicator-area {
    display: flex;
    justify-content: center;
    position: absolute;
    bottom: 16px;
    width: 100%;
    padding: 0 32px;
  }

  .home .mv-area .mv-indicator {
    position: relative;
    width: 100%;
    height: 1px;
    background-color: gray; /* 背景のグレーの線 */
  }

  .home .mv-area .mv-indicator .mv-indicator-progress {
    position: absolute;
    top: 0;
    left: 0;
    width: 0%;
    height: 100%;
    background-color: white; /* 白い線 */
    transition: width 5s linear; /* 5秒かけて伸びる */
  }

  .home .mv-area .mv-indicator .mv-indicator-dots {
    position: absolute;
    top: -4px;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    pointer-events: none;
  }

  .home .mv-area .mv-indicator .mv-indicator-dots .dot {
    width: 8px;
    height: 8px;
    background-color: gray;
    border-radius: 50%;
    transition: background-color 0.3s;
  }

  /* アクティブなドット */
  .home .mv-area .mv-indicator .mv-indicator-dots .dot.active {
    background-color: white;
  }
}

.featured-area {
  width: 100%;
}

.featured-container {
  display: flex;
  align-items: flex-start;
  width: 100%;
  position: relative;
}

/* 左カラム */
.featured-heading {
  width: 195px;
  font-size: 32px;
  font-weight: bold;
  color: var(--Color-Primary);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.featured-heading h2 {
  writing-mode: vertical-rl;
}

/* 右カラム (カルーセル) */
.featured-carousel {
  flex: 1;
  overflow: hidden;
  position: relative;
  z-index: 1;
  width: 100%;
}

.carousel-item .item-top {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

@media (min-width: 1025px) {
  /* 左カラム */
  .featured-area .featured-heading {
    width: 13.265vw;
    font-size: 2.177vw;
    font-weight: bold;
    color: var(--Color-Primary);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }

  /* カルーセルラッパー */
  .featured-area .carousel-wrapper {
    display: flex;
    gap: 2.177vw; /* アイテム間隔 */
    flex-wrap: nowrap; /* アイテムが折り返さないように */
  }

  /* 各カルーセルアイテム */
  .featured-area .carousel-item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    width: 32.653vw;
    height: 40.816vw;
    background: var(--Color_GrayScale-White);
  }

  .featured-area .carousel-item a {
    display: block;
    text-decoration: none;
    color: inherit;
    padding: 1.633vw;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
  }

  /* 番号部分 */
  .featured-area .carousel-item .num {
    width: 1.973vw;
    font-size: 0.952vw;
    font-weight: var(--FontWeight-EN-Medium);
    color: var(--Color_GrayScale-Gray70);
  }

  /* 画像部分 */
  .featured-area .carousel-item .image {
    width: 18.435vw;
    height: 23.061vw;
    background-color: #eee;
    background-size: cover;
    background-position: center;
    overflow: hidden;
  }

  /* 画像 */
  .featured-area .carousel-item .image img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 画像をコンテナいっぱいにする */
    transition: transform 0.5s ease; /* なめらかに変化 */
  }

  /* hover時のアニメーション */
  .featured-area .carousel-item a:hover .image img {
    transform: scale(1.05); /* 拡大 */
  }

  .carousel-item .item-bottom {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    position: relative;
    width: 100%;
    padding-right: 2.721vw;
  }

  /* タイトル部分 */
  .featured-area .carousel-item .item-bottom h3 {
    font-size: 1.633vw;
    font-weight: var(--FontWeight-JP-Light);
    color: var(--Color-Primary);
    line-height: 1.5;
    margin-bottom: 1.088vw;
    text-align: left;
  }

  /* 説明部分 */
  .featured-area .carousel-item .item-bottom p {
    width: 25.578vw;
    font-size: 0.816vw;
    font-weight: var(--FontWeight-JP-Regular);
    color: var(--Color_GrayScale-Gray30);
    line-height: 2;
    text-align: left;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* 矢印部分 */
  .featured-area .carousel-item .arrow {
    width: 1.633vw;
    height: 1.633vw;
    background-image: url(../images/common/arrow_forward.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: 0;
    bottom: 0;
    transition: transform 0.5s ease-in-out;
  }

  /* hover時のアニメーション */
  .featured-area .carousel-item a:hover .arrow {
    animation: arrow-slide 0.5s ease-in-out forwards;
  }

  @keyframes arrow-slide {
    0% {
      transform: translateX(0);
      opacity: 1;
    }
    50% {
      transform: translateX(1vw);
      opacity: 0;
    }
    51% {
      transform: translateX(-1vw);
      opacity: 0;
    }
    100% {
      transform: translateX(0);
      opacity: 1;
    }
  }
}

@media (max-width: 1024px) {
  .featured-area {
    width: 100%;
    margin-bottom: 20.356vw;
    padding-left: 6.107vw;
  }

  .featured-container {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    width: 100%;
    position: relative;
  }

  /* 左カラム */
  .featured-area .featured-heading {
    width: fit-content;
    font-size: 2.177vw;
    font-weight: bold;
    color: var(--Color-Primary);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }

  .featured-area .featured-heading h2 {
    writing-mode: unset;
  }

  /* カルーセルラッパー */
  .featured-area .carousel-wrapper {
    display: flex;
    gap: 2.177vw; /* アイテム間隔 */
    flex-wrap: nowrap; /* アイテムが折り返さないように */
  }

  /* 各カルーセルアイテム */
  .featured-area .carousel-item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    width: calc(71.247vw) !important;
    height: 100%;
    background: var(--Color_GrayScale-White);
  }

  .featured-area .carousel-item a {
    display: block;
    text-decoration: none;
    color: inherit;
    padding: 6.107vw;
    width: 100%;
    height: 100%;
    min-height: 112.71vw;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8.142vw;
  }

  /* 番号部分 */
  .featured-area .carousel-item .num {
    width: 5.344vw;
    font-size: 2.545vw;
    font-weight: var(--FontWeight-EN-Medium);
    color: var(--Color_GrayScale-Gray70);
  }

  /* 画像部分 */
  .featured-area .carousel-item .image {
    width: 45.802vw;
    height: 55.98vw;
    background-color: #eee;
    background-size: cover;
    background-position: center;
  }

  .featured-area .carousel-item .item-bottom {
    padding-bottom: 7.888vw;
    position: relative;
  }

  /* タイトル部分 */
  .featured-area .carousel-item .item-bottom h3 {
    font-size: 4.071vw;
    font-weight: var(--FontWeight-JP-Light);
    color: var(--Color-Primary);
    line-height: 1.5;
    margin-bottom: 4.071vw;
    text-align: left;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* 説明部分 */
  .featured-area .carousel-item .item-bottom p {
    width: 100%;
    font-size: 3.053vw;
    font-weight: var(--FontWeight-JP-Regular);
    color: var(--Color_GrayScale-Gray30);
    line-height: 2;
    text-align: left;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* 矢印部分 */
  .featured-area .carousel-item .arrow {
    width: 6.107vw;
    height: 6.107vw;
    background-image: url(../images/common/arrow_forward.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: 0;
    bottom: 0;
  }
}

/* ナビゲーションボタン */

.swiper-button-next,
.swiper-button-prev {
  position: static !important; /* 絶対配置を解除 */
  margin-top: 0; /* 縦中央配置を解除 */
  width: auto;
  height: auto;
  z-index: auto;
  display: block; /* デフォルトの display: flex を解除 */
  color: inherit; /* 色を継承 */
}

.swiper-button-prev::after,
.swiper-button-next::after {
  display: none;
}

.featured-area .carousel-button svg {
  display: none;
}

@media (min-width: 1025px) {
  .featured-area.search-result {
    margin: 0 0 10.884vw;
  }

  .featured-area .carousel-buttons {
    display: flex;
    flex-direction: column;
    gap: 1.088vw;
    position: relative;
    --swiper-navigation-size: 0;
  }

  .featured-area .carousel-button {
    width: 5.442vw;
    height: 5.442vw;
    background-color: var(--Color_GrayScale-White);
    color: var(--Color-Primary);
    border: none;
    border-radius: 50%;
    font-size: 0.952vw;
    font-family: var(--Font-EN);
    font-weight: var(--FontWeight-EN-Medium);
    text-align: center;
    line-height: 1.5;
    cursor: pointer;
    z-index: 2;
    position: static;
    transition: background-color 0.5s, color 0.5s;
  }

  .featured-area .carousel-button:hover {
    background-color: var(--Color-Primary);
    color: var(--Color_GrayScale-White);
  }

  .featured-area .carousel-buttons.to-sp {
    display: none;
  }
}

@media (max-width: 1024px) {
  .featured-area .carousel-buttons-area {
    width: 100%;
    margin: 8.142vw auto 0;
    display: flex;
  }

  .featured-area .carousel-buttons.to-pc {
    display: none;
  }

  .featured-area .carousel-buttons.to-sp {
    display: flex !important;
    flex-direction: row;
    gap: 4.071vw;
    position: relative;
    --swiper-navigation-size: 0;
    margin: 0 auto;
  }

  .featured-area .carousel-button {
    width: 20.356vw;
    height: 20.356vw;
    background-color: var(--Color_GrayScale-White);
    color: var(--Color-Primary);
    border: none;
    border-radius: 50%;
    font-size: 3.562vw;
    font-family: var(--Font-EN);
    font-weight: var(--FontWeight-EN-Medium);
    text-align: center;
    line-height: 1.5;
    cursor: pointer;
    z-index: 2;
    position: static;
  }
}

.home .prev-button,
.home .next-button {
  writing-mode: initial;
}

.home .information-area {
  padding: 160px 0;
}

.home .information-container {
  width: 746px;
  position: relative;
  left: 50%;
  transform: translateX(-30%);
}

.home .news-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 32px;
  width: 100%;
}

.home .news-item a {
  text-decoration: none;
  display: flex;
  align-items: center;
}

.home .news-item a .news-meta {
  display: flex;
  align-items: center;
  gap: 32px;
}

.home .news-date,
.home .news-category,
.home .news-title {
  display: block;
  font-size: 14px;
}

.home .news-date,
.home .news-category {
  margin-right: 32px; /* 各要素の間に32pxのスペースを確保 */
}

.home .news-date,
.home .news-title {
  color: var(--Color_GrayScale-Black);
  font-weight: var(--FontWeight-EN-Medium);
}

.home .news-category {
  color: var(--Color-Primary);
  font-weight: var(--FontWeight-EN-Medium);
  width: 160px;
}

.home .news-title {
  font-weight: var(--FontWeight-JP-Regular);
}

@media (min-width: 1025px) {
  .home .information-area {
    padding: 10.884vw 0;
  }

  .home .information-container {
    width: 50.748vw;
    position: relative;
    left: 50%;
    transform: translateX(-30%);
  }

  .home .news-list {
    display: flex;
    flex-direction: column;
    gap: 1.361vw;
    margin-bottom: 2.177vw;
    width: 100%;
  }

  .home .news-date,
  .home .news-category,
  .home .news-title {
    display: block;
    font-size: 0.952vw;
  }

  .home .news-date {
    width: 6.803vw;
  }

  .home .news-title {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 0.952vw;
    text-decoration: none;
    position: relative;
  }

  .home .news-item a:hover .news-title {
    color: var(--Color-Primary);
  }

  .home .news-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: var(--Color-Primary);
    transform: scaleX(0); /* 初期状態ではスケールを0に */
    transform-origin: right; /* アニメーションの開始位置を右に */
    transition: transform 0.3s ease-in-out;
  }

  .home .news-item a:hover .news-title::after {
    transform: scaleX(1); /* ホバー時にスケールを1に */
    transform-origin: left; /* ホバー時にアニメーションを左から右に */
  }

  .home .news-item a:not(:hover) .news-title::after {
    transform: scaleX(0); /* ホバー解除時にスケールを0に */
    transition: transform 0.3s ease-in-out;
    transform-origin: right; /* 解除時に右から左にアニメーション */
  }
}

@media (max-width: 1024px) {
  .home .prev-button,
  .home .next-button {
    writing-mode: initial;
  }

  .home .information-area {
    padding: 20.356vw 0;
  }

  .home .information-container {
    position: relative;
    left: auto;
    transform: unset;
    width: 87.786vw;
    margin: 0 auto 20.356vw;
  }

  .home .news-list {
    display: flex;
    flex-direction: column;
    gap: 8.142vw;
    margin-bottom: 8.142vw;
    width: 100%;
  }

  .home .news-item a {
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 4.071vw;
    width: 100%;
    text-decoration: none;
    position: relative;
  }

  .home .news-list .news-item .news-meta {
    display: flex;
    gap: 8.142vw;
  }

  .home .news-date,
  .home .news-category,
  .home .news-title {
    display: block;
    font-size: 3.562vw;
  }

  .home .news-date,
  .home .news-category {
    margin-right: 0;
  }

  .home .news-date,
  .home .news-title {
    color: var(--Color_GrayScale-Black);
    font-weight: var(--FontWeight-EN-Medium);
  }

  .home .news-category {
    color: var(--Color-Primary);
    font-weight: var(--FontWeight-EN-Medium);
    width: 40.712vw;
  }

  .home .news-title {
    font-weight: var(--FontWeight-JP-Regular);
  }
}

/* タイトル・テキスト・View Moreボタンを一塊に */
.home .activity-area .activity-text-block {
  text-align: center;
}

/* タイトルと＋マークのラッパー */
.home .activity-area .title-wrapper {
  position: relative;
  transform: translateY(100px); /* 下に100pxずらす */
  transition: opacity 0.5s, transform 0.5s;
}

/* 四隅の＋マーク */
.home .activity-area .title-wrapper .plus {
  position: absolute;
  width: 17px;
  height: 17px;
  background-image: url(../images/index/activity_titile_icon.svg);
  background-size: cover;
  background-repeat: no-repeat;
}

/* 四隅の位置 */
.home .activity-area .title-wrapper .top-left {
  top: -30px;
  left: -47px;
}
.home .activity-area .title-wrapper .top-right {
  top: -30px;
  right: -47px;
}
.home .activity-area .title-wrapper .bottom-left {
  bottom: -30px;
  left: -47px;
}
.home .activity-area .title-wrapper .bottom-right {
  bottom: -30px;
  right: -47px;
}

/* タイトル */
.home .activity-area .title-wrapper .activity-title {
  position: relative;
  width: fit-content;
  margin: 0 auto 64px;
}

.home .activity-area .title-wrapper .activity-title h2 {
  font-size: 32px;
  font-weight: var(--FontWeight-JP-Light);
  line-height: 1.8;
  color: var(--Color_GrayScale-White);
}

/* 説明テキスト */
.home .activity-area .title-wrapper p {
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 32px;
  color: var(--Color_GrayScale-White);
  font-weight: var(--FontWeight-JP-Regular);
  text-align: center;
}

/* View Moreボタン */
.home .activity-area .title-wrapper .view-more {
  margin: 0 auto;
  color: var(--Color_GrayScale-White);
}

/* 装飾用絶対配置テキスト NORIKURA */
.home .activity-area .activity-decor {
  position: absolute;
  width: 1000px;
  height: 300px;
  top: -139px;
  left: 0;
  right: 0;
  margin: auto;
  font-size: 200px;
  font-family: var(--Font-EN);
  font-weight: var(--FontWeight-EN-ExtraLight);
  color: var(--Color_GrayScale-White);
  opacity: 0.5;
  letter-spacing: 0.05em;
}

/* アクティビティscrolltrigger */
.home .activity-area {
  width: 100%;
}

.home .activity-area .section {
  display: flex;
  width: 100%;
  height: 200vh;
  justify-content: center;
  align-items: center;
  position: relative;
  background-color: rgba(0, 0, 0, 0.5); /* デフォルトは暗め */
  background-blend-mode: darken; /* 背景画像と色をブレンド */
  transition: background-color 1.5s ease; /* スムーズな変化 */
}

.home .activity-area .section.show {
  background-color: transparent; /* 背景色を無効化 */
}

.home .activity-area .text {
  opacity: 0;
  transition: opacity 1s ease;
  color: #fff;
  width: fit-content;
  height: fit-content;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.home .activity-area .text.visible {
  opacity: 1;
}

.home .activity-area .activity-content {
  position: relative;
  z-index: 10;
  width: 100%;
  height: 100%;
}

.home .activity-area .activity-bg-block {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.home .activity-area .bg-scene {
  position: absolute; /* 各シーンを絶対位置に配置 */
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 1;
  transition: opacity 0.5s ease-in-out;
}

.home .activity-area .section.scene01 {
  background-image: url(../images/index/activity_img01.webp);
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.home .activity-area .section.scene02 {
  background-image: url(../images/index/activity_img02.webp);
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.home .activity-area .section.scene03 {
  background-image: url(../images/index/activity_img03.webp);
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.home .activity-area .section.scene04 {
  background-image: url(../images/index/activity_img04.webp);
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.home .activity-area .section.scene05 {
  background-image: url(../images/index/activity_img05.webp);
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.home .activity-area .title-wrapper {
  opacity: 0;
  transition: opacity 0.5s ease;
  position: fixed;
  top: 50%;
  left: calc(50vw + 5%);
  transform: translate(-50%, -50%);
  z-index: -1; /* デフォルトでは背面 */
  pointer-events: none; /* クリック無効 */
}

.home .activity-area .title-wrapper.visible {
  opacity: 1;
  z-index: 10; /* 表示されるものを前面 */
  pointer-events: auto; /* クリック可能に */
}

@media (min-width: 1025px) {
  .home .activity-area .activity-norikura-sticky {
    position: -webkit-sticky; /* Safari対応 */
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    height: 2.177vw; /* 固定高さ32px */
    z-index: 100;
    display: flex;
    justify-content: center; /* 中央寄せ */
    align-items: center; /* 垂直中央に配置 */
  }

  .home .activity-area .activity-norikura-sticky .sticky-bg {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%; /* 背景は32pxの高さ */
    background-color: #f5f5f5;
    z-index: -1; /* 背景がテキストの下に表示されるように */
  }

  .home .activity-area .activity-norikura-sticky .sticky-text {
    position: relative;
    top: -8.844vw;
    z-index: 1;
    text-align: center;
    font-family: var(--Font-EN);
    font-weight: var(--FontWeight-EN-ExtraLight);
    font-size: 13.605vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    opacity: 0.5;
    color: var(--Color_GrayScale-White);
    transform: translateY(50%);
  }

  .home .activity-area {
    top: 0;
    z-index: 1; /* 背景より前に出す */
    margin-bottom: 21.769vw;
    padding: 0 2.177vw;
    position: relative; /* .norikura-sticky をこの範囲内でstickyにする */
  }
}

@media (max-width: 1024px) {
  .home .activity-area .activity-norikura-sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 19.338vw;
    left: 0;
    width: 100%;
    height: 2.177vw;
    z-index: 100;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .home .activity-area .activity-norikura-sticky .sticky-bg {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%; /* 背景は32pxの高さ */
    background-color: #f5f5f5;
    z-index: -1; /* 背景がテキストの下に表示されるように */
  }

  .home .activity-area .activity-norikura-sticky .sticky-text {
    position: relative;
    top: -12.844vw;
    z-index: 1;
    text-align: center;
    font-family: var(--Font-EN);
    font-weight: var(--FontWeight-EN-ExtraLight);
    font-size: 19.847vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    opacity: 0.5;
    color: var(--Color_GrayScale-White);
    transform: translateY(50%);
  }

  .home .activity-area {
    top: 0;
    z-index: 1; /* 背景より前に出す */
    margin-bottom: 21.769vw;
    padding: 0 6.107vw;
    position: relative; /* .norikura-sticky をこの範囲内でstickyにする */
  }
}

@media (max-width: 1024px) {
  /* タイトル・テキスト・View Moreボタンを一塊に */
  .home .activity-area .activity-text-block {
    text-align: center;
  }

  /* タイトルと＋マークのラッパー */
  .home .activity-area .title-wrapper {
    position: relative;
    transform: translateY(100px); /* 下に100pxずらす */
    transition: opacity 0.5s, transform 0.5s;
  }

  /* 四隅の＋マーク */
  .home .activity-area .title-wrapper .plus {
    position: absolute;
    width: 4.326vw;
    height: 4.326vw;
    background-image: url(../images/index/activity_titile_icon.svg);
    background-size: cover;
    background-repeat: no-repeat;
  }

  /* 四隅の位置 */
  .home .activity-area .title-wrapper .top-left {
    top: -7.634vw;
    left: -11.959vw;
  }
  .home .activity-area .title-wrapper .top-right {
    top: -7.634vw;
    right: -11.959vw;
  }
  .home .activity-area .title-wrapper .bottom-left {
    bottom: -7.634vw;
    left: -11.959vw;
  }
  .home .activity-area .title-wrapper .bottom-right {
    bottom: -7.634vw;
    right: -11.959vw;
  }

  /* タイトル */
  .home .activity-area .title-wrapper .activity-title {
    position: relative;
    width: fit-content;
    margin: 0px auto 14.249vw;
    text-align: center;
  }

  .home .activity-area .title-wrapper .activity-title h2 {
    font-size: 5.089vw;
    font-weight: var(--FontWeight-JP-Light);
    line-height: 1.8;
    color: var(--Color_GrayScale-White);
  }

  /* 説明テキスト */
  .home .activity-area .title-wrapper p {
    font-size: 3.562vw;
    line-height: 1.8;
    margin-bottom: 8.142vw;
    color: var(--Color_GrayScale-White);
    font-weight: var(--FontWeight-JP-Regular);
    text-align: center;
  }

  /* View Moreボタン */
  .home .activity-area .title-wrapper .view-more {
    margin: 0 auto;
    color: var(--Color_GrayScale-White);
  }

  /* 装飾用絶対配置テキスト NORIKURA */
  .home .activity-area .activity-decor {
    position: absolute;
    width: 1000px;
    height: 300px;
    top: -139px;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 200px;
    font-family: var(--Font-EN);
    font-weight: var(--FontWeight-EN-ExtraLight);
    color: var(--Color_GrayScale-White);
    opacity: 0.5;
    letter-spacing: 0.05em;
  }

  /* アクティビティscrolltrigger */
  .home .activity-area {
    width: 100%;
  }

  .home .activity-area .section {
    display: flex;
    width: 100%;
    height: 200vh;
    justify-content: center;
    align-items: center;
    position: relative;
  }

  .home .activity-area .section.parallax {
    transform: translateY(var(--scroll-position, 0));
  }

  .home .activity-area .text {
    opacity: 0;
    transition: opacity 1s ease;
    color: #fff;
    width: fit-content;
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
  }

  .home .activity-area .text.visible {
    opacity: 1;
  }

  .home .activity-area .activity-content {
    position: relative;
    z-index: 10;
    width: 100%;
    height: 100%;
  }

  .home .activity-area .activity-bg-block {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

  .home .activity-area .bg-scene {
    position: absolute; /* 各シーンを絶対位置に配置 */
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 1;
    transition: opacity 0.5s ease-in-out;
  }

  .home .activity-area .section.scene01,
  .home .activity-area .section.scene02,
  .home .activity-area .section.scene03,
  .home .activity-area .section.scene04,
  .home .activity-area .section.scene05 {
    position: relative;
    background-image: none;
    clip-path: inset(0);
  }

  .home .activity-area .section.scene01::before,
  .home .activity-area .section.scene02::before,
  .home .activity-area .section.scene03::before,
  .home .activity-area .section.scene04::before,
  .home .activity-area .section.scene05::before {
    content: ""; /* 疑似要素に内容を持たせる */
    position: fixed; /* 固定位置に設定 */
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 87.786vw;
    height: 100vh; /* ビューポート全体の高さ */
    background-size: cover; /* 背景画像が要素全体を覆う */
    background-position: center; /* 背景画像を中央に配置 */
    background-repeat: no-repeat;
    z-index: -1; /* 背景をコンテンツの下に配置 */
  }

  .home .activity-area .section.scene01::before {
    background-image: url(../images/index/sp/activity_img01.webp);
  }

  .home .activity-area .section.scene02::before {
    background-image: url(../images/index/sp/activity_img02.webp);
  }

  .home .activity-area .section.scene03::before {
    background-image: url(../images/index/sp/activity_img03.webp);
  }

  .home .activity-area .section.scene04::before {
    background-image: url(../images/index/sp/activity_img04.webp);
  }

  .home .activity-area .section.scene05::before {
    background-image: url(../images/index/sp/activity_img05.webp);
  }

  .home .activity-area {
    top: 0;
    z-index: 1; /* 背景より前に出す */
    margin-bottom: 0;
  }

  .home .activity-area .title-wrapper {
    opacity: 0;
    transition: opacity 0.5s ease;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    width: 100%;
  }

  .home .activity-area .title-wrapper.visible {
    opacity: 1;
  }
}

.access-content {
  text-align: center; /* 中央寄せ */
}

.home .access-caption {
  font-size: 32px;
  line-height: 1.8;
  color: var(--Color_GrayScale-Black);
  font-weight: var(--FontWeight-JP-Light);
  margin-bottom: 32px;
}

.home .access-area .view-more {
  margin: 0 auto; /* 横方向中央寄せ */
}

.home .access-image {
  position: absolute;
  opacity: 0; /* 初期状態で非表示 */
}

@media (min-width: 1025px) {
  .home .access-area {
    height: 100vh;
    position: relative;
    display: flex; /* フレックスボックスで中央寄せ */
    flex-direction: column; /* 縦方向に並べる */
    justify-content: center; /* コンテンツを縦方向で中央に寄せる */
    align-items: center; /* 横方向で中央に寄せる */
    overflow: hidden; /* 親要素の範囲を超えた画像を隠す */
    background-image: url("../images/index/access_bg.png"); /* 画像のパス */
    background-position: center;
    background-size: 100%;
    background-repeat: no-repeat; /* 背景画像を繰り返さない */
    z-index: 1; /* 他の要素より下に配置 */
  }

  .home .access-caption {
    font-size: 2.177vw;
    line-height: 1.8;
    color: var(--Color_GrayScale-Black);
    font-weight: var(--FontWeight-JP-Light);
    margin-bottom: 2.177vw;
  }

  .home .access-image.image1 {
    width: 20.544vw;
    height: 13.673vw;
    background-size: cover;
    background-position: center;
    top: 10.476vw;
    left: 0;
    background-image: url("../images/index/access_img01.jpg");
  }

  .home .access-image.image2 {
    width: 16.259vw;
    height: 15.782vw;
    background-size: cover;
    background-position: center;
    top: 46.442vw;
    left: 12.381vw;
    background-image: url("../images/index/access_img02.jpg");
  }

  .home .access-image.image3 {
    width: 17.483vw;
    height: 12.653vw;
    background-size: cover;
    background-position: center;
    top: 4.129vw;
    left: 45.633vw;
    background-image: url(../images/index/access_img03.jpg);
  }

  .home .access-image.image4 {
    width: 25.85vw;
    height: 15.782vw;
    background-size: cover;
    background-position: center;
    top: auto;
    bottom: 0;
    left: 51.633vw;
    background-image: url("../images/index/access_img04.jpg");
  }

  .home .access-image.image5 {
    width: 17.415vw;
    height: 26.122vw;
    background-size: cover;
    background-position: center;
    top: 0;
    left: auto;
    right: 0;
    background-image: url("../images/index/access_img05.jpg");
  }
}

@media (max-width: 1024px) {
  .home .access-area {
    height: 100vh;
    position: relative;
    display: flex; /* フレックスボックスで中央寄せ */
    flex-direction: column; /* 縦方向に並べる */
    justify-content: center; /* コンテンツを縦方向で中央に寄せる */
    align-items: center; /* 横方向で中央に寄せる */
    overflow: hidden; /* 親要素の範囲を超えた画像を隠す */
    background-image: url("../images/index/sp/access_bg.png"); /* 画像のパス */
    background-position: center; /* 左から110pxに配置 */
    background-size: 100%; /* 背景画像をエリアにフィットさせる */
    background-repeat: no-repeat; /* 背景画像を繰り返さない */
    z-index: 1; /* 他の要素より下に配置 */
    padding-top: 0;
  }

  .access-content {
    text-align: center; /* 中央寄せ */
  }

  .home .access-caption {
    font-size: 5.089vw;
    line-height: 1.8;
    color: var(--Color_GrayScale-Black);
    font-weight: var(--FontWeight-JP-Light);
    margin-bottom: 8.142vw;
  }

  .home .access-area .view-more {
    margin: 0 auto; /* 横方向中央寄せ */
  }

  .home .access-image {
    position: absolute;
    opacity: 0; /* 初期状態で非表示 */
  }

  .home .access-image.image1 {
    width: 32.168vw;
    height: 19.445vw;
    background-size: cover;
    background-position: center;
    top: 21.628vw;
    left: 0;
    background-image: url(../images/index/access_img01.jpg);
    transform: translateX(-200px);
  }

  .home .access-image.image2 {
    width: 20.356vw;
    height: 19.847vw;
    background-size: cover;
    background-position: center;
    top: 152.926vw;
    left: 8.906vw;
    background-image: url(../images/index/access_img02.jpg);
    transform: translateY(200px);
  }

  .home .access-image.image3 {
    width: 22.427vw;
    height: 14.794vw;
    background-size: cover;
    background-position: center;
    top: 31.168vw;
    left: 43.003vw;
    background-image: url(../images/index/access_img03.jpg);
    transform: translateX(200px);
  }

  .home .access-image.image4 {
    width: 48.346vw;
    height: 29.517vw;
    background-size: cover;
    background-position: center;
    top: auto;
    bottom: 0px;
    left: auto;
    right: 8.906vw;
    background-image: url(../images/index/access_img04.jpg);
    transform: translateY(-200px);
  }

  .home .access-image.image5 {
    width: 21.445vw;
    height: 34.168vw;
    background-size: cover;
    background-position: center;
    top: 30.351vw;
    left: auto;
    right: 0;
    background-image: url(../images/index/access_img05.jpg);
    transform: translateX(200px);
  }
}

.home .link-area {
  width: 986px;
  margin: 0 auto;
  padding: 160px 0;
  text-align: center;
}

.home .heading {
  font-size: 32px;
  font-weight: var(--FontWeight-JP-Light);
  line-height: 1.8;
  margin-bottom: 32px;
}

.home .sns-links {
  display: flex;
  justify-content: center;
  margin-bottom: 32px;
}

.home .sns-link {
  width: 80px;
  height: 80px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: block;
  text-indent: -9999px; /* テキストを非表示に */
}

.home .sns-link.note {
  background-image: url("../images/common/note_logo.svg");
}

.home .sns-link.x {
  background-image: url("../images/common/x_logo.svg");
}

.home .sns-link.facebook {
  background-image: url("../images/common/facebook_logo.svg");
}

.home .sns-link.instagram {
  background-image: url("../images/common/instagram_logo.svg");
}

.home .external-links {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.home .link-item {
  background: #fff;
  text-align: center;
}

.home .link-item a {
  text-decoration: none;
  font-size: 16px;
  color: var(--Color_GrayScale-Black);
  font-weight: var(--FontWeight-JP-Regular);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px;
}

.home .link-item .text-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.home .link-item .link-title {
  font-weight: 500;
  font-size: 10px;
  line-height: 1.5;
  color: var(--Color_GrayScale-Black);
  padding-left: 12px;
  position: relative; /* ::before の位置調整に必要 */
}

.home .link-item .link-title::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  background-color: var(--Color-Primary); /* 黒色 (変更可) */
  border-radius: 50%; /* 丸くする */
  position: absolute;
  left: 0; /* 左端に配置 */
  top: 50%;
  transform: translateY(-50%); /* 縦中央に揃える */
}

.home .link-item .link-name {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-feature-settings: "halt" on;
  color: var(--Color_GrayScale-Black);
}

.home .link-item .icon-blank {
  width: 48px;
  height: 48px;
  background: #ffffff;
  border: 1px solid #ced7e2;
  border-radius: 60px;
  padding: 16px;
  transition: background-color 0.5s ease;
}

.home .link-item a:hover .icon-blank {
  background: var(--Color-Primary);
}

.home .link-item .icon-blank svg {
  color: var(--Color-Primary);
  transition: color 0.3s ease;
}

.home .link-item a:hover .icon-blank svg {
  color: var(--Color_GrayScale-White);
}

@media (min-width: 1025px) {
  .home .link-area {
    width: 67.075vw;
    margin: 0 auto;
    padding: 10.884vw 0;
    text-align: center;
  }

  .home .heading {
    font-size: 2.177vw;
    font-weight: var(--FontWeight-JP-Light);
    line-height: 1.8;
    margin-bottom: 2.177vw;
  }

  .home .sns-links {
    display: flex;
    justify-content: center;
    margin-bottom: 2.177vw;
  }

  .home .sns-link {
    width: 5.442vw;
    height: 5.442vw;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: block;
    text-indent: -680.204vw; /* テキストを非表示に */
  }
}

@media (max-width: 1024px) {
  .home .link-area {
    padding: 0;
    text-align: center;
    width: 87.786vw;
    margin: 20.356vw auto;
  }

  .home .heading {
    font-size: 5.089vw;
    font-weight: var(--FontWeight-JP-Light);
    line-height: 1.8;
    margin-bottom: 2.036vw;
  }

  .home .sns-links {
    display: flex;
    justify-content: center;
    margin-bottom: 8.142vw;
  }

  .home .sns-link {
    width: 16.285vw;
    height: 16.285vw;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: block;
    text-indent: -2544.275vw; /* テキストを非表示に */
  }

  .home .sns-link.note {
    background-image: url("../images/common/note_logo.svg");
  }

  .home .sns-link.x {
    background-image: url("../images/common/x_logo.svg");
  }

  .home .sns-link.facebook {
    background-image: url("../images/common/facebook_logo.svg");
  }

  .home .sns-link.instagram {
    background-image: url("../images/common/instagram_logo.svg");
  }

  .home .external-links {
    display: flex;
    flex-direction: column;
    gap: 2.036vw;
  }

  .home .link-item {
    background: #fff;
    text-align: center;
  }

  .home .link-item a {
    text-decoration: none;
    font-size: 3.562vw;
    color: var(--Color_GrayScale-Black);
    font-weight: var(--FontWeight-JP-Regular);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4.071vw 6.107vw;
  }

  .home .link-item .text-block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .home .link-item .link-title {
    font-weight: 500;
    font-size: 2.545vw;
    line-height: 1.5;
    color: var(--Color_GrayScale-Black);
    padding-left: 3.053vw;
    position: relative; /* ::before の位置調整に必要 */
  }

  .home .link-item .link-title::before {
    content: "";
    display: inline-block;
    width: 1.018vw;
    height: 1.018vw;
    background-color: var(--Color-Primary); /* 黒色 (変更可) */
    border-radius: 50%; /* 丸くする */
    position: absolute;
    left: 0; /* 左端に配置 */
    top: 50%;
    transform: translateY(-50%); /* 縦中央に揃える */
  }

  .home .link-item .link-name {
    font-weight: 400;
    font-size: 3.562vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    font-feature-settings: "halt" on;
    color: var(--Color_GrayScale-Black);
  }

  .home .link-item .icon-blank {
    width: 10.178vw;
    height: 10.178vw;
    background: #ffffff;
    border: 1px solid #ced7e2;
    border-radius: 15.267vw;
    padding: 3.562vw;
    position: relative;
  }

  .home .link-item .icon-blank svg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 3.562vw;
    height: 3.562vw;
  }
}

/* 下層ページタイトルエリア */
.lower-page .page-title-area {
  width: 986px;
  margin: 0 auto 80px; /* 左右中央揃え */
}

/* 下層ページタイトル */
.lower-page .page-title {
  font-size: 40px;
  font-weight: var(--FontWeight-JP-Light);
  color: var(--Color-Primary);
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-bottom: 16px;
}

/* ページの説明文 */
.lower-page .page-description {
  font-size: 16px;
  font-weight: var(--FontWeight-JP-Regular);
  color: var(--Color_GrayScale-Black);
  line-height: 1.8;
  letter-spacing: 0.05em;
}

/* 下層ページH2 */
.lower-page section h2 {
  font-family: var(--Font-JP);
  font-weight: var(--FontWeight-JP-Light);
  font-size: 32px;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.1em;
  color: var(--Color-Primary);
  margin-bottom: 64px;
}

@media (min-width: 1025px) {
  /* 下層ページタイトルエリア */
  .lower-page .page-title-area {
    width: 67.075vw;
    margin: 0 auto 80px; /* 左右中央揃え */
  }

  /* 下層ページタイトル */
  .lower-page .page-title {
    font-size: 2.721vw;
    font-weight: var(--FontWeight-JP-Light);
    color: var(--Color-Primary);
    line-height: 1.5;
    letter-spacing: 0.1em;
    margin-bottom: 1.088vw;
  }

  /* ページの説明文 */
  .lower-page .page-description {
    font-size: 1.088vw;
    font-weight: var(--FontWeight-JP-Regular);
    color: var(--Color_GrayScale-Black);
    line-height: 1.8;
    letter-spacing: 0.05em;
  }

  .lower-page .page-description h2 {
    margin: 0;
    flex-shrink: 0;
  }

  /* ページコンテナ */
  .lower-page .page-container {
    margin-bottom: 10.884vw;
  }

  .lower-page .page-container .activity-list {
    width: 77.959vw;
    margin: 0 auto 10.884vw;
  }

  /* 下層ページH2 */
  .lower-page section h2 {
    font-family: var(--Font-JP);
    font-weight: var(--FontWeight-JP-Light);
    font-size: 2.177vw;
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0.1em;
    color: var(--Color-Primary);
    margin-bottom: 4.354vw;
  }
}

@media (max-width: 1024px) {
  /* 下層ページタイトルエリア */
  .lower-page .page-title-area {
    width: 87.786vw;
    margin: 0 auto 8.142vw;
  }

  /* 下層ページタイトル */
  .lower-page .page-title {
    font-size: 10.178vw;
    font-weight: var(--FontWeight-JP-Light);
    color: var(--Color-Primary);
    line-height: 1.5;
    letter-spacing: 0.1em;
    margin-bottom: 4.071vw;
  }

  /* ページの説明文 */
  .lower-page .page-description {
    font-size: 3.562vw;
    font-weight: var(--FontWeight-JP-Regular);
    color: var(--Color_GrayScale-Black);
    line-height: 1.8;
    letter-spacing: 0.05em;
    font-feature-settings: "halt" on;
    width: 87.786vw;
    margin: 0 auto;
  }

  /* ページコンテナ */
  .lower-page .page-container {
    width: 100%;
    margin: 0 auto;
    margin-bottom: 20.356vw;
  }

  /* 下層ページH2 */
  .lower-page section h2 {
    font-family: var(--Font-JP);
    font-weight: var(--FontWeight-JP-Light);
    font-size: 7.125vw;
    line-height: 1.5;
    text-align: left;
    letter-spacing: 0.05em;
    color: var(--Color-Primary);
    margin-bottom: 8.142vw;
  }
}

/* ショップ情報コンテナ */
.lower-page .shop-info {
  display: none; /* 初期状態で非表示 */
  grid-template-columns: repeat(3, 1fr); /* 3カラム */
  gap: 64px; /* アイテム間隔 */
  padding-bottom: 64px; /* 下の余白 */
  position: relative;
}

/* 最初の3つのアイテムを表示 */
.lower-page .shop-info:nth-child(-n + 3) {
  display: grid; /* 最初の3つは表示 */
}

/* 各ショップ情報 */
.lower-page .shop-item {
  flex: 1;
  position: relative;
}

.lower-page .shop-item a {
  text-decoration: none;
  color: var(--Color_GrayScale-Black);
}

.lower-page .shop-item.hidden {
  display: none;
}

/* 横線 (セクション間) */
.lower-page .shop-info:not(:last-of-type)::after {
  content: "";
  position: absolute;
  bottom: 32px;
  width: 100%;
  height: 1px;
  background-color: var(--Color-Border);
}

/* 縦線 (アイテム間) */
.lower-page .shop-item:not(:nth-child(3n))::after {
  content: "";
  position: absolute;
  top: 0;
  right: -32px;
  width: 1px;
  height: 100%;
  background-color: var(--Color-Border);
}

/* ショップ名 */
.lower-page .shop-item .shop-name {
  font-size: 16px;
  font-weight: var(--FontWeight-JP-Regular);
  color: var(--Color_GrayScale-Black);
  line-height: 1.8;
  margin-bottom: 16px;
}

/* 住所・電話番号・リンクの共通スタイル */
.lower-page .shop-item .shop-address,
.lower-page .shop-item .shop-phone {
  font-size: 14px;
  line-height: 1.8;
  padding: 4px 0;
  border-bottom: 1px dashed var(--Color-Border);
  display: flex;
  align-items: center;
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 36px;
  background-size: 24px;
}

/* 住所アイコン */
.lower-page .shop-item .shop-address {
  background-image: url("../images/common/icon_adress.svg");
}

/* 電話番号アイコン */
.lower-page .shop-item .shop-phone {
  background-image: url("../images/common/icon_phone.svg");
}

/* サイトリンクアイコン */
.lower-page .shop-item .shop-link {
  background-image: url("../images/common/icon_url.svg");
}

/* 温泉リンクアイコン */
.lower-page .shop-item .shop-onsen {
  background-image: url("../images/common/icon_onsen.svg");
}

/* サイトリンク */
.lower-page .shop-item .shop-link {
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 4px;
  text-decoration: underline;
  color: var(--Color-Primary);
  display: inline-block;
  padding-left: 36px;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 24px;
}

@media (min-width: 1025px) {
  /* 泊まるページタブ */
  .lower-page .shop-filter {
    margin-bottom: 2.177vw;
  }

  .lower-page .shop-filter .shop-filter-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 2.177vw;
    background: #ffffff;
  }

  .lower-page .shop-filter .shop-filter-inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1.088vw;
  }

  .lower-page .shop-filter .filter-link {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0.816vw 1.088vw;
    gap: 0.544vw;
    background: #f2f2f2;
    border-radius: 2.721vw;
    font-weight: 400;
    font-size: 0.852vw;
    line-height: 1.5;
    color: #4d4d4d;
    text-decoration: none;
    width: fit-content;
    transition: background-color 0.5s ease, color 0.5s ease;
  }

  /* hover時のスタイル */
  .lower-page .shop-filter .filter-link:hover {
    background-color: var(--Color-Primary);
    color: var(--Color_GrayScale-White);
  }

  .lower-page .shop-filter .filter-link.active {
    background: var(--Color-Primary);
    color: var(--Color_GrayScale-White);
  }

  .shop-filter-container .title {
    position: relative;
    padding-right: 2.177vw;
    margin-right: 2.177vw;
    font-size: 1.088vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
  }

  /* 縦線のスタイル */
  .shop-filter-container .title::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 0.1vw; /* 縦線の太さ */
    height: 100%;
    background-color: var(--Color-Border);
  }

  /* ショップ情報コンテナ */
  .lower-page .shop-info {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4.354vw; /* アイテム間隔（線の分を考慮） */
    padding-bottom: 4.354vw; /* 下の余白 */
    position: relative;
    display: none;
  }

  /* 横線 (セクション間) */
  .lower-page .shop-info:not(:last-of-type)::after {
    content: "";
    position: absolute;
    bottom: 2.177vw;
    width: 100%;
    height: 0.068vw;
    background-color: var(--Color-Border);
  }

  /* 縦線 (アイテム間) */
  .lower-page .shop-item:not(:nth-child(3n))::after {
    content: "";
    position: absolute;
    top: 0;
    right: -2.177vw;
    width: 0.068vw;
    height: 100%;
    background-color: var(--Color-Border);
  }

  /* サムネイル画像 */
  .lower-page .shop-item .shop-thumbnail {
    display: block;
    background-color: #fff; /* 背景白 */
    width: 100%; /* 親要素に対して最大幅 */
    height: 15.374vw;
    object-fit: cover; /* 画像をトリミングしつつフィット */
    margin-bottom: 1.088vw;
    overflow: hidden;
  }

  .lower-page .shop-item .shop-thumbnail img {
    object-fit: cover;
    object-position: center;
    transition: transform 0.5s ease;
    width: 100%;
    height: 100%;
  }

  .lower-page .shop-item a .shop-thumbnail img {
    object-fit: cover;
    object-position: center;
    transition: transform 0.5s ease; /* アニメーションの追加 */
    width: 100%;
    height: 100%;
  }

  .lower-page .shop-item a:hover .shop-thumbnail img {
    transform: scale(1.05);
  }

  /* ショップ名 */
  .lower-page .shop-item .shop-name {
    font-size: 1.088vw;
    font-weight: var(--FontWeight-JP-Regular);
    color: var(--Color_GrayScale-Black);
    line-height: 1.8;
    margin-bottom: 1.088vw;
  }

  /* 住所・電話番号・リンクの共通スタイル */
  .lower-page .shop-item .shop-address,
  .lower-page .shop-item .shop-phone,
  .lower-page .shop-item .shop-onsen {
    font-size: 0.952vw;
    line-height: 1.8;
    padding: 0.272vw 0;
    border-bottom: 1px dashed var(--Color-Border);
    display: flex;
    align-items: center;
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 2.449vw;
    background-size: 1.633vw;
  }

  /* サイトリンク */
  .lower-page .shop-item .shop-link {
    font-size: 0.952vw;
    line-height: 1.8;
    margin-bottom: 0.272vw;
    text-decoration: underline;
    color: var(--Color-Primary);
    display: inline-block;
    padding-left: 2.449vw;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 1.633vw;
    word-break: break-all; /* 単語の途中でも改行 */
  }
}

@media (max-width: 1024px) {
  /* 泊まるページタブ */
  .lower-page .shop-filter {
    width: 87.786vw;
    margin: 0 auto 8.142vw;
  }

  .lower-page .shop-filter .shop-filter-container {
    display: flex;
    flex-direction: column;
    align-items: self-start;
    padding: 6.107vw;
    gap: 4.071vw;
    background: #ffffff;
  }

  .lower-page .shop-filter .shop-filter-inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4.071vw;
    flex-wrap: wrap;
  }

  .lower-page .shop-filter .filter-link {
    display: flex;
    flex-direction: row;
    align-items: center;
    font-weight: 400;
    font-size: 3.562vw;
    line-height: 1.5;
    color: #4d4d4d;
    text-decoration: none;
    width: fit-content;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 3.053vw 4.071vw;
    gap: 2.036vw;
    background: #f2f2f2;
    border-radius: 10.178vw;
  }

  .lower-page .shop-filter .filter-link.active {
    background: var(--Color-Primary);
    color: var(--Color_GrayScale-White);
  }

  .shop-filter-container .title {
    position: relative;
    padding-right: 2.177vw;
    margin-right: 2.177vw;
    font-size: 4.071vw;
  }

  /* 縦線のスタイル */
  .shop-filter-container .title::after {
    display: none;
  }

  /* ショップ情報コンテナ */
  .lower-page .shop-info {
    display: none;
    flex-direction: column;
    gap: 8.142vw;
    padding-bottom: 8.142vw;
    position: relative;
    width: 87.786vw;
    margin: 0 auto 8.142vw;
  }

  /* 最初の3つのアイテムを表示 */
  .lower-page .shop-info:nth-child(-n + 3) {
    display: flex !important;
  }

  /* 各ショップ情報 */
  .lower-page .shop-item {
    flex: 1;
    position: relative;
  }

  .lower-page .shop-item.hidden {
    display: none;
  }

  /* 横線 (セクション間) */
  .lower-page .shop-info:not(:last-of-type)::after {
    display: none;
  }

  /* 縦線 (アイテム間) */
  .lower-page .shop-item:not(:nth-child(3n))::after {
    display: none;
  }

  /* サムネイル画像 */
  .lower-page .shop-item .shop-thumbnail {
    display: block;
    background-color: #fff; /* 背景白 */
    width: 100%; /* 親要素に対して最大幅 */
    height: 57.506vw;
    object-fit: cover; /* 画像をトリミングしつつフィット */
    margin-bottom: 4.071vw;
  }

  .lower-page .shop-item .shop-thumbnail img {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
  }

  /* ショップ名 */
  .lower-page .shop-item .shop-name {
    font-size: 4.071vw;
    font-weight: var(--FontWeight-JP-Regular);
    color: var(--Color_GrayScale-Black);
    line-height: 1.8;
    margin-bottom: 4.071vw;
  }

  /* 住所・電話番号・リンクの共通スタイル */
  .lower-page .shop-item .shop-address,
  .lower-page .shop-item .shop-phone,
  .lower-page .shop-item .shop-onsen {
    font-size: 3.562vw;
    line-height: 1.8;
    padding: 1.018vw 0;
    border-bottom: 1px dashed var(--Color-Border);
    display: flex;
    align-items: center;
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 9.16vw;
    background-size: 6.107vw;
  }

  /* 住所アイコン */
  .lower-page .shop-item .shop-address {
    background-image: url("../images/common/icon_adress.svg");
  }

  /* 電話番号アイコン */
  .lower-page .shop-item .shop-phone {
    background-image: url("../images/common/icon_phone.svg");
  }

  /* サイトリンクアイコン */
  .lower-page .shop-item .shop-link {
    background-image: url("../images/common/icon_url.svg");
  }

  /* 温泉リンクアイコン */
  .lower-page .shop-item .shop-onsen {
    background-image: url("../images/common/icon_onsen.svg");
  }

  /* サイトリンク */
  .lower-page .shop-item .shop-link {
    font-size: 3.562vw;
    line-height: 1.8;
    margin-bottom: 1.018vw;
    text-decoration: underline;
    color: var(--Color-Primary);
    display: inline-block;
    padding: 1.018vw 0;
    padding-left: 9.16vw;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 6.107vw;
    word-break: break-all;
  }
}

@media (min-width: 1025px) {
  /* もっと見るボタン */
  .load-more-btn {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 1.088vw 2.177vw;
    width: 9.32vw;
    height: 2.857vw;
    font-size: 0.952vw;
    line-height: 1.5;
    font-weight: var(--FontWeight-JP-Regular);
    border: 1px solid var(--Color-Primary);
    border-radius: 3.401vw;
    color: var(--Color-Primary);
    background-color: transparent;
    cursor: pointer;
    margin: 0 auto;
    transition: background-color 0.5s ease, color 0.5s ease;
  }

  /* hover時のスタイル */
  .load-more-btn:hover {
    background-color: var(--Color-Primary);
    color: var(--Color_GrayScale-White);
  }
}

.load-more-btn:disabled {
  background-color: #ccc;
  cursor: not-allowed;
}

@media (max-width: 1024px) {
  /* もっと見るボタン */
  .load-more-btn {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 1.088vw 2.177vw;
    width: 35.623vw;
    height: 10.687vw;
    font-size: 3.562vw;
    line-height: 1.5;
    font-weight: var(--FontWeight-JP-Regular);
    border: 1px solid var(--Color-Primary);
    border-radius: 10.178vw;
    color: var(--Color-Primary);
    background-color: transparent;
    margin: 0 auto;
  }
}

.load-more-btn:disabled {
  background-color: #ccc;
  cursor: not-allowed;
}

/* 画面サイズが小さい場合のレスポンシブ対応 */
@media (max-width: 768px) {
  .shop-info {
    grid-template-columns: 1fr 1fr; /* 2カラム */
  }
}

@media (max-width: 480px) {
  .shop-info {
    grid-template-columns: 1fr; /* 1カラム */
  }
}

/* インフォメーション */
/* .filter-section */
.lower-page .filter-section {
  background-color: var(--Color_GrayScale-White);
  padding: 32px 64px;
  margin-bottom: 80px;
}

/* .filter-section h3 */
.lower-page .filter-section h3 {
  font-size: 22px;
  font-weight: var(--FontWeight-JP-Light);
  line-height: 1.5;
  margin-bottom: 32px;
  position: relative;
  padding-left: 30px; /* アイコンとテキストの間隔調整 */
}

.lower-page .filter-section h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 26px; /* アイコンのサイズ調整 */
  height: 26px;
  background-image: url("../images/search/icon_search.svg"); /* アイコン画像のパス */
  background-size: contain;
  background-repeat: no-repeat;
}

.lower-page .category-filter,
.lower-page .tag-filter {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 32px;
}

.lower-page .category-filter h4,
.lower-page .tag-filter h4 {
  width: 90px;
  font-size: 16px;
  font-weight: var(--FontWeight-EN-Medium);
  line-height: 1.8;
  color: var(--Color_GrayScale-Black);
}

/* .category-filter */
.lower-page .category-filter {
  margin-bottom: 32px;
}

.lower-page .category-filter-form #category-filter-form {
  display: flex;
  flex-direction: row;
  gap: 8px;
  flex-wrap: wrap; /* 必要に応じて折り返し */
}

.lower-page .category-filter-form #category-filter-form label {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 8px 12px;
  gap: 8px;
  font-size: 14px;
  background: var(--Color_GrayScale-White);
  border: 1px solid var(--Color_GrayScale-Gray70);
  border-radius: 4px;
  cursor: pointer;
}

/* 選択されたラジオボタンの label の border 色を変更 */
.lower-page
  .category-filter-form
  #category-filter-form
  label:has(input[type="radio"]:checked) {
  border-color: var(--Color-Primary);
}

/* カスタムラジオボタン */
.lower-page .category-filter-form #category-filter-form input[type="radio"] {
  appearance: none;
  width: 16px;
  height: 16px;
  border: 1px solid var(--Color_GrayScale-Gray70);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.lower-page
  .category-filter-form
  #category-filter-form
  input[type="radio"]:checked::before {
  content: "";
  width: 6px;
  height: 6px;
  background: var(--Color-Primary);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* 選択されたラジオボタンの border 色を変更 */
.lower-page
  .category-filter-form
  #category-filter-form
  input[type="radio"]:checked {
  border-color: var(--Color-Primary);
}

/* .tag-filter */
.lower-page .tag-filter {
  margin-bottom: 64px;
}

.lower-page .tag-filter-buttons {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  align-content: flex-start;
  padding: 0;
  gap: 16px;
}

.lower-page .tag-filter-button {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 12px 16px;
  border-radius: 40px;
  border: none;
  background: var(--Color_GrayScale-Gray95);
  cursor: pointer;
  font-size: 14px;
  font-weight: var(--FontWeight-JP-Regular);
  line-height: 1.5;
  letter-spacing: 0.05em;
}

/* 選択されたタグのスタイル */
.lower-page .tag-filter-button.selected {
  background: var(--Color-Primary);
  color: var(--Color_GrayScale-White);
}

.lower-page .filter-buttons {
  display: flex;
  justify-content: space-between;
  gap: 64px;
  width: 319px;
  margin: 0 auto; /* 中央揃え */
}

/* #reset-filter */
.lower-page .filter-buttons #reset-filter {
  font-family: var(--Font-JP);
  font-size: 14px;
  font-weight: var(--FontWeight-JP-Regular);
  color: var(--Color-Primary);
  background: none;
  border: none;
  cursor: pointer;
}

/* #apply-filter */
.lower-page .filter-buttons #apply-filter {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 16px 32px;
  width: 196px;
  height: 42px;
  background: var(--Color-Primary);
  border-radius: 4px;
  color: white; /* ボタンの文字色 */
  cursor: pointer;
  font-family: var(--Font-JP);
  font-size: 14px;
  font-weight: var(--FontWeight-JP-Regular);
}

/* 絞り込み結果のカテゴリ・タグ表示 */
.lower-page .filtered-category-tags {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 0px;
  gap: 32px;
  margin-bottom: 32px;
}

.lower-page .filtered-category,
.lower-page .filtered-tags {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0px;
  gap: 32px;
}

.lower-page .filtered-category-tags .filtered-title {
  position: relative;
  font-family: var(--Font-EN);
  font-size: 12px;
  font-weight: var(--FontWeight-EN-Medium);
  line-height: 1.8;
  letter-spacing: 0.05em;
}

.lower-page .filtered-category-tags .filtered-title:after {
  content: "";
  position: absolute;
  width: 12px;
  height: 0px;
  border: 1px solid var(--Color-Border);
  transform: rotate(90deg);
  top: 50%; /* 中央に縦揃え */
  right: -23px;
  transform: translateY(-50%) rotate(90deg); /* Y軸で中央揃え、そして回転 */
}

.lower-page .filtered-category-tags .filtered-result {
  position: relative;
  font-family: var(--Font-JP);
  font-size: 12px;
  font-weight: var(--FontWeight-JP-Regular);
  line-height: 1.8;
  letter-spacing: 0.1em;
}

@media (min-width: 1025px) {
  /* .filter-section */
  .lower-page .filter-section {
    background-color: var(--Color_GrayScale-White);
    padding: 2.177vw 4.354vw;
    margin-bottom: 5.442vw;
  }

  /* .filter-section h3 */
  .lower-page .filter-section h3 {
    font-size: 1.497vw;
    font-weight: var(--FontWeight-JP-Light);
    line-height: 1.5;
    margin-bottom: 2.177vw;
    position: relative;
    padding-left: 2.041vw; /* アイコンとテキストの間隔調整 */
  }

  .lower-page .filter-section h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1.769vw; /* アイコンのサイズ調整 */
    height: 1.769vw;
    background-image: url("../images/search/icon_search.svg"); /* アイコン画像のパス */
    background-size: contain;
    background-repeat: no-repeat;
  }

  .lower-page .category-filter,
  .lower-page .tag-filter {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 2.177vw;
  }

  .lower-page .category-filter h4,
  .lower-page .tag-filter h4 {
    width: 6.122vw;
    font-size: 1.088vw;
    font-weight: var(--FontWeight-EN-Medium);
    line-height: 1.8;
    color: var(--Color_GrayScale-Black);
  }

  /* .category-filter */
  .lower-page .category-filter {
    margin-bottom: 2.177vw;
  }

  .lower-page .category-filter-form #category-filter-form {
    display: flex;
    flex-direction: row;
    gap: 0.544vw;
    flex-wrap: wrap; /* 必要に応じて折り返し */
  }

  .lower-page .category-filter-form #category-filter-form label {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0.544vw 0.816vw;
    gap: 0.544vw;
    font-size: 0.952vw;
    background: var(--Color_GrayScale-White);
    border: 1px solid var(--Color_GrayScale-Gray70);
    border-radius: 0.272vw;
    cursor: pointer;
  }

  /* カスタムラジオボタン */
  .lower-page .category-filter-form #category-filter-form input[type="radio"] {
    appearance: none;
    width: 1.088vw;
    height: 1.088vw;
    border: 1px solid var(--Color_GrayScale-Gray70);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
  }

  .lower-page
    .category-filter-form
    #category-filter-form
    input[type="radio"]:checked::before {
    content: "";
    width: 0.408vw;
    height: 0.408vw;
    background: var(--Color-Primary);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  /* .tag-filter */
  .lower-page .tag-filter {
    margin-bottom: 4.354vw;
  }

  .lower-page .tag-filter-buttons {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    align-content: flex-start;
    padding: 0;
    gap: 1.088vw;
  }

  .lower-page .tag-filter-button {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0.816vw 1.088vw;
    border-radius: 2.721vw;
    border: none;
    background: var(--Color_GrayScale-Gray95);
    cursor: pointer;
    font-size: 0.952vw;
    font-weight: var(--FontWeight-JP-Regular);
    line-height: 1.5;
    letter-spacing: 0.05em;
    transition: background-color 0.5s ease, color 0.5s ease;
  }

  /* hover時のスタイル */
  .lower-page .tag-filter-button:hover {
    background-color: var(--Color-Primary);
    color: var(--Color_GrayScale-White);
  }

  .lower-page .filter-buttons {
    display: flex;
    justify-content: space-between;
    gap: 4.354vw;
    width: 21.701vw;
    margin: 0 auto; /* 中央揃え */
  }

  /* #reset-filter */
  .lower-page .filter-buttons #reset-filter {
    font-family: var(--Font-JP);
    font-size: 0.952vw;
    font-weight: var(--FontWeight-JP-Regular);
    color: var(--Color-Primary);
    background: none;
    border: none;
    cursor: pointer;
  }

  /* #apply-filter */
  .lower-page .filter-buttons #apply-filter {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 1.088vw 2.177vw;
    width: 13.333vw;
    height: 2.857vw;
    background: var(--Color-Primary);
    border-radius: 0.272vw;
    color: white;
    cursor: pointer;
    font-family: var(--Font-JP);
    font-size: 0.952vw;
    font-weight: var(--FontWeight-JP-Regular);
    border: none; /* 明示的に枠を消す */
    outline: none; /* フォーカス時の枠を消す */
    transition: background-color 0.5s ease;
  }

  /* hover時のスタイル */
  .lower-page .filter-buttons #apply-filter:hover {
    background: var(--Color-Hover);
  }

  /* 絞り込み結果のカテゴリ・タグ表示 */
  .lower-page .filtered-category-tags {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 0px;
    gap: 2.177vw;
    margin-bottom: 2.177vw;
  }

  .lower-page .filtered-category,
  .lower-page .filtered-tags {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0px;
    gap: 2.177vw;
  }

  .lower-page .filtered-category-tags .filtered-title {
    position: relative;
    font-family: var(--Font-EN);
    font-size: 0.816vw;
    font-weight: var(--FontWeight-EN-Medium);
    line-height: 1.8;
    letter-spacing: 0.05em;
  }

  .lower-page .filtered-category-tags .filtered-title:after {
    content: "";
    position: absolute;
    width: 0.816vw;
    height: 0px;
    border: 1px solid var(--Color-Border);
    transform: rotate(90deg);
    top: 50%; /* 中央に縦揃え */
    right: -1.565vw;
    transform: translateY(-50%) rotate(90deg); /* Y軸で中央揃え、そして回転 */
  }

  .lower-page .filtered-category-tags .filtered-result {
    position: relative;
    font-family: var(--Font-JP);
    font-size: 0.816vw;
    font-weight: var(--FontWeight-JP-Regular);
    line-height: 1.8;
    letter-spacing: 0.1em;
    display: flex;
    gap: 1.088vw;
  }
}

@media (max-width: 1024px) {
  /* インフォメーション */
  /* .filter-section */
  .lower-page .filter-section {
    background-color: var(--Color_GrayScale-White);
    padding: 6.107vw;
    width: 87.786vw;
    margin: 0 auto 8.142vw;
  }

  /* .filter-section h3 */
  .lower-page .filter-section h3 {
    font-size: 4.58vw;
    font-weight: var(--FontWeight-JP-Light);
    line-height: 1.5;
    margin-bottom: 8.142vw;
    position: relative;
    padding-left: 7.634vw;
  }

  .lower-page .filter-section h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 6.616vw; /* アイコンのサイズ調整 */
    height: 6.616vw;
    background-image: url("../images/search/icon_search.svg"); /* アイコン画像のパス */
    background-size: contain;
    background-repeat: no-repeat;
  }

  .lower-page .category-filter-form {
    width: 100%;
  }

  .lower-page .category-filter,
  .lower-page .tag-filter {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 4.071vw;
  }

  .lower-page .category-filter h4,
  .lower-page .tag-filter h4 {
    width: 22.901vw;
    font-size: 4.071vw;
    font-weight: var(--FontWeight-EN-Medium);
    line-height: 1.8;
    color: var(--Color_GrayScale-Black);
  }

  /* .category-filter */
  .lower-page .category-filter {
    margin-bottom: 8.142vw;
  }

  .lower-page .category-filter-form #category-filter-form {
    display: flex;
    flex-direction: column; /* 縦並びに変更 */
    gap: 2.036vw;
  }

  .lower-page .category-filter-form #category-filter-form label {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 2.036vw 3.053vw;
    gap: 2.036vw;
    font-size: 3.562vw;
    background: var(--Color_GrayScale-White);
    border: 1px solid var(--Color_GrayScale-Gray70);
    border-radius: 1.018vw;
    cursor: pointer;
    width: 100%; /* 幅を100%に */
  }

  /* 選択されたラジオボタンの label の border 色を変更 */
  .lower-page
    .category-filter-form
    #category-filter-form
    label:has(input[type="radio"]:checked) {
    border-color: var(--Color-Primary);
  }

  /* カスタムラジオボタン */
  .lower-page .category-filter-form #category-filter-form input[type="radio"] {
    appearance: none;
    width: 4.071vw;
    height: 4.071vw;
    border: 1px solid var(--Color_GrayScale-Gray70);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
  }

  .lower-page
    .category-filter-form
    #category-filter-form
    input[type="radio"]:checked::before {
    content: "";
    width: 1.527vw;
    height: 1.527vw;
    background: var(--Color-Primary);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  /* 選択されたラジオボタンの border 色を変更 */
  .lower-page
    .category-filter-form
    #category-filter-form
    input[type="radio"]:checked {
    border-color: var(--Color-Primary);
  }

  /* .tag-filter */
  .lower-page .tag-filter {
    margin-bottom: 8.142vw;
  }

  .lower-page .tag-filter-buttons {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    align-content: flex-start;
    padding: 0;
    gap: 4.071vw;
  }

  .lower-page .tag-filter-button {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 2.036vw 4.071vw;
    border-radius: 10.178vw;
    border: none;
    background: var(--Color_GrayScale-Gray95);
    cursor: pointer;
    font-size: 3.562vw;
    font-weight: var(--FontWeight-JP-Regular);
    line-height: 1.5;
    letter-spacing: 0.05em;
  }

  /* 選択されたタグのスタイル */
  .lower-page .tag-filter-button.selected {
    background: var(--Color-Primary);
    color: var(--Color_GrayScale-White);
  }

  .lower-page .filter-buttons {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: 4.071vw;
    width: 100%;
    margin: 0 auto;
  }

  /* #reset-filter */
  .lower-page .filter-buttons #reset-filter {
    font-family: var(--Font-JP);
    font-size: 3.562vw;
    font-weight: var(--FontWeight-JP-Regular);
    color: var(--Color-Primary);
    background: none;
    border: none;
    cursor: pointer;
    order: 2;
  }

  /* #apply-filter */
  .lower-page .filter-buttons #apply-filter {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 4.071vw 8.142vw;
    width: 100%;
    height: 10.687vw;
    background: var(--Color-Primary);
    border-radius: 1.018vw;
    color: white;
    cursor: pointer;
    font-family: var(--Font-JP);
    font-size: 3.562vw;
    font-weight: var(--FontWeight-JP-Regular);
    order: 1;
  }

  /* 絞り込み結果のカテゴリ・タグ表示 */
  .lower-page .filtered-category-tags {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px;
    gap: 2.036vw;
    width: 87.786vw;
    margin: 0 auto 8.142vw;
  }

  .lower-page .filtered-category,
  .lower-page .filtered-tags {
    display: flex;
    flex-direction: row;
    align-items: self-start;
    padding: 0px;
    gap: 8.142vw;
  }

  .lower-page .filtered-category-tags .filtered-title {
    display: flex;
    flex-direction: row;
    align-items: self-start;
    padding: 0px;
    gap: 8.142vw;
    width: 15.267vw;
    position: relative;
    font-family: var(--Font-EN);
    font-size: 3.053vw;
    font-weight: var(--FontWeight-EN-Medium);
    line-height: 1.8;
    letter-spacing: 0.05em;
  }

  .lower-page .filtered-category-tags .filtered-title:after {
    content: "";
    position: absolute;
    width: 3.053vw;
    height: 0px;
    border: 1px solid var(--Color-Border);
    transform: rotate(90deg);
    top: 50%; /* 中央に縦揃え */
    right: -5.852vw;
    transform: translateY(-50%) rotate(90deg); /* Y軸で中央揃え、そして回転 */
  }

  .lower-page .filtered-category-tags .filtered-result {
    position: relative;
    font-family: var(--Font-JP);
    font-size: 3.053vw;
    font-weight: var(--FontWeight-JP-Regular);
    line-height: 1.8;
    letter-spacing: 0.1em;
  }
}

.lower-page .post-list {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  justify-content: space-between;
}

.lower-page .post-list .post-item {
  width: calc((100% - 64px) / 3); /* 3カラムの均等幅（gap 32px x 2 を引く） */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* アイテムが2つ未満の場合に空のボックスを挿入 */
.lower-page .post-list::after {
  content: "";
  display: block;
  width: calc((100% - 64px) / 3); /* 3カラムの幅と同じ */
  height: 100%;
  visibility: hidden; /* 目に見えないように設定 */
}

/* アイテム数が2つ未満の場合、追加ボックスを挿入して左寄せを保つ */
.lower-page .post-list .post-item:nth-child(2)::after,
.lower-page .post-list .post-item:nth-child(3)::after {
  content: "";
  display: block;
  width: calc((100% - 64px) / 3); /* 3カラムの幅と同じ */
  height: 100%;
  visibility: hidden; /* 目に見えないように設定 */
}

.lower-page .post-list .post-item.hidden {
  display: none;
}

.lower-page .post-list .post-item a.post-link {
  display: block;
  width: 100%;
  text-decoration: none;
  color: var(--wp--preset--color--black);
}

.lower-page .post-list .post-item .post-thumbnail {
  width: 100%;
  height: 189px;
  margin-bottom: 16px;
  background-color: var(--Color_GrayScale-White);
}

.lower-page .post-list .post-item .post-meta {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.lower-page .post-list .post-item .post-meta .post-category {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 4px 12px;
  border: 1px solid var(--Color-Primary);
  border-radius: 30px;
  font-weight: var(--FontWeight-EN-Medium);
  font-size: 12px;
  line-height: 1.5;
  color: var(--Color-Primary);
  letter-spacing: 0.05em;
}

.lower-page .post-list .post-item .post-meta .post-date {
  font-weight: var(--FontWeight-EN-Light);
  font-size: 12px;
  line-height: 1.5;
  color: var(--Color_GrayScale-Gray30);
  letter-spacing: 0.05em;
}

.lower-page .post-list .post-item .post-title {
  font-weight: var(--FontWeight-JP-Regular);
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-Black);
  margin-bottom: 16px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}

.lower-page .post-list .post-item .post-tags {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  flex-wrap: wrap; /* ★ 追加：要素が1行に収まらない場合に改行 */
  padding: 0px;
  gap: 8px;
}

.lower-page .post-list .post-item .post-tags span {
  font-weight: var(--FontWeight-EN-Medium);
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--Color-Primary);
  white-space: nowrap; /* 1つのタグ内で改行させたくない場合 */
}

@media (min-width: 1025px) {
  .lower-page .page-container .magazine-area {
    width: 77.959vw;
    margin: 0 auto 10.884vw;
  }

  .lower-page .page-container .magazine-area h2 {
    text-align: center;
  }

  .lower-page .post-list {
    display: flex;
    flex-wrap: wrap;
    gap: 2.177vw;
    justify-content: space-between;
  }

  .lower-page .post-list .post-item {
    width: calc(
      (100% - 4.354vw) / 3
    ); /* 3カラムの均等幅（gap 32px x 2 を引く） */
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  /* アイテムが2つ未満の場合に空のボックスを挿入 */
  .lower-page .post-list::after {
    content: "";
    display: block;
    width: calc((100% - 4.354vw) / 3); /* 3カラムの幅と同じ */
    height: 100%;
    visibility: hidden; /* 目に見えないように設定 */
  }

  /* アイテム数が2つ未満の場合、追加ボックスを挿入して左寄せを保つ */
  .lower-page .post-list .post-item:nth-child(2)::after,
  .lower-page .post-list .post-item:nth-child(3)::after {
    content: "";
    display: block;
    width: calc((100% - 4.354vw) / 3); /* 3カラムの幅と同じ */
    height: 100%;
    visibility: hidden; /* 目に見えないように設定 */
  }

  .lower-page .post-list .post-item a.post-link {
    display: block;
    width: 100%;
    text-decoration: none;
    color: var(--wp--preset--color--black);
  }

  .lower-page .post-list .post-item .post-thumbnail {
    width: 100%;
    height: 15.374vw;
    margin-bottom: 1.088vw;
    background-color: var(--Color_GrayScale-White);
    overflow: hidden;
  }

  .lower-page .post-list .post-item a .post-thumbnail img {
    object-fit: cover;
    object-position: center;
    transition: transform 0.5s ease; /* アニメーションの追加 */
    width: 100%;
    height: 100%;
  }

  .lower-page .post-list .post-item a:hover .post-thumbnail img {
    transform: scale(1.05);
  }

  .lower-page .post-list .post-item .post-meta {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.544vw;
  }

  .lower-page .post-list .post-item .post-meta .post-category {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 0.272vw 0.816vw;
    border: 1px solid var(--Color-Primary);
    border-radius: 2.041vw;
    font-weight: var(--FontWeight-EN-Medium);
    font-size: 0.816vw;
    line-height: 1.5;
    color: var(--Color-Primary);
    letter-spacing: 0.05em;
  }

  .lower-page .post-list .post-item .post-meta .post-date {
    font-weight: var(--FontWeight-EN-Light);
    font-size: 0.816vw;
    line-height: 1.5;
    color: var(--Color_GrayScale-Gray30);
    letter-spacing: 0.05em;
  }

  .lower-page .post-list .post-item .post-title {
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 1.088vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 1.088vw;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
  }

  .lower-page .post-list .post-item .post-tags {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    flex-wrap: wrap; /* ★ 追加：要素が1行に収まらない場合に改行 */
    padding: 0px;
    gap: 0.544vw;
  }

  .lower-page .post-list .post-item .post-tags span {
    font-weight: var(--FontWeight-EN-Medium);
    font-size: 0.816vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color-Primary);
    white-space: nowrap; /* 1つのタグ内で改行させたくない場合 */
  }
}

@media (max-width: 1024px) {
  .lower-page .page-container .magazine-area {
    width: 87.786vw;
    margin: 0 auto;
  }

  .lower-page .post-list {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    justify-content: space-between;
    width: 87.786vw;
    margin: 0 auto;
  }

  .lower-page .post-list .post-item {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  /* アイテムが2つ未満の場合に空のボックスを挿入 */
  .lower-page .post-list::after {
    display: none;
  }

  /* アイテム数が2つ未満の場合、追加ボックスを挿入して左寄せを保つ */
  .lower-page .post-list .post-item:nth-child(2)::after,
  .lower-page .post-list .post-item:nth-child(3)::after {
    content: "";
    display: block;
    width: calc((100% - 16.285vw) / 3); /* 3カラムの幅と同じ */
    height: 100%;
    visibility: hidden; /* 目に見えないように設定 */
  }

  .lower-page .post-list .post-item.hidden {
    display: none;
  }

  .lower-page .post-list .post-item a.post-link {
    display: block;
    width: 100%;
    text-decoration: none;
    color: var(--wp--preset--color--black);
  }

  .lower-page .post-list .post-item .post-thumbnail {
    width: 100%;
    height: 48.092vw;
    margin-bottom: 4.071vw;
    background-color: var(--Color_GrayScale-White);
  }

  .lower-page .post-list .post-item .post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .lower-page .post-list .post-item .post-meta {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2.036vw;
  }

  .lower-page .post-list .post-item .post-meta .post-category {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 1.018vw 3.053vw;
    border: 1px solid var(--Color-Primary);
    border-radius: 7.634vw;
    font-weight: var(--FontWeight-EN-Medium);
    font-size: 3.053vw;
    line-height: 1.5;
    color: var(--Color-Primary);
    letter-spacing: 0.05em;
  }

  .lower-page .post-list .post-item .post-meta .post-date {
    font-weight: var(--FontWeight-EN-Light);
    font-size: 3.053vw;
    line-height: 1.5;
    color: var(--Color_GrayScale-Gray30);
    letter-spacing: 0.05em;
  }

  .lower-page .post-list .post-item .post-title {
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 4.071vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 4.071vw;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
  }

  .lower-page .post-list .post-item .post-tags {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    flex-wrap: wrap; /* ★ 追加：要素が1行に収まらない場合に改行 */
    padding: 0px;
    gap: 2.036vw;
  }

  .lower-page .post-list .post-item .post-tags span {
    font-weight: var(--FontWeight-EN-Medium);
    font-size: 3.053vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color-Primary);
    white-space: nowrap; /* 1つのタグ内で改行させたくない場合 */
  }
}

/* 検索結果ページのフォーム */
/* .lower-page内のsearch-form */
.lower-page .search-form {
  padding: 32px 64px;
  background: var(--Color_GrayScale-White);
  border-radius: 4px;
  margin-bottom: 80px;
}

.lower-page .search-form h3 {
  font-size: 22px;
  font-weight: var(--FontWeight-JP-Light);
  line-height: 1.5;
  margin-bottom: 32px;
  position: relative;
  padding-left: 30px;
}

.lower-page .search-form h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 26px; /* アイコンのサイズ調整 */
  height: 26px;
  background-image: url("../images/search/icon_search.svg"); /* アイコン画像のパス */
  background-size: contain;
  background-repeat: no-repeat;
}

/* .search-form-wrapper のスタイル */
.lower-page .search-form .search-form-wrapper {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0;
  gap: 16px;
  width: 100%; /* フォームの横幅を調整 */
  margin-bottom: 16px;
}

/* #search-input のスタイル */
.lower-page .search-form .search-form-wrapper #search-input {
  flex: 1; /* 入力欄の横幅を広げます */
  padding: 16px 48px 16px 16px;
  background: var(--Color_GrayScale-White);
  border: 1px solid var(--Color-Border);
  border-radius: 4px;
  font-family: var(--Font-JP);
  font-size: 16px; /* 文字サイズを調整 */
  font-weight: var(--FontWeight-JP-Regular);
  color: var(--Color_GrayScale-Black);
  height: 56px;
  outline: none;
}

.lower-page .search-form .search-form-wrapper #search-input::placeholder {
  color: var(--Color_GrayScale-Gray70);
}

/* ✖ ボタンの位置を調整 */
.lower-page .search-form .search-form-wrapper #clear-button {
  position: absolute;
  left: 840px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  font-size: 20px;
  color: var(--Color_GrayScale-Gray30);
  display: none;
}

/* 検索ボタンのスタイル */
.lower-page .search-form .search-form-wrapper #search-button {
  padding: 16px 32px;
  background: var(--Color-Primary);
  border-radius: 4px;
  color: var(--Color_GrayScale-White);
  font-size: 16px;
  border: none;
  cursor: pointer;
  transition: background 0.3s ease;
}

/* 検索ボタンのホバー時のスタイル */
.lower-page .search-form .search-form-wrapper #search-button:hover {
  background: #1a477a;
}

/* よく検索されるワードのスタイル */
.lower-page .search-form .popular-search-terms {
  width: 100%;
}

.lower-page .search-form .popular-search-terms p {
  font-weight: var(--FontWeight-JP-Light);
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-Black);
  margin-bottom: 8px;
}

.lower-page .search-form .popular-search-terms ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.lower-page .search-form .popular-search-terms ul li {
  font-size: 14px;
}

.lower-page .search-form .popular-search-terms ul li a {
  color: var(--Color_GrayScale-Black);
  text-decoration: underline;
  font-size: 14px;
}

.lower-page .filtered-title p {
  position: relative;
  font-family: var(--Font-JP);
  font-size: 12px;
  font-weight: var(--FontWeight-JP-Regular);
  line-height: 1.5;
  letter-spacing: 0.05em;
}

@media (min-width: 1025px) {
  /* .lower-page内のsearch-form */
  .lower-page .search-form {
    padding: 2.177vw 4.354vw;
    background: var(--Color_GrayScale-White);
    border-radius: 0.272vw;
    margin-bottom: 5.442vw;
  }

  .lower-page .search-form h3 {
    font-size: 1.497vw;
    font-weight: var(--FontWeight-JP-Light);
    line-height: 1.5;
    margin-bottom: 2.177vw;
    position: relative;
    padding-left: 2.041vw;
  }

  .lower-page .search-form h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1.769vw; /* アイコンのサイズ調整 */
    height: 1.769vw;
    background-image: url("../images/search/icon_search.svg"); /* アイコン画像のパス */
    background-size: contain;
    background-repeat: no-repeat;
  }

  /* .search-form-wrapper のスタイル */
  .lower-page .search-form .search-form-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0;
    gap: 1.088vw;
    width: 100%; /* フォームの横幅を調整 */
    margin-bottom: 1.088vw;
  }

  /* #search-input のスタイル */
  .lower-page .search-form .search-form-wrapper #search-input {
    flex: 1; /* 入力欄の横幅を広げます */
    padding: 1.088vw 3.265vw 1.088vw 1.088vw;
    background: var(--Color_GrayScale-White);
    border: 1px solid var(--Color-Border);
    border-radius: 0.272vw;
    font-family: var(--Font-JP);
    font-size: 1.088vw; /* 文字サイズを調整 */
    font-weight: var(--FontWeight-JP-Regular);
    color: var(--Color_GrayScale-Black);
    height: 3.81vw;
    outline: none;
  }

  /* ✖ ボタンの位置を調整 */
  .lower-page .search-form .search-form-wrapper #clear-button {
    position: absolute;
    left: 57.143vw;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.361vw;
    color: var(--Color_GrayScale-Gray30);
    display: none;
  }

  /* 検索ボタンのスタイル */
  .lower-page .search-form .search-form-wrapper #search-button {
    padding: 1.088vw 2.177vw;
    background: var(--Color-Primary);
    border-radius: 0.272vw;
    color: var(--Color_GrayScale-White);
    font-size: 1.088vw;
    border: none;
    cursor: pointer;
    transition: background 0.5s ease;
  }

  .lower-page .search-form .search-form-wrapper #search-button:hover {
    background: var(--Color-Hover);
  }

  .lower-page .search-form .popular-search-terms p {
    font-weight: var(--FontWeight-JP-Light);
    font-size: 0.952vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 0.544vw;
  }

  .lower-page .search-form .popular-search-terms ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 1.088vw;
  }

  .lower-page .search-form .popular-search-terms ul li {
    font-size: 0.952vw;
  }

  .lower-page .search-form .popular-search-terms ul li a {
    color: var(--Color_GrayScale-Black);
    text-decoration: underline;
    font-size: 0.952vw;
  }

  .lower-page .search-form .popular-search-terms ul li a:hover {
    color: var(--Color-Primary);
    transition: color 0.5s ease;
  }

  .lower-page .filtered-title p {
    position: relative;
    font-family: var(--Font-JP);
    font-size: 0.816vw;
    font-weight: var(--FontWeight-JP-Regular);
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}

@media (max-width: 1024px) {
  /* .lower-page内のsearch-form */
  .lower-page .search-form {
    padding: 6.107vw;
    background: var(--Color_GrayScale-White);
    border-radius: 1.018vw;
    margin-bottom: 20.356vw;
  }

  .lower-page .search-form h3 {
    font-size: 4.58vw;
    font-weight: var(--FontWeight-JP-Light);
    line-height: 1.5;
    margin-bottom: 4.071vw;
    position: relative;
    padding-left: 8.651vw;
  }

  .lower-page .search-form h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 6.616vw; /* アイコンのサイズ調整 */
    height: 6.616vw;
    background-image: url("../images/search/icon_search.svg"); /* アイコン画像のパス */
    background-size: contain;
    background-repeat: no-repeat;
  }

  /* .search-form-wrapper のスタイル */
  .lower-page .search-form .search-form-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0;
    gap: 2.036vw;
    width: 100%;
    margin-bottom: 4.071vw;
  }

  /* #search-input のスタイル */
  .lower-page .search-form .search-form-wrapper #search-input {
    flex: 1;
    background: var(--Color_GrayScale-White);
    border: 1px solid var(--Color-Border);
    border-radius: 0;
    font-family: var(--Font-JP);
    font-size: 4.071vw;
    font-weight: var(--FontWeight-JP-Regular);
    color: var(--Color_GrayScale-Black);
    height: 14.249vw;
    outline: none;
    width: 100%;
    padding: 4.071vw;
  }

  /* ✖ ボタンの位置を調整 */
  .lower-page .search-form .search-form-wrapper #clear-button {
    position: absolute;
    left: 57.143vw;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.361vw;
    color: var(--Color_GrayScale-Gray30);
    display: none;
  }

  /* 検索ボタンのスタイル */
  .lower-page .search-form .search-form-wrapper #search-button {
    padding: 4.071vw;
    background: var(--Color-Primary);
    border-radius: 1.018vw;
    color: var(--Color_GrayScale-White);
    font-size: 4.071vw;
    border: none;
    cursor: pointer;
    transition: background 0.3s ease;
    width: 100%;
  }

  .lower-page .search-form .popular-search-terms p {
    font-weight: var(--FontWeight-JP-Light);
    font-size: 4.071vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 4.071vw;
  }

  .lower-page .search-form .popular-search-terms ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 4.071vw;
  }

  .lower-page .search-form .popular-search-terms ul li {
    font-size: 3.562vw;
  }

  .lower-page .search-form .popular-search-terms ul li a {
    color: var(--Color_GrayScale-Black);
    text-decoration: underline;
    font-size: 3.562vw;
  }

  .lower-page .filtered-title p {
    position: relative;
    font-family: var(--Font-JP);
    font-size: 3.053vw;
    font-weight: var(--FontWeight-JP-Regular);
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}

/* 検索結果ページ */
.lower-page .result-area .load-more-btn {
  margin-top: 80px;
}

.lower-page .search-post-list .search-post-item {
  border-bottom: 1px solid #ced7e2;
}

.lower-page .search-post-list .search-post-item:first-child {
  border-top: 1px solid #ced7e2;
}

.lower-page .search-post-list .search-post-item a {
  display: block;
  flex-direction: row;
  align-items: center;
  padding: 32px 0px;
  gap: 16px;
  font-weight: 300;
  font-size: 22px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-Black);
  text-decoration: none;
  position: relative;
}

.lower-page .search-post-list .search-post-item a::after {
  content: "";
  position: absolute;
  margin-left: auto;
  background: url(../images/common/arrow_forward.svg);
  width: 25px;
  height: 25px;
  right: 0;
  top: 40%;
}

.lower-page .search-post-list .search-post-item.hidden {
  display: none;
}

@media (min-width: 1025px) {
  /* 検索結果ページ */
  .lower-page .result-area .load-more-btn {
    margin-top: 5.442vw;
  }

  .lower-page .search-post-list .search-post-item {
    border-bottom: 0.068vw solid #ced7e2;
  }

  .lower-page .search-post-list .search-post-item:first-child {
    border-top: 0.068vw solid #ced7e2;
  }

  .lower-page .search-post-list .search-post-item a {
    display: block;
    flex-direction: row;
    align-items: center;
    padding: 2.177vw 0px;
    gap: 1.088vw;
    font-weight: 300;
    font-size: 1.497vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    text-decoration: none;
    position: relative;
    transition: background-color 0.5s ease;
  }

  .lower-page .search-post-list .search-post-item a:hover {
    background-color: #eceef1;
  }

  .lower-page .search-post-list .search-post-item a::after {
    content: "";
    position: absolute;
    margin-left: auto;
    background: url(../images/common/arrow_forward.svg);
    background-size: 100%;
    width: 1.701vw;
    height: 1.701vw;
    right: 0;
    top: 40%;
  }

  .lower-page .search-post-list .search-post-item.hidden {
    display: none;
  }
}

@media (max-width: 1024px) {
  /* 検索結果ページ */
  .lower-page .result-area {
    margin-bottom: 20.356vw;
  }

  .lower-page .result-area .load-more-btn {
    margin-top: 20.356vw;
  }

  .lower-page .search-post-list .search-post-item {
    border-bottom: 0.254vw solid #ced7e2;
  }

  .lower-page .search-post-list .search-post-item:first-child {
    border-top: 0.254vw solid #ced7e2;
  }

  .lower-page .search-post-list .search-post-item a {
    display: block;
    flex-direction: row;
    align-items: center;
    padding: 8.142vw;
    padding-left: 0;
    gap: 1.088vw;
    font-weight: 300;
    font-size: 4.58vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    text-decoration: none;
    position: relative;
  }

  .lower-page .search-post-list .search-post-item a::after {
    content: "";
    position: absolute;
    margin-left: auto;
    background: url(../images/common/arrow_forward.svg);
    background-size: 100%;
    width: 6.107vw;
    height: 6.107vw;
    right: 0;
    top: 40%;
  }

  .lower-page .search-post-list .search-post-item.hidden {
    display: none;
  }
}

/* アクセスページ */
.lower-page .width-short {
  width: 986px;
  margin: 0 auto 80px;
}

@media (min-width: 1025px) {
  /* アクセスページ */
  .lower-page .width-short {
    width: 67.075vw;
    margin: 0 auto 5.442vw;
  }
}

@media (max-width: 1024px) {
  /* アクセスページ */
  .lower-page .width-short {
    width: 100%;
    margin: 0 auto 16.285vw;
  }
}

.lower-page .page-access section {
  margin-bottom: 64px;
}

.lower-page .page-access section .special-note {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  padding: 32px;
  gap: 16px;
  border: 1px solid var(--Color-Border);
  font-weight: var(--FontWeight-JP-Regular);
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-Black);
  margin-top: 32px;
}

.lower-page .page-access section .special-note span {
  width: 32px;
  height: 32px;
  background-image: url(../images/common/icon_special_note.svg);
  background-size: cover;
  background-repeat: no-repeat;
}

.lower-page .page-access section .contact-flex {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 32px 64px;
  gap: 64px;
  background: var(--Color_GrayScale-White);
  border: 1px solid var(--Color-Border);
}

.lower-page .page-access section .contact-flex .contact-left p {
  font-weight: var(--FontWeight-JP-Regular);
  font-size: 22px;
  line-height: 150%;
  text-align: center;
  letter-spacing: 0.1em;
}

.lower-page .page-access section .contact-flex .contact-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px;
  gap: 8px;
}

.lower-page .page-access section .contact-flex .contact-right .contact-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0px;
  gap: 32px;
}

.lower-page .page-access section .contact-flex .contact-right .contact-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0px;
  gap: 32px;
  font-weight: var(--FontWeight-JP-Regular);
  font-size: 14px;
  line-height: 150%;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-Black);
}

.lower-page
  .page-access
  section
  .contact-flex
  .contact-right
  .contact-row
  .contact-label {
  width: 60px;
}

.lower-page .page-access section .google-map {
  width: 100%;
  margin-bottom: 32px;
}

.lower-page .page-access section .external-link-wrapper {
  display: flex;
  justify-content: center; /* 子要素のaタグを中央寄せ */
  align-items: center;
  margin: 32px auto 0; /* 上部マージンと自動左右マージンで中央配置 */
}

.lower-page .page-access section a.external-link {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 8px;
  height: 52px;
  border: 1px solid var(--Color-Primary);
  border-radius: 60px;
  font-weight: var(--FontWeight-JP-Regular);
  font-size: 14px;
  line-height: 150%;
  color: var(--Color-Primary);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.lower-page .page-access section a.external-link::after {
  content: "";
  display: inline-block;
  width: 20px; /* アイコンの幅 */
  height: 20px; /* アイコンの高さ */
  background-image: url("../images/common/icon_blank.svg"); /* アイコン画像のパス */
  background-size: cover;
  background-repeat: no-repeat;
  margin-left: 8px; /* テキストとアイコンの間のスペース */
}

.lower-page .page-access section.by-transport a.external-link {
  width: 172px;
}

.lower-page .page-access section.by-plane a.external-link {
  width: 202px;
}

@media (min-width: 1025px) {
  .lower-page .page-access section {
    margin-bottom: 4.354vw;
  }

  .lower-page .page-access section .special-note {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    padding: 2.177vw;
    gap: 1.088vw;
    border: 0.068vw solid var(--Color-Border);
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 0.952vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    margin-top: 2.177vw;
  }

  .lower-page .page-access section .special-note span {
    width: 2.177vw;
    height: 2.177vw;
    background-image: url(../images/common/icon_special_note.svg);
    background-size: cover;
    background-repeat: no-repeat;
  }

  .lower-page .page-access section .contact-flex {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 2.177vw 4.354vw;
    gap: 4.354vw;
    background: var(--Color_GrayScale-White);
    border: 0.068vw solid var(--Color-Border);
  }

  .lower-page .page-access section .contact-flex .contact-left p {
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 1.497vw;
    line-height: 150%;
    text-align: center;
    letter-spacing: 0.1em;
  }

  .lower-page .page-access section .contact-flex .contact-right {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px;
    gap: 0.544vw;
  }

  .lower-page .page-access section .contact-flex .contact-right .contact-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0px;
    gap: 2.177vw;
  }

  .lower-page .page-access section .contact-flex .contact-right .contact-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0px;
    gap: 2.177vw;
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 0.952vw;
    line-height: 150%;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page
    .page-access
    section
    .contact-flex
    .contact-right
    .contact-row
    .contact-label {
    width: 4.082vw;
  }

  .lower-page .page-access section .google-map {
    width: 100%;
    margin-bottom: 2.177vw;
  }

  .lower-page .page-access section .google-map iframe {
    width: 100%;
    height: 33.878vw;
  }

  .lower-page .page-access section .external-link-wrapper {
    display: flex;
    justify-content: center; /* 子要素のaタグを中央寄せ */
    align-items: center;
    margin: 2.177vw auto 0; /* 上部マージンと自動左右マージンで中央配置 */
  }

  .lower-page a.external-link {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0.544vw;
    height: 3.537vw;
    border: 0.068vw solid var(--Color-Primary);
    border-radius: 4.082vw;
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 0.952vw;
    line-height: 150%;
    color: var(--Color-Primary);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    transition: background-color 0.5s ease, color 0.5s ease;
  }

  .lower-page a.external-link:hover {
    background-color: var(--Color-Primary);
    color: var(--Color_GrayScale-White) !important;
  }

  .lower-page a.external-link::after {
    content: "";
    display: inline-block;
    width: 1.361vw; /* アイコンの幅 */
    height: 1.361vw; /* アイコンの高さ */
    background-image: url("../images/common/icon_blank.svg"); /* アイコン画像のパス */
    background-size: cover;
    background-repeat: no-repeat;
    transition: background-image 0.5s ease, color 0.5s ease;
  }

  .lower-page div.external-link::after {
    content: "";
    position: absolute;
    top: 30%;
    right: 1.361vw;
    display: inline-block;
    width: 1.361vw;
    height: 1.361vw;
    background-image: url(../images/common/icon_blank.svg);
    background-size: cover;
    background-repeat: no-repeat;
    transition: background-image 0.5s ease, color 0.5s ease;
  }

  .lower-page a.external-link:hover::after {
    background-image: url(../images/common/icon_blank_white.svg) !important;
  }

  .lower-page .page-access section.by-transport a.external-link {
    width: 11.701vw;
  }

  .lower-page .page-access section.by-plane a.external-link {
    width: 13.741vw;
  }
}

@media (max-width: 1024px) {
  .lower-page .page-access section {
    width: 87.786vw;
    margin: 0 auto 16.285vw;
  }

  .lower-page .page-access section h2 {
    text-align: center;
  }

  .lower-page .page-access section .special-note {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    padding: 6.107vw;
    gap: 4.071vw;
    border: 1px solid var(--Color-Border);
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 3.562vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    margin-top: 8.142vw;
  }

  .lower-page .page-access section .special-note span {
    width: 8.142vw;
    height: 8.142vw;
    background-image: url(../images/common/icon_special_note.svg);
    background-size: cover;
    background-repeat: no-repeat;
  }

  .lower-page .page-access section .contact-flex {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6.107vw;
    gap: 4.071vw;
    background: var(--Color_GrayScale-White);
    border: 1px solid var(--Color-Border);
  }

  .lower-page .page-access section .contact-flex .contact-left {
    width: 100%;
    border-bottom: solid 1px var(--Color-Border);
  }

  .lower-page .page-access section .contact-flex .contact-left p {
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 4.58vw;
    line-height: 150%;
    text-align: center;
    letter-spacing: 0.1em;
    padding-bottom: 4.071vw;
  }

  .lower-page .page-access section .contact-flex .contact-right {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px;
    gap: 2.036vw;
  }

  .lower-page .page-access section .contact-flex .contact-right .contact-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0px;
    gap: 8.142vw;
  }

  .lower-page .page-access section .contact-flex .contact-right .contact-row {
    display: flex;
    flex-direction: row;
    align-items: self-start;
    padding: 0px;
    gap: 8.142vw;
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 3.562vw;
    line-height: 150%;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page
    .page-access
    section
    .contact-flex
    .contact-right
    .contact-row
    .contact-label {
    width: 15.267vw;
  }

  .lower-page .page-access section .google-map {
    width: 100%;
    margin-bottom: 8.142vw;
  }

  .lower-page .page-access section .google-map iframe {
    width: 100%;
    height: 61.069vw;
  }

  .lower-page .page-access section .external-link-wrapper {
    display: flex;
    justify-content: center; /* 子要素のaタグを中央寄せ */
    align-items: center;
    margin: 8.142vw auto 0; /* 上部マージンと自動左右マージンで中央配置 */
  }

  .lower-page .page-access section a.external-link {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 2.036vw;
    height: 13.232vw;
    border: 1px solid var(--Color-Primary);
    border-radius: 15.267vw;
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 3.562vw;
    line-height: 150%;
    color: var(--Color-Primary);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
  }

  .lower-page .page-access section a.external-link::after {
    content: "";
    display: inline-block;
    width: 5.089vw; /* アイコンの幅 */
    height: 5.089vw; /* アイコンの高さ */
    background-image: url("../images/common/icon_blank.svg"); /* アイコン画像のパス */
    background-size: cover;
    background-repeat: no-repeat;
    margin-left: 2.036vw; /* テキストとアイコンの間のスペース */
  }

  .lower-page .page-access section.by-transport a.external-link {
    width: 43.766vw;
  }

  .lower-page .page-access section.by-plane a.external-link {
    width: 51.399vw;
  }

  .lower-page .page-access section .access-info-img {
    width: 94vw;
    height: 62.85vw;
    overflow-x: scroll;
    margin: 0 0 6.4vw;
  }

  .lower-page .page-access section .access-info-img img {
    height: 61.85vw;
    width: auto;
    padding-right: 6.467vw;
  }

  /* 横スクロール専用に設定 */
  .lower-page .page-access section .access-info-img {
    height: 71.501vw;
    overflow-x: auto; /* 横スクロールを許可 */
    overflow-y: hidden; /* 縦スクロールを無効 */
  }

  /* .access-info-img に横スクロールバーを適用 */
  .lower-page .page-access section .access-info-img::-webkit-scrollbar {
    height: 0.509vw; /* 横スクロール用の高さ */
  }

  .lower-page .page-access section .access-info-img::-webkit-scrollbar-track {
    background: var(--Color-Border); /* トラックの色 */
  }

  .lower-page .page-access section .access-info-img::-webkit-scrollbar-thumb {
    background: var(--Color-Primary);
  }
}

/* 中部山岳国立公園 松本市乗鞍観光センターページ */
.lower-page .page-tourist-center section {
  margin-bottom: 80px;
}

.lower-page .page-tourist-center section.center-description .center-flex {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
}

.lower-page .page-tourist-center section.center-description .center-flex div {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 64px;
}

.lower-page
  .page-tourist-center
  section.center-description
  .center-flex
  div
  h2 {
  text-align: left;
  flex-shrink: 0;
}

.lower-page .page-tourist-center section.center-description .center-flex div p {
  font-weight: var(--FontWeight-JP-Regular);
  font-size: 14px;
  line-height: 2.3;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-Black);
}

.page-tourist-center section.contact-info {
}

.page-tourist-center section.contact-info .facility-list .facility-block {
  background: var(--Color_GrayScale-White);
  padding: 32px;
  margin-bottom: 32px;
}

.lower-page
  .page-tourist-center
  section.contact-info
  .facility-list
  .facility-block:last-child {
  margin-bottom: 0;
}

.page-tourist-center section.contact-info .facility-list .facility-block h3 {
  font-weight: 300;
  font-size: 26px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: var(--Color_GrayScale-Black);
  margin-bottom: 32px;
}

.page-tourist-center
  section.contact-info
  .facility-list
  .facility-block
  .facility-flex {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 0px;
  gap: 64px;
}

.page-tourist-center
  section.contact-info
  .facility-list
  .facility-block
  .facility-flex
  .facility-image {
  flex: 1 1 14%;
}

.page-tourist-center
  section.contact-info
  .facility-list
  .facility-block
  .facility-flex
  .facility-details {
  flex: 1 1 55%; /* 詳細情報の幅を55%に */
}

.page-tourist-center
  section.contact-info
  .facility-list
  .facility-block
  .facility-flex
  .facility-details
  dl.facility-info {
  border-bottom: 1px solid #ccc; /* 下に1pxの薄い境界線 */
  padding-bottom: 12px; /* 下に少し余白を追加 */
  margin-bottom: 16px; /* 各dlの間にスペース */
  font-weight: var(--FontWeight-JP-Regular);
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-Black);
  margin-bottom: 8px;
  padding: 16px 0;
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 32px;
}

.page-tourist-center
  section.contact-info
  .facility-list
  .facility-block
  .facility-flex
  .facility-details
  dl.facility-info:first-child {
  padding-top: 0;
}

.page-tourist-center
  section.contact-info
  .facility-list
  .facility-block
  .facility-flex
  .facility-details
  dl.facility-info:last-child {
  border-bottom: none; /* 最後のdlには境界線を表示しない */
  margin-bottom: 0;
  padding-bottom: 0;
}

.page-tourist-center
  section.contact-info
  .facility-list
  .facility-block
  .facility-flex
  .facility-details
  dl.facility-info
  dt {
  width: 60px;
}

.page-tourist-center
  section.contact-info
  .facility-list
  .facility-block
  .facility-flex
  .facility-details
  dl.facility-info
  dd
  a {
  color: var(--Color-Primary);
}

.page-tourist-center
  section.contact-info
  .facility-list
  .facility-block
  .facility-flex
  .facility-details
  .external-link-wrapper
  a.external-link {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 100%;
  height: 52px;
  border: 1px solid var(--Color-Primary);
  border-radius: 60px;
  font-weight: var(--FontWeight-JP-Regular);
  font-size: 14px;
  line-height: 150%;
  color: var(--Color-Primary);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.page-tourist-center
  section.contact-info
  .facility-list
  .facility-block
  .facility-flex
  .facility-details
  p {
  font-weight: var(--FontWeight-JP-Regular);
  font-size: 14px;
  line-height: 2.3;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-Black);
  margin-bottom: 16px;
}

.page-tourist-center
  section.contact-info
  .facility-list
  .facility-block
  .facility-flex
  .facility-details
  .facility-column {
  display: flex;
  align-items: center; /* 垂直方向の中央揃え */
  gap: 8px; /* テキストとリンクの間にスペースを追加 */
}

.page-tourist-center
  section.contact-info
  .facility-list
  .facility-block
  .facility-flex
  .facility-details
  .facility-column
  .external-link-wrapper
  a.external-link {
  height: 33px;
  width: 121px;
}

.page-tourist-center
  section.contact-info
  .facility-list
  .facility-block
  .facility-flex
  .facility-details
  .link-buttons {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 16px;
}

.page-tourist-center
  section.contact-info
  .facility-list
  .facility-block
  .facility-flex
  .facility-details
  .link-buttons
  .external-link-wrapper {
  width: 100%;
}

.page-tourist-center
  section.contact-info
  .facility-list
  .facility-block
  .facility-flex
  .facility-details
  ul
  li {
  list-style-type: none;
  font-weight: var(--FontWeight-JP-Regular);
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-Gray30);
}

.page-tourist-center
  section.contact-info
  .facility-list
  .facility-block
  .facility-flex
  .facility-details
  ul
  li
  br
  + span {
  display: inline-block;
  text-indent: 1em; /* 2行目にインデントを追加 */
}

.page-tourist-center
  section.contact-info
  .facility-list
  .facility-block
  .reservation-info {
  margin-top: 32px;
}

.page-tourist-center
  section.contact-info
  .facility-list
  .facility-block
  .reservation-info
  h4 {
  font-weight: var(--FontWeight-JP-Regular);
  font-size: 14px;
  line-height: 150%;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-Black);
  margin-bottom: 8px;
}

.page-tourist-center
  section.contact-info
  .facility-list
  .facility-block
  .reservation-info
  dl {
  display: flex;
  flex-direction: row;
  align-items: stretch; /* 高さを揃える */
  margin: 0; /* 余白の調整 */
}

.page-tourist-center
  section.contact-info
  .facility-list
  .facility-block
  .reservation-info
  dl
  dt {
  width: 200px; /* dtの幅を指定 */
  display: flex;
  flex-direction: row;
  align-items: center; /* 中央揃え */
  padding: 8px 16px;
  background: var(--Color_GrayScale-Gray95);
  border-bottom: 1px solid var(--Color_GrayScale-White);
  font-weight: var(--FontWeight-JP-Regular);
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-Black);
}

.page-tourist-center
  section.contact-info
  .facility-list
  .facility-block
  .reservation-info
  dl
  dd {
  flex: 1; /* ddが残りのスペースを埋める */
  display: flex;
  flex-direction: row;
  align-items: center; /* 中央揃え */
  padding: 8px 16px;
  border-width: 1px 1px 1px 0px;
  border-style: solid;
  border-color: var(--Color_GrayScale-Gray95);
  font-weight: var(--FontWeight-JP-Regular);
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-Black);
}

.lower-page
  .page-tourist-center
  .other-facilities
  .other-facilities-wrapper
  .facility-item
  img {
  display: block;
}

.page-tourist-center
  section.contact-info
  .facility-list
  .facility-block
  .reservation-info
  dl
  dd
  a {
  color: var(--Color-Primary);
}

@media (min-width: 1025px) {
  .lower-page .page-tourist-center section {
    margin-bottom: 5.442vw;
  }

  .lower-page .page-tourist-center section.center-description .center-flex {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2.177vw;
  }

  .lower-page .page-tourist-center section.center-description .center-flex div {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4.354vw;
  }

  .lower-page
    .page-tourist-center
    section.center-description
    .center-flex
    div
    p {
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 0.952vw;
    line-height: 2.3;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
  }

  .page-tourist-center section.contact-info .facility-list .facility-block {
    background: var(--Color_GrayScale-White);
    padding: 2.177vw;
    margin-bottom: 2.177vw;
  }

  .page-tourist-center section.contact-info .facility-list .facility-block h3 {
    font-weight: 300;
    font-size: 1.769vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 2.177vw;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 0px;
    gap: 4.354vw;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    dl.facility-info {
    border-bottom: 1px solid #ccc; /* 下に1pxの薄い境界線 */
    padding-bottom: 0.816vw; /* 下に少し余白を追加 */
    margin-bottom: 1.088vw; /* 各dlの間にスペース */
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 0.952vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 0.544vw;
    padding: 1.088vw 0;
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: 2.177vw;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    dl.facility-info
    dt {
    width: 4.082vw;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    .external-link-wrapper
    a.external-link,
  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    .external-link-wrapper
    div.external-link {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0.544vw;
    width: 24.898vw;
    height: 3.537vw;
    border: 1px solid var(--Color-Primary);
    border-radius: 4.082vw;
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 0.952vw;
    line-height: 150%;
    color: var(--Color-Primary);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    position: relative;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    .external-link-wrapper
    div.external-link {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0;
    width: 100%;
    height: 3.537vw;
    border: 1px solid var(--Color-Primary);
    border-radius: 4.082vw;
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 0.952vw;
    line-height: 150%;
    color: var(--Color-Primary);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    .external-link-wrapper
    div.external-link
    span {
    font-size: 0.816vw;
    color: var(--Color_GrayScale-Gray30);
    line-height: 1.5;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    p {
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 0.952vw;
    line-height: 2.3;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 1.088vw;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    .facility-column {
    display: flex;
    align-items: center; /* 垂直方向の中央揃え */
    gap: 0.544vw; /* テキストとリンクの間にスペースを追加 */
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    .facility-column
    .external-link-wrapper
    a.external-link {
    height: 2.245vw;
    width: 10.231vw;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    .link-buttons {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 2.177vw;
    margin-bottom: 1.088vw;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    ul
    li {
    list-style-type: none;
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 0.816vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Gray30);
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .reservation-info {
    margin-top: 2.177vw;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .reservation-info
    h4 {
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 0.952vw;
    line-height: 150%;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 0.544vw;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .reservation-info
    dl
    dt {
    width: 13.605vw; /* dtの幅を指定 */
    display: flex;
    flex-direction: row;
    align-items: center; /* 中央揃え */
    padding: 0.544vw 1.088vw;
    background: var(--Color_GrayScale-Gray95);
    border-bottom: 1px solid var(--Color_GrayScale-White);
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 0.952vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .reservation-info
    dl
    dd {
    flex: 1; /* ddが残りのスペースを埋める */
    display: flex;
    flex-direction: row;
    align-items: center; /* 中央揃え */
    padding: 0.544vw 1.088vw;
    border-width: 0.068vw 0.068vw 0.068vw 0px;
    border-style: solid;
    border-color: var(--Color_GrayScale-Gray95);
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 0.952vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page .page-tourist-center .other-facilities .other-facilities-wrapper {
    display: flex;
    flex-direction: column;
    gap: 2.177vw;
    background: #fff;
    padding: 2.177vw;
  }

  .lower-page
    .page-tourist-center
    .other-facilities
    .other-facilities-wrapper
    .facility-item {
    display: flex;
    justify-content: flex-start;
    gap: 4.354vw;
  }

  .lower-page
    .page-tourist-center
    .other-facilities
    .other-facilities-wrapper
    .facility-item
    .shop-thumbnail {
    width: 16.327vw;
    height: auto;
  }

  .lower-page
    .page-tourist-center
    .other-facilities
    .other-facilities-wrapper
    .facility-item
    .facility-meta {
    background: var(--Color_GrayScale-White);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: baseline;
    height: 10.884vw;
  }

  .lower-page
    .page-tourist-center
    .other-facilities
    .other-facilities-wrapper
    .facility-item
    .facility-meta
    .facility-name {
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 1.497vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page
    .page-tourist-center
    .other-facilities
    .other-facilities-wrapper
    .facility-item
    .facility-meta
    p {
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 0.952vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    margin-top: 0.544vw;
  }

  .lower-page
    .page-tourist-center
    .other-facilities
    .other-facilities-wrapper
    .facility-item
    .facility-meta
    .external-link-wrapper {
    margin-top: 1.088vw;
  }

  .lower-page
    .page-tourist-center
    .other-facilities
    .other-facilities-wrapper
    .facility-item
    .facility-meta
    .external-link-wrapper
    a.external-link {
    width: 13.605vw;
  }

  .lower-page
    .page-tourist-center
    .other-facilities
    .other-facilities-wrapper
    .facility-item
    .link-flex {
    display: flex;
    gap: 1.088vw;
    margin-top: 1.088vw;
  }

  .lower-page
    .page-tourist-center
    .other-facilities
    .other-facilities-wrapper
    .facility-item
    .link-flex
    a {
    font-weight: 400;
    font-size: 0.952vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color-Primary);
  }
}

@media (max-width: 1024px) {
  /* 中部山岳国立公園 松本市乗鞍観光センターページ */
  .lower-page .page-tourist-center section {
    width: 87.786vw;
    margin: 0 auto 20.356vw;
  }

  .lower-page .page-tourist-center section h2 {
    text-align: center;
  }

  .lower-page .page-tourist-center section.center-description .center-flex {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8.142vw;
  }

  .lower-page .page-tourist-center section.center-description .center-flex div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8.142vw;
  }

  .lower-page
    .page-tourist-center
    section.center-description
    .center-flex
    div
    h2 {
    text-align: left;
    flex-shrink: 0;
    margin: 0;
  }

  .lower-page
    .page-tourist-center
    section.center-description
    .center-flex
    div
    p {
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 3.562vw;
    line-height: 2.3;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
  }

  .page-tourist-center section.contact-info {
  }

  .page-tourist-center section.contact-info .facility-list .facility-block {
    background: var(--Color_GrayScale-White);
    padding: 8.142vw;
    margin-bottom: 8.142vw;
  }

  .lower-page
    .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block:last-child {
    margin-bottom: 0;
  }

  .page-tourist-center section.contact-info .facility-list .facility-block h3 {
    font-weight: 300;
    font-size: 6.616vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 8.142vw;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px;
    gap: 4.071vw;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-image {
    flex: 1 1 14%;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details {
    flex: 1 1 55%; /* 詳細情報の幅を55%に */
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    dl.facility-info {
    border-bottom: 1px solid #ccc; /* 下に1pxの薄い境界線 */
    padding-bottom: 3.053vw; /* 下に少し余白を追加 */
    margin-bottom: 4.071vw; /* 各dlの間にスペース */
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 3.562vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 2.036vw;
    padding: 4.071vw 0;
    display: flex;
    flex-direction: column;
    align-items: baseline;
    gap: 2.036vw;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    dl.facility-info:first-child {
    padding-top: 0;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    dl.facility-info:last-child {
    border-bottom: none; /* 最後のdlには境界線を表示しない */
    margin-bottom: 0;
    padding-bottom: 0;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    dl.facility-info
    dt {
    width: 15.267vw;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    dl.facility-info
    dd
    a {
    color: var(--Color-Primary);
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    .external-link-wrapper
    a.external-link {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 2.036vw;
    width: 100%;
    height: 13.232vw;
    border: 1px solid var(--Color-Primary);
    border-radius: 15.267vw;
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 3.053vw;
    line-height: 150%;
    color: var(--Color-Primary);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    letter-spacing: -0.025vw;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    .external-link-wrapper
    div.external-link
    span {
    font-size: 3.053vw;
    color: var(--Color_GrayScale-Gray30);
    line-height: 1.5;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    .external-link-wrapper
    div.external-link {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0;
    width: 100%;
    height: 13.232vw;
    border: 1px solid var(--Color-Primary);
    border-radius: 15.267vw;
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 3.562vw;
    line-height: 150%;
    color: var(--Color-Primary);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    position: relative;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    .link-buttons
    .external-link-wrapper
    a.external-link::after {
    content: "";
    display: inline-block;
    width: 5.089vw;
    height: 5.089vw;
    background-image: url(../images/common/icon_blank.svg);
    background-size: cover;
    background-repeat: no-repeat;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    .link-buttons
    .external-link-wrapper
    div.external-link::after {
    content: "";
    position: absolute;
    top: 30%;
    right: 4.361vw;
    display: inline-block;
    width: 5.089vw;
    height: 5.089vw;
    background-image: url(../images/common/icon_blank.svg);
    background-size: cover;
    background-repeat: no-repeat;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    p {
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 3.562vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 4.071vw;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    .facility-column {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 2.036vw;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    .facility-column
    .external-link-wrapper
    a.external-link {
    height: 8.397vw;
    width: 30.789vw;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    .link-buttons {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 2.036vw;
    margin-bottom: 4.071vw;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    .link-buttons
    .external-link-wrapper {
    width: 100%;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    ul
    li {
    list-style-type: none;
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 3.053vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Gray30);
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .facility-flex
    .facility-details
    ul
    li
    br
    + span {
    display: inline-block;
    margin-left: 1em; /* 2行目にインデントを追加 */
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .reservation-info {
    margin-top: 8.142vw;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .reservation-info
    h4 {
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 3.562vw;
    line-height: 150%;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 2.036vw;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .reservation-info
    dl {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin: 0;
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .reservation-info
    dl
    dt {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 2.036vw 4.071vw;
    background: var(--Color_GrayScale-Gray95);
    border-bottom: none;
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 3.562vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
  }

  .page-tourist-center
    section.contact-info
    .facility-list
    .facility-block
    .reservation-info
    dl
    dd {
    flex: 1;
    display: block;
    flex-direction: row;
    align-items: center;
    padding: 2.036vw 4.071vw;
    border-width: 0px 0.254vw 0.254vw;
    border-style: solid;
    border-color: var(--Color_GrayScale-Gray95);
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 3.562vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page .page-tourist-center .other-facilities .other-facilities-wrapper {
    display: flex;
    flex-direction: column;
    gap: 8.142vw;
    background: #fff;
    padding: 8.142vw;
  }

  .lower-page
    .page-tourist-center
    .other-facilities
    .other-facilities-wrapper
    .facility-item {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 4.071vw;
  }

  .lower-page
    .page-tourist-center
    .other-facilities
    .other-facilities-wrapper
    .facility-item
    .shop-thumbnail {
    width: 100%;
    height: auto;
  }

  .lower-page
    .page-tourist-center
    .other-facilities
    .other-facilities-wrapper
    .facility-item
    .facility-meta {
    background: var(--Color_GrayScale-White);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: baseline;
    height: unset;
  }

  .lower-page
    .page-tourist-center
    .other-facilities
    .other-facilities-wrapper
    .facility-item
    .facility-meta
    .facility-name {
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 5.598vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page
    .page-tourist-center
    .other-facilities
    .other-facilities-wrapper
    .facility-item
    .facility-meta
    p {
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 3.562vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    margin-top: 2.036vw;
  }

  .lower-page
    .page-tourist-center
    .other-facilities
    .other-facilities-wrapper
    .facility-item
    .facility-meta
    .external-link-wrapper {
    margin-top: 4.071vw;
    width: 100%;
  }

  .lower-page
    .page-tourist-center
    .other-facilities
    .other-facilities-wrapper
    .facility-item
    .facility-meta
    .external-link-wrapper
    a.external-link {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 2.036vw;
    width: 100%;
    height: 13.232vw;
    border: 1px solid var(--Color-Primary);
    border-radius: 15.267vw;
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 3.562vw;
    line-height: 150%;
    color: var(--Color-Primary);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
  }

  .lower-page
    .page-tourist-center
    .other-facilities
    .other-facilities-wrapper
    .facility-item
    .facility-meta
    .external-link-wrapper
    a.external-link::after {
    content: "";
    display: inline-block;
    width: 5.089vw;
    height: 5.089vw;
    background-image: url(../images/common/icon_blank.svg);
    background-size: cover;
    background-repeat: no-repeat;
    margin-left: 2.036vw;
  }

  .lower-page
    .page-tourist-center
    .other-facilities
    .other-facilities-wrapper
    .facility-item
    .link-flex {
    display: flex;
    flex-direction: column;
    gap: 2.036vw;
    margin-top: 2.036vw;
  }

  .lower-page
    .page-tourist-center
    .other-facilities
    .other-facilities-wrapper
    .facility-item
    .link-flex
    a {
    font-weight: 400;
    font-size: 3.562vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color-Primary);
  }
}

/* 楽しむページ */
.has-mv .page-container section {
  margin-bottom: 80px;
}

@media (min-width: 1025px) {
  /* 楽しむページ */
  .has-mv .page-container section {
    margin-bottom: 5.442vw;
  }
}

@media (max-width: 1024px) {
  /* 楽しむページ */
  .has-mv .page-container section {
    margin-bottom: 20.356vw;
  }
}

/* mv-area のスタイル */
.has-mv .mv-area.norikura {
  background-image: url("../images/enjoy/mv-norikura.jpg");
}

.has-mv .mv-area.ichinose-sogen {
  background-image: url("../images/enjoy/mv-ichinose-sogen.jpg");
}

.has-mv .mv-area.norikura-hoji {
  background-image: url("../images/enjoy/mv-norikura-hoji.jpg");
}

.has-mv .mv-area.onsenkyo {
  background-image: url("../images/enjoy/mv-onsenkyo.jpg");
}

.has-mv .mv-area.activity {
  background-image: url("../images/enjoy/mv-activity.jpg");
}

@media (max-width: 1024px) {
  /* mv-area のスタイル */
  .has-mv .mv-area.norikura {
    background-image: url("../images/enjoy/sp/mv-norikura.jpg");
  }

  .has-mv .mv-area.ichinose-sogen {
    background-image: url("../images/enjoy/sp/mv-ichinose-sogen.jpg");
  }

  .has-mv .mv-area.norikura-hoji {
    background-image: url("../images/enjoy/sp/mv-norikura-hoji.jpg");
  }

  .has-mv .mv-area.onsenkyo {
    background-image: url("../images/enjoy/sp/mv-onsenkyo.jpg");
  }

  .has-mv .mv-area.activity {
    background-image: url("../images/enjoy/sp/mv-activity.jpg");
  }
}

.lower-page .enjoy-menu h2 {
  text-align: left;
}

@media (min-width: 1025px) {
  /* 楽しむページ */
  .has-mv .page-container section {
    margin-bottom: 10.884vw;
  }

  .lower-page .page-container .page-description .page-flex {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 4.354vw;
    width: fit-content;
    max-width: 67.19vw;
    margin: 0 auto;
  }

  .lower-page .page-container .page-description .page-flex p {
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 0.952vw;
    line-height: 2.3;
    letter-spacing: 0.03em;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page .page-container .page-description .page-flex div {
    display: flex;
    flex-direction: column;
    gap: 1.088vw;
  }
}

@media (max-width: 1024px) {
  .lower-page .enjoy-menu h2 {
    text-align: left;
  }

  .lower-page .page-container .page-description .page-flex {
    display: flex;
    flex-direction: column;
    align-items: unset;
    justify-content: space-between;
    gap: 0;
    width: 100%;
    margin: 0 auto;
  }

  .lower-page .page-container .page-description .page-flex h2 {
    text-align: left;
    flex-shrink: 0;
  }

  .lower-page .page-container .page-description .page-flex p {
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 3.562vw;
    line-height: 2.3;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page .page-container .page-description .page-flex div {
    display: flex;
    flex-direction: column;
    gap: 4.071vw;
  }
}

/* 楽しむトップページ */
.lower-page .page-container .enjoy-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 64px; /* アイテム間のギャップ */
}

.lower-page .page-container .enjoy-list .enjoy-item:nth-child(2n) {
  margin-top: 80px;
}

.lower-page .page-container .enjoy-list .enjoy-item a {
  text-decoration: none;
  color: var(--Color_GrayScale-Black);
}

.lower-page .page-container .enjoy-list .enjoy-item .enjoy-item-thumbnail {
  margin-bottom: 32px;
}

.lower-page .page-container .enjoy-list .enjoy-item .enjoy-item-title {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #ced7e2;
}

.lower-page .page-container .enjoy-list .enjoy-item .enjoy-item-title h3 {
  font-weight: 300;
  font-size: 22px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: var(--Color_GrayScale-Black);
}

.lower-page .page-container .enjoy-list .enjoy-item .enjoy-item-title .num {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--Color-Primary);
}

.lower-page .page-container .enjoy-list p {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-Black);
}

@media (min-width: 1025px) {
  /* 楽しむトップページ */
  .lower-page .page-container .enjoy-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4.354vw; /* アイテム間のギャップ */
    width: 77.959vw;
    margin: 0 auto 10.884vw;
  }

  .lower-page .page-container .enjoy-list .enjoy-item:nth-child(2n) {
    margin-top: 5.442vw;
  }

  .lower-page .page-container .enjoy-list .enjoy-item .enjoy-item-thumbnail {
    margin-bottom: 2.177vw;
    height: 24.558vw;
    overflow: hidden;
  }

  .lower-page
    .page-container
    .enjoy-list
    .enjoy-item
    a
    .enjoy-item-thumbnail
    img {
    object-fit: cover;
    object-position: center;
    transition: transform 0.5s ease; /* アニメーションの追加 */
    width: 100%;
    height: 100%;
  }

  .lower-page
    .page-container
    .enjoy-list
    .enjoy-item
    a:hover
    .enjoy-item-thumbnail
    img {
    transform: scale(1.05);
  }

  .lower-page .page-container .enjoy-list .enjoy-item .enjoy-item-title {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.088vw;
    padding-bottom: 1.088vw;
    border-bottom: 1px solid #ced7e2;
  }

  .lower-page .page-container .enjoy-list .enjoy-item .enjoy-item-title h3 {
    font-weight: 300;
    font-size: 1.497vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page .page-container .enjoy-list .enjoy-item .enjoy-item-title .num {
    font-weight: 500;
    font-size: 0.952vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color-Primary);
  }

  .lower-page .page-container .enjoy-list p {
    font-weight: 400;
    font-size: 0.952vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
  }
}

@media (max-width: 1024px) {
  /* 楽しむトップページ */
  .lower-page .page-container .enjoy-list {
    display: block;
    width: 87.786vw;
    margin: 0 auto;
  }

  .lower-page .page-container .enjoy-list .enjoy-item:nth-child(2n) {
    margin-top: 0;
  }

  .lower-page .page-container .enjoy-list .enjoy-item {
    margin-bottom: 16.285vw;
  }

  .lower-page .page-container .enjoy-list .enjoy-item a {
    text-decoration: none;
    color: var(--Color_GrayScale-Black);
    display: block;
  }

  .lower-page .page-container .enjoy-list .enjoy-item .enjoy-item-thumbnail {
    margin-bottom: 8.142vw;
  }

  .lower-page .page-container .enjoy-list .enjoy-item .enjoy-item-title {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4.071vw;
    padding-bottom: 4.071vw;
    border-bottom: 1px solid #ced7e2;
  }

  .lower-page .page-container .enjoy-list .enjoy-item .enjoy-item-title h3 {
    font-weight: 300;
    font-size: 5.598vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page .page-container .enjoy-list .enjoy-item .enjoy-item-title .num {
    font-weight: 500;
    font-size: 3.053vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color-Primary);
  }

  .lower-page .page-container .enjoy-list p {
    font-weight: 400;
    font-size: 3.562vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
  }
}

/* エコーラインページ */
.lower-page .page-container .echo-line-information {
  width: 986px;
  margin: 0 auto 160px;
}

.lower-page .page-container .echo-line-information .special-post {
  border: 1px solid #ced7e2;
  margin-bottom: 32px;
}

.lower-page .page-container .echo-line-information .special-post a {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 32px 64px;
  gap: 16px;
  text-decoration: none;
}

.lower-page .page-container .echo-line-information .special-post a h3 {
  font-weight: 300;
  font-size: 22px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #c22c2c;
  position: relative;
  padding-left: 40px;
}

.lower-page .page-container .echo-line-information .special-post a h3::before {
  content: "";
  position: absolute;
  top: 55%;
  left: 0;
  width: 32px;
  height: 32px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -1;
  transform: translateY(-50%);
  background-image: url(../images/common/icon_specialnote.svg);
}

.lower-page .page-container .echo-line-information .news-list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border-top: 1px solid #ced7e2;
}

.lower-page .page-container .echo-line-information .news-list .news-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  border-bottom: 1px solid #ced7e2;
  width: 100%;
}

.lower-page .page-container .echo-line-information .news-list .news-item a {
  padding: 32px 50px 32px 0;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 32px;
  width: 100%;
  text-decoration: none;
  position: relative;
}

.lower-page
  .page-container
  .echo-line-information
  .news-list
  .news-item
  a::after {
  content: "";
  position: absolute;
  margin-left: auto;
  background: url(../images/common/arrow_forward.svg);
  width: 25px;
  height: 25px;
  right: 0;
}

.lower-page
  .page-container
  .echo-line-information
  .news-list
  .news-item
  a
  .news-date,
.lower-page
  .page-container
  .echo-line-information
  .news-list
  .news-item
  a
  .news-category {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--Color-Primary);
  flex-shrink: 0;
}

.lower-page
  .page-container
  .echo-line-information
  .news-list
  .news-item
  a
  .news-title {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-Black);
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: 100%;
  white-space: nowrap;
}

@media (min-width: 1025px) {
  .lower-page .page-container .norikuradake-contents-wrapper {
    display: none;
  }

  .lower-page .page-container .norikuradake-contents-wrapper.visible {
    display: block;
  }

  .lower-page .page-container .echo-line-information {
    width: 67.075vw;
    margin: 0 auto 160px;
  }

  .lower-page .page-container .echo-line-information .special-post {
    border: 1px solid #ced7e2;
    margin-bottom: 2.177vw;
  }

  .lower-page .page-container .echo-line-information .special-post a {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 2.177vw 4.354vw;
    gap: 1.088vw;
    text-decoration: none;
    transition: background-color 0.5s ease;
  }

  .lower-page .page-container .echo-line-information .special-post a:hover {
  }

  .lower-page .page-container .echo-line-information .special-post a h3 {
    font-weight: 300;
    font-size: 1.497vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #c22c2c;
    position: relative;
    padding-left: 2.721vw;
  }

  .lower-page
    .page-container
    .echo-line-information
    .special-post
    a
    h3::before {
    content: "";
    position: absolute;
    top: 55%;
    left: 0;
    width: 2.177vw;
    height: 2.177vw;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1;
    transform: translateY(-50%);
    background-image: url(../images/common/icon_specialnote.svg);
  }

  .lower-page .page-container .echo-line-information .news-list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border-top: 0.068vw solid #ced7e2;
  }

  .lower-page .page-container .echo-line-information .news-list .news-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1.088vw;
    border-bottom: 0.068vw solid #ced7e2;
    width: 100%;
  }

  .lower-page .page-container .echo-line-information .news-list .news-item a {
    padding: 2.177vw 3.401vw 2.177vw 0;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 2.177vw;
    width: 100%;
    text-decoration: none;
    position: relative;
  }

  .lower-page
    .page-container
    .echo-line-information
    .news-list
    .news-item
    a::after {
    content: "";
    position: absolute;
    margin-left: auto;
    background-image: url(../images/common/arrow_forward.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: transform 0.5s ease-in-out;
    width: 1.701vw;
    height: 1.701vw;
    right: 0.68vw;
  }

  /* hover時のアニメーション */
  .lower-page
    .page-container
    .echo-line-information
    .news-list
    .news-item
    a:hover::after {
    animation: arrow-slide 0.5s ease-in-out forwards;
  }

  @keyframes arrow-slide {
    0% {
      transform: translateX(0);
      opacity: 1;
    }
    50% {
      transform: translateX(1vw);
      opacity: 0;
    }
    51% {
      transform: translateX(-1vw);
      opacity: 0;
    }
    100% {
      transform: translateX(0);
      opacity: 1;
    }
  }

  .lower-page
    .page-container
    .echo-line-information
    .news-list
    .news-item
    a
    .news-date,
  .lower-page
    .page-container
    .echo-line-information
    .news-list
    .news-item
    a
    .news-meta {
    display: flex;
    gap: 2.177vw;
  }

  .lower-page
    .page-container
    .echo-line-information
    .news-list
    .news-item
    a
    .news-date,
  .lower-page
    .page-container
    .echo-line-information
    .news-list
    .news-item
    a
    .news-category {
    font-weight: 500;
    font-size: 0.952vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color-Primary);
    flex-shrink: 0;
  }

  .lower-page
    .page-container
    .echo-line-information
    .news-list
    .news-item
    a
    .news-title {
    font-weight: 400;
    font-size: 0.952vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    text-overflow: ellipsis;
    overflow: hidden;
    max-width: 100%;
    white-space: nowrap;
    position: relative;
  }

  .lower-page
    .page-container
    .echo-line-information
    .news-list
    .news-item
    a:hover
    .news-title {
    color: var(--Color-Primary);
  }

  .lower-page
    .page-container
    .echo-line-information
    .news-list
    .news-item
    a
    .news-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: var(--Color-Primary);
    transform: scaleX(0); /* 初期状態ではスケールを0に */
    transform-origin: right; /* アニメーションの開始位置を右に */
    transition: transform 0.3s ease-in-out;
  }

  .lower-page
    .page-container
    .echo-line-information
    .news-list
    .news-item
    a:hover
    .news-title::after {
    transform: scaleX(1); /* ホバー時にスケールを1に */
    transform-origin: left; /* ホバー時にアニメーションを左から右に */
  }

  .lower-page
    .page-container
    .echo-line-information
    .news-list
    .news-item
    a:not(:hover)
    .news-title::after {
    transform: scaleX(0); /* ホバー解除時にスケールを0に */
    transition: transform 0.3s ease-in-out;
    transform-origin: right; /* 解除時に右から左にアニメーション */
  }

  .lower-page .norikuradake-tabs {
    width: fit-content;
    position: fixed;
    bottom: 0;
    left: calc(50% - 11.156vw);
  }

  .lower-page .norikuradake-tabs .tabs-container {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 1.088vw 2.721vw;
    gap: 1.088vw;
    width: 100%;
    height: 3.81vw;
    margin: 0 auto;
  }

  .lower-page .norikuradake-tabs .tabs-container .background-blur {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(32, 82, 137, 0.8); /* 半透明の青色 */
    backdrop-filter: blur(4px); /* 背景をぼかす */
    border-radius: 0.544vw 0.544vw 0 0;
    z-index: 0;
  }

  .lower-page .norikuradake-tabs .tabs-container > * {
    position: relative;
    z-index: 1;
    display: flex;
    gap: 2.177vw;
    justify-content: space-between;
    align-items: center;
  }

  .lower-page .norikuradake-tabs .tabs-container .background-blur::before,
  .lower-page .norikuradake-tabs .tabs-container .background-blur::after {
    content: "";
    position: absolute;
    width: 0.544vw;
    height: 0.544vw;
    bottom: 0;
    opacity: 0.8;
  }

  .lower-page .norikuradake-tabs .tabs-container .background-blur::before {
    left: -0.48vw;
    background-image: url("../images/stay/shop-filter-container_before.svg");
    background-size: 100%;
  }

  .lower-page .norikuradake-tabs .tabs-container .background-blur::after {
    right: -0.48vw;
    background-image: url("../images/stay/shop-filter-container_after.svg");
    background-size: 100%;
  }

  .lower-page .norikuradake-tabs .tabs-container .title {
    font-weight: 400;
    font-size: 0.952vw;
    line-height: 1.5;
    color: #f2f2f2;
    position: relative;
    padding-right: 1.088vw;
  }

  .lower-page .norikuradake-tabs .tabs-container .title::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 0.1vw; /* 縦線の太さ */
    height: 100%;
    background-color: var(--Color_GrayScale-White); /* 縦線の色 */
    opacity: 0.6;
  }

  .lower-page .norikuradake-tabs .tabs-container button {
    position: relative;
    font-weight: var(--FontWeight-JP-Medium);
    font-size: 1.088vw;
    line-height: 1.5;
    color: var(--Color_GrayScale-White);
    opacity: 0.6;
    text-decoration: none;
    padding-left: 0.816vw;
    background: none; /* 背景を完全に消す */
    border: none; /* 枠線を消す */
    outline: none; /* フォーカス時のアウトラインを消す */
    cursor: pointer; /* クリック可能であることを示す */
  }

  .lower-page .norikuradake-tabs .tabs-container button.visible {
    opacity: 1;
  }

  .lower-page .norikuradake-tabs .tabs-container button::before {
    content: "";
    position: absolute;
    width: 0.272vw;
    height: 0.272vw;
    background: transparent;
    border-radius: 0.544vw;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }

  .lower-page .norikuradake-tabs .tabs-container button.visible::before {
    background: var(--Color_GrayScale-White);
  }
}

@media (max-width: 1024px) {
  .lower-page .page-container .norikuradake-contents-wrapper {
    display: none;
  }

  .lower-page .page-container .norikuradake-contents-wrapper.visible {
    display: block;
  }

  /* エコーラインページ */
  .lower-page .page-container .echo-line-information {
    width: 87.786vw;
    margin: 0 auto 20.356vw;
  }

  .lower-page .page-container .echo-line-information h2 {
    text-align: center;
    font-size: 10.178vw;
  }

  .lower-page .page-container .echo-line-information .special-post {
    border: 1px solid #ced7e2;
    margin-bottom: 8.142vw;
  }

  .lower-page .page-container .echo-line-information .special-post a {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    padding: 5.142vw;
    gap: 4.071vw;
    text-decoration: none;
  }

  .lower-page .page-container .echo-line-information .special-post a h3 {
    font-weight: 300;
    font-size: 5.344vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #c22c2c;
    position: relative;
    padding-left: 10.178vw;
  }

  .lower-page
    .page-container
    .echo-line-information
    .special-post
    a
    h3::before {
    content: "";
    position: absolute;
    top: 55%;
    left: 0;
    width: 8.142vw;
    height: 8.142vw;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1;
    transform: translateY(-50%);
    background-image: url(../images/common/icon_specialnote.svg);
  }

  .lower-page .page-container .echo-line-information .news-list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border-top: 1px solid #ced7e2;
  }

  .lower-page .page-container .echo-line-information .news-list .news-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4.071vw;
    border-bottom: 1px solid #ced7e2;
    width: 100%;
  }

  .lower-page .page-container .echo-line-information .news-list .news-item a {
    padding: 8.142vw 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 4.071vw;
    width: 100%;
    text-decoration: none;
    position: relative;
  }

  .lower-page
    .page-container
    .echo-line-information
    .news-list
    .news-item
    .news-meta {
    display: flex;
    gap: 8.142vw;
  }

  .lower-page
    .page-container
    .echo-line-information
    .news-list
    .news-item
    a::after {
    display: none;
  }

  .lower-page
    .page-container
    .echo-line-information
    .news-list
    .news-item
    a
    .news-date,
  .lower-page
    .page-container
    .echo-line-information
    .news-list
    .news-item
    a
    .news-category {
    font-weight: 500;
    font-size: 3.562vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color-Primary);
    flex-shrink: 0;
  }

  .lower-page
    .page-container
    .echo-line-information
    .news-list
    .news-item
    a
    .news-title {
    font-weight: 400;
    font-size: 3.562vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    text-overflow: ellipsis;
    overflow: hidden;
    max-width: 100%;
    white-space: nowrap;
  }

  .lower-page .norikuradake-tabs {
    width: fit-content;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
  }

  .lower-page .norikuradake-tabs .tabs-container {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 4.071vw 8.142vw;
    gap: 1.088vw;
    width: 100%;
    margin: 0 auto;
  }

  .lower-page .norikuradake-tabs .tabs-container .background-blur {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    background: rgba(32, 82, 137, 0.8);
    backdrop-filter: blur(4px);
    border-radius: 2.036vw 2.036vw 0 0;
  }

  .lower-page .norikuradake-tabs .tabs-container > * {
    position: relative;
    z-index: 1;
    display: flex;
    gap: 4.071vw;
    justify-content: space-between;
    align-items: center;
  }

  .lower-page .norikuradake-tabs .tabs-container .background-blur::before,
  .lower-page .norikuradake-tabs .tabs-container .background-blur::after {
    content: "";
    position: absolute;
    width: 2.036vw;
    height: 2.036vw;
    bottom: 0;
    opacity: 0.8;
  }

  .lower-page .norikuradake-tabs .tabs-container .background-blur::before {
    left: -2.036vw;
    background-image: url("../images/stay/shop-filter-container_before.svg");
    background-size: 100%;
  }

  .lower-page .norikuradake-tabs .tabs-container .background-blur::after {
    right: -2.036vw;
    background-image: url("../images/stay/shop-filter-container_after.svg");
    background-size: 100%;
  }

  .lower-page .norikuradake-tabs .tabs-container .title {
    font-weight: 400;
    font-size: 0.952vw;
    line-height: 1.5;
    color: #f2f2f2;
    position: relative;
    padding-right: 1.088vw;
  }

  .lower-page .norikuradake-tabs .tabs-container .title::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 0.1vw; /* 縦線の太さ */
    height: 100%;
    background-color: var(--Color_GrayScale-White); /* 縦線の色 */
    opacity: 0.6;
  }

  .lower-page .norikuradake-tabs .tabs-container button {
    position: relative;
    font-weight: var(--FontWeight-JP-Medium);
    font-size: 3.562vw;
    line-height: 1.5;
    color: var(--Color_GrayScale-White);
    opacity: 0.6;
    text-decoration: none;
    padding-left: 3.053vw;
    background: none;
    border: none;
    outline: none;
    cursor: pointer;
  }

  .lower-page .norikuradake-tabs .tabs-container button.visible {
    opacity: 1;
  }

  .lower-page .norikuradake-tabs .tabs-container button::before {
    content: "";
    position: absolute;
    width: 1.018vw;
    height: 1.018vw;
    background: transparent;
    border-radius: 0.544vw;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }

  .lower-page .norikuradake-tabs .tabs-container button.visible::before {
    background: var(--Color_GrayScale-White);
  }
}

/* ライチョウルートページ */
.lower-page .page-container .raicho-environment {
  padding-left: 320px;
  margin-bottom: 160px;
}

.lower-page .page-container .raicho-environment h2 {
  text-align: left;
}

.lower-page .page-container .raicho-access p {
  margin-bottom: 32px;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-feature-settings: "halt" on;
  color: var(--Color_GrayScale-Black);
}

.lower-page .page-container .raicho-environment {
  padding-left: 320px;
  margin-bottom: 160px;
}

.lower-page .page-container .raicho-environment h2 {
  text-align: left;
}

.lower-page .page-container .raicho-environment p {
  margin-bottom: 32px;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-feature-settings: "halt" on;
  color: var(--Color_GrayScale-Black);
}

.lower-page .page-container .raicho-environment .clause {
  display: flex;
  flex-direction: column;
  align-items: baseline;
  padding: 32px;
  gap: 16px;
  background: #ffffff;
  border: 1px solid #ced7e2;
  margin-bottom: 32px;
}

.lower-page .page-container .raicho-environment .clause dl {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  padding: 0px;
  gap: 16px;
}

.lower-page .page-container .raicho-environment .clause dl dt {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0px;
  gap: 16px;
  width: 153px;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-feature-settings: "halt" on;
  color: var(--Color_GrayScale-Black);
}

.lower-page .page-container .raicho-environment .clause dl dt span {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 21px;
  background: #accaec;
  border-radius: 32px;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.05em;
  font-feature-settings: "halt" on;
  color: #ffffff;
}

.lower-page .page-container .raicho-environment .clause dl dd {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-feature-settings: "halt" on;
  color: var(--Color_GrayScale-Black);
}

.lower-page .page-container .raicho-access {
  padding-right: 320px;
  margin-bottom: 160px;
}

.lower-page .page-container .raicho-access h2 {
  text-align: left;
}

.lower-page .page-container .raicho-access p {
  margin-bottom: 64px;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-feature-settings: "halt" on;
  color: var(--Color_GrayScale-Black);
}

.lower-page .page-container .raicho-access .access-info {
  margin-bottom: 64px;
}

.lower-page .page-container .raicho-access .access-info h4 {
  position: relative;
  margin-bottom: 32px;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: var(--Color-Primary);
  padding-left: 18px;
}

.lower-page .page-container .raicho-access .access-info h4::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 2px;
  height: 100%;
  background-color: var(--Color-Primary);
}

.lower-page .page-container .raicho-access .access-info:last-child {
  margin-bottom: 0;
}

@media (min-width: 1025px) {
  /* ライチョウルートページ */
  .lower-page .page-container .raicho-environment {
    padding-left: 21.769vw;
    margin-bottom: 10.884vw;
  }

  .lower-page .page-container .raicho-access p {
    margin-bottom: 2.177vw;
    font-weight: 400;
    font-size: 0.952vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    font-feature-settings: "halt" on;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page .page-container .raicho-environment {
    padding-left: 21.769vw;
    width: 77.959vw;
    margin: 0 auto 10.884vw;
  }

  .lower-page .page-container .raicho-environment p {
    margin-bottom: 2.177vw;
    font-weight: 400;
    font-size: 0.952vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    font-feature-settings: "halt" on;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page .page-container .raicho-environment .external-link-wrapper {
    width: 22.653vw;
  }

  .lower-page
    .page-container
    .raicho-environment
    .external-link-wrapper
    a.external-link {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0.544vw;
    width: 100%;
    height: 3.537vw;
    border: 1px solid var(--Color-Primary);
    border-radius: 4.082vw;
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 0.952vw;
    line-height: 150%;
    color: var(--Color-Primary);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
  }

  .lower-page
    .page-container
    .raicho-environment
    .external-link-wrapper
    a.external-link::after {
    content: "";
    display: inline-block;
    width: 1.361vw;
    height: 1.361vw;
    background-image: url(../images/common/icon_blank.svg);
    background-size: cover;
    background-repeat: no-repeat;
    margin-left: 0.544vw;
  }

  .lower-page .page-container .raicho-environment .clause {
    display: flex;
    flex-direction: column;
    align-items: baseline;
    padding: 2.177vw;
    gap: 1.088vw;
    background: #ffffff;
    border: 0.068vw solid #ced7e2;
    margin-bottom: 2.177vw;
  }

  .lower-page .page-container .raicho-environment .clause dl {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    padding: 0px;
    gap: 1.088vw;
  }

  .lower-page .page-container .raicho-environment .clause dl dt {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0px;
    gap: 1.088vw;
    width: 10.408vw;
    font-weight: 500;
    font-size: 0.952vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-feature-settings: "halt" on;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page .page-container .raicho-environment .clause dl dt span {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 2.177vw;
    height: 1.429vw;
    background: #accaec;
    border-radius: 2.177vw;
    font-weight: 500;
    font-size: 0.884vw;
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0.05em;
    font-feature-settings: "halt" on;
    color: #ffffff;
  }

  .lower-page .page-container .raicho-environment .clause dl dd {
    font-weight: 400;
    font-size: 0.952vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-feature-settings: "halt" on;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page .page-container .raicho-access {
    padding-right: 21.769vw;
    width: 77.959vw;
    margin: 0 auto 10.884vw;
  }

  .lower-page .page-container .raicho-access p {
    margin-bottom: 4.354vw;
    font-weight: 400;
    font-size: 0.952vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    font-feature-settings: "halt" on;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page .page-container .raicho-access .access-info {
    margin-bottom: 4.354vw;
  }

  .lower-page .page-container .raicho-access .access-info h4 {
    position: relative;
    margin-bottom: 2.177vw;
    font-weight: 400;
    font-size: 1.088vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--Color-Primary);
    padding-left: 1.224vw;
  }

  .lower-page .page-container .raicho-access .access-info h4::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0.136vw;
    height: 100%;
    background-color: var(--Color-Primary);
  }
}

@media (max-width: 1024px) {
  /* ライチョウルートページ */
  .lower-page .page-container.page-raicho-route .width-short {
    width: 87.786vw;
    margin: 0 auto 20.356vw;
  }

  .lower-page .page-container .raicho-environment h2 {
    text-align: left;
  }

  .lower-page .page-container .raicho-access p {
    margin-bottom: 8.142vw;
    font-weight: 400;
    font-size: 3.562vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    font-feature-settings: "halt" on;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page .page-container .raicho-environment {
    padding-left: 0;
    width: 87.786vw;
    margin: 0 auto 20.356vw;
  }

  .lower-page .page-container .raicho-environment h2 {
    text-align: left;
  }

  .lower-page .page-container .raicho-environment p {
    margin-bottom: 8.142vw;
    font-weight: 400;
    font-size: 3.562vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    font-feature-settings: "halt" on;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page .page-container .raicho-environment .clause {
    display: flex;
    flex-direction: column;
    align-items: baseline;
    padding: 8.142vw;
    gap: 4.071vw;
    background: #ffffff;
    border: 1px solid #ced7e2;
    margin-bottom: 8.142vw;
  }

  .lower-page .page-container .raicho-environment .clause dl {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 0px;
    gap: 4.071vw;
  }

  .lower-page .page-container .raicho-environment .clause dl dt {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0px;
    gap: 4.071vw;
    width: 38.931vw;
    font-weight: 500;
    font-size: 3.562vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-feature-settings: "halt" on;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page .page-container .raicho-environment .clause dl dt span {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 8.142vw;
    height: 5.344vw;
    background: #accaec;
    border-radius: 8.142vw;
    font-weight: 500;
    font-size: 3.562vw;
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0.05em;
    font-feature-settings: "halt" on;
    color: #ffffff;
  }

  .lower-page .page-container .raicho-environment .external-link-wrapper {
    width: 100%;
  }

  .lower-page
    .page-container
    .raicho-environment
    .external-link-wrapper
    a.external-link {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0.544vw;
    width: 100%;
    border: 1px solid var(--Color-Primary);
    border-radius: 15.267vw;
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 3.562vw;
    line-height: 150%;
    color: var(--Color-Primary);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    padding: 4.071vw 8.142vw;
  }

  .lower-page
    .page-container
    .raicho-environment
    .external-link-wrapper
    a.external-link::after {
    content: "";
    display: inline-block;
    width: 5.089vw;
    height: 5.089vw;
    background-image: url(../images/common/icon_blank.svg);
    background-size: cover;
    background-repeat: no-repeat;
  }

  .lower-page .page-container .raicho-environment .clause dl dd {
    font-weight: 400;
    font-size: 3.562vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-feature-settings: "halt" on;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page .page-container .raicho-access {
    padding-right: 0;
    width: 87.786vw;
    margin: 0 auto 20.356vw;
  }

  .lower-page .page-container .raicho-access h2 {
    text-align: left;
  }

  .lower-page .page-container .raicho-access p {
    margin-bottom: 16.285vw;
    font-weight: 400;
    font-size: 3.562vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    font-feature-settings: "halt" on;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page .page-container .raicho-access .access-info {
    margin-bottom: 16.285vw;
  }

  .lower-page .page-container .raicho-access .access-info h4 {
    position: relative;
    margin-bottom: 8.142vw;
    font-weight: 400;
    font-size: 4.071vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--Color-Primary);
    padding-left: 4.58vw;
  }

  .lower-page .page-container .raicho-access .access-info h4::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0.509vw;
    height: 100%;
    background-color: var(--Color-Primary);
  }

  .lower-page .page-container .raicho-access .access-info:last-child {
    margin-bottom: 0;
  }
}

/* 歩治ページ */
.lower-page .page-container .section-bottom-view-more-btn-area {
  margin-top: 64px;
}

.lower-page .page-container .section-bottom-view-more-btn-area a {
  margin: 0 auto;
}

@media (min-width: 1025px) {
  .lower-page .page-container .section-bottom-view-more-btn-area {
    margin-top: 4.354vw;
  }
}

@media (max-width: 1024px) {
  .lower-page .page-container .section-bottom-view-more-btn-area {
    margin-top: 16.285vw;
  }
}

/* 温泉郷ページ */
.lower-page .page-container .onsenkyo-list .onsenkyo-info {
  padding: 64px 0px;
  border-width: 1px 0px;
  border-style: solid;
  border-color: #ced7e2;
}

.lower-page .page-container .onsenkyo-list .onsenkyo-info .onsenkyo-flex {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 64px;
}

.lower-page
  .page-container
  .onsenkyo-list
  .onsenkyo-info
  .onsenkyo-flex
  .onsenkyo-left {
  position: relative;
  width: 480px;
  flex-shrink: 0;
}

.lower-page
  .page-container
  .onsenkyo-list
  .onsenkyo-info
  .onsenkyo-flex
  .onsenkyo-left
  .onsenkyo-name {
  position: absolute;
  bottom: 32px;
  left: 32px;
}

.lower-page
  .page-container
  .onsenkyo-list
  .onsenkyo-info
  .onsenkyo-flex
  .onsenkyo-right
  p {
  padding: 0px 0px 32px;
  border-bottom: 1px dashed #ced7e2;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-Black);
  margin-bottom: 32px;
}

.lower-page
  .page-container
  .onsenkyo-list
  .onsenkyo-info
  .onsenkyo-flex
  .onsenkyo-right
  dl {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 32px;
  margin-bottom: 32px;
}

.lower-page
  .page-container
  .onsenkyo-list
  .onsenkyo-info
  .onsenkyo-flex
  .onsenkyo-right
  dl:last-child {
  margin-bottom: 0;
}

.lower-page
  .page-container
  .onsenkyo-list
  .onsenkyo-info
  .onsenkyo-flex
  .onsenkyo-right
  dl
  dt {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-Black);
  position: relative;
  width: 120px;
  flex-shrink: 0;
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 28px;
  background-size: 24px;
}

.lower-page
  .page-container
  .onsenkyo-list
  .onsenkyo-info
  .onsenkyo-flex
  .onsenkyo-right
  dl
  dt.quality {
  background-image: url(../images/common/icon_onsen.svg);
}

.lower-page
  .page-container
  .onsenkyo-list
  .onsenkyo-info
  .onsenkyo-flex
  .onsenkyo-right
  dl
  dt.place {
  background-image: url(../images/common/icon_adress.svg);
}

.lower-page
  .page-container
  .onsenkyo-list
  .onsenkyo-info
  .onsenkyo-flex
  .onsenkyo-right
  dl
  dd {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-Black);
}

/* ショップ情報コンテナ */
.lower-page .onsen-list .onsen-info {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3カラム */
  gap: 64px; /* アイテム間隔（線の分を考慮） */
  padding-bottom: 64px; /* 下の余白 */
  position: relative;
  display: none;
}

.lower-page .onsen-list .onsen-info:not(:first-of-type) {
  padding-bottom: 0; /* 下の余白 */
}

.lower-page .onsen-list .onsen-info:nth-child(-n + 3) {
  display: grid; /* 最初の3つを表示 */
}

/* 各ショップ情報 */
.lower-page .onsen-list .onsen-item {
  flex: 1;
  position: relative;
}

.lower-page .onsen-list .onsen-item.hidden {
  display: none;
}

/* 横線 (セクション間) */
.lower-page .onsen-list .onsen-info:first-of-type::after {
  content: "";
  position: absolute;
  bottom: 32px;
  width: 100%;
  height: 1px;
  background-color: var(--Color-Border);
}

/* 縦線 (アイテム間) */
.lower-page .onsen-list .onsen-item:not(:nth-child(3n))::after {
  content: "";
  position: absolute;
  top: 0;
  right: -32px;
  width: 1px;
  height: 100%;
  background-color: var(--Color-Border);
}

/* サムネイル画像 */
.lower-page .onsen-list .onsen-item .onsen-thumbnail {
  display: block;
  background-color: #fff; /* 背景白 */
  width: 100%; /* 親要素に対して最大幅 */
  height: 226px;
  object-fit: cover; /* 画像をトリミングしつつフィット */
  margin-bottom: 16px;
}

/* ショップ名 */
.lower-page .onsen-list .onsen-item .onsen-name {
  font-size: 16px;
  font-weight: var(--FontWeight-JP-Regular);
  color: var(--Color_GrayScale-Black);
  line-height: 1.8;
  margin-bottom: 16px;
}

/* 住所・電話番号・リンクの共通スタイル */
.lower-page .onsen-list .onsen-item .onsen-address,
.lower-page .onsen-list .onsen-item .onsen-phone,
.lower-page .onsen-list .onsen-item .onsen-link,
.lower-page .onsen-list .onsen-item .onsen-etc {
  font-size: 14px;
  line-height: 1.8;
  padding: 4px 0;
  border-bottom: 1px dashed var(--Color-Border);
  display: flex;
  align-items: center;
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 36px;
  background-size: 24px;
}

.lower-page .onsen-list .onsen-item .onsen-link {
  color: var(--Color_GrayScale-Black);
}

.lower-page .onsen-list .onsen-item .onsen-etc {
  border-bottom: none;
}

/* 住所アイコン */
.lower-page .onsen-list .onsen-item .onsen-address {
  background-image: url("../images/common/icon_adress.svg");
}

/* 電話番号アイコン */
.lower-page .onsen-list .onsen-item .onsen-phone {
  background-image: url("../images/common/icon_phone.svg");
}

/* サイトリンクアイコン */
.lower-page .onsen-list .onsen-item .onsen-link {
  background-image: url("../images/common/icon_url.svg");
}

/* 温泉アイコン */
.lower-page .onsen-list .onsen-item .onsen-etc {
  background-image: url("../images/common/icon_onsen.svg");
}

@media (min-width: 1025px) {
  /* 温泉郷ページ */
  .lower-page .page-container .onsenkyo-list .onsenkyo-info {
    padding: 4.354vw 0px;
    border-width: 0.068vw 0px;
    border-style: solid;
    border-color: #ced7e2;
  }

  .lower-page .page-container .onsenkyo-list .onsenkyo-info .onsenkyo-flex {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 4.354vw;
  }

  .lower-page
    .page-container
    .onsenkyo-list
    .onsenkyo-info
    .onsenkyo-flex
    .onsenkyo-left {
    position: relative;
    width: 32.653vw;
    flex-shrink: 0;
  }

  .lower-page
    .page-container
    .onsenkyo-list
    .onsenkyo-info
    .onsenkyo-flex
    .onsenkyo-left
    .onsenkyo-name {
    position: absolute;
    bottom: 2.177vw;
    left: 2.177vw;
  }

  .lower-page
    .page-container
    .onsenkyo-list
    .onsenkyo-info
    .onsenkyo-flex
    .onsenkyo-left
    .onsenkyo-name
    p {
    font-weight: 300;
    font-size: 1.497vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--Color_GrayScale-White);
  }

  .lower-page
    .page-container
    .onsenkyo-list
    .onsenkyo-info
    .onsenkyo-flex
    .onsenkyo-left
    .onsenkyo-name
    p
    span {
    font-weight: 500;
    font-size: 0.816vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--Color_GrayScale-White);
  }

  .lower-page
    .page-container
    .onsenkyo-list
    .onsenkyo-info
    .onsenkyo-flex
    .onsenkyo-right
    p {
    padding: 0px 0px 2.177vw;
    border-bottom: 1px dashed #ced7e2;
    font-weight: 400;
    font-size: 0.952vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 2.177vw;
  }

  .lower-page
    .page-container
    .onsenkyo-list
    .onsenkyo-info
    .onsenkyo-flex
    .onsenkyo-right
    dl {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: 2.177vw;
    margin-bottom: 2.177vw;
  }

  .lower-page
    .page-container
    .onsenkyo-list
    .onsenkyo-info
    .onsenkyo-flex
    .onsenkyo-right
    dl
    dt {
    font-weight: 400;
    font-size: 0.952vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    position: relative;
    width: 8.163vw;
    flex-shrink: 0;
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 1.905vw;
    background-size: 1.633vw;
  }

  .lower-page
    .page-container
    .onsenkyo-list
    .onsenkyo-info
    .onsenkyo-flex
    .onsenkyo-right
    dl
    dd {
    font-weight: 400;
    font-size: 0.952vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page .onsenkyo-list,
  .lower-page .onsen-list,
  .lower-page .onsenkyo-banner {
    width: 77.959vw;
    margin: 0 auto 10.884vw;
  }

  /* ショップ情報コンテナ */
  .lower-page .onsen-list .onsen-info {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3カラム */
    gap: 4.354vw; /* アイテム間隔（線の分を考慮） */
    padding-bottom: 4.354vw; /* 下の余白 */
    position: relative;
    display: none;
  }

  /* 横線 (セクション間) */
  .lower-page .onsen-list .onsen-info:first-of-type::after {
    content: "";
    position: absolute;
    bottom: 2.177vw;
    width: 100%;
    height: 0.068vw;
    background-color: var(--Color-Border);
  }

  /* 縦線 (アイテム間) */
  .lower-page .onsen-list .onsen-item:not(:nth-child(3n))::after {
    content: "";
    position: absolute;
    top: 0;
    right: -2.177vw;
    width: 0.068vw;
    height: 100%;
    background-color: var(--Color-Border);
  }

  /* サムネイル画像 */
  .lower-page .onsen-list .onsen-item .onsen-thumbnail {
    display: block;
    background-color: #fff; /* 背景白 */
    width: 100%; /* 親要素に対して最大幅 */
    height: 15.374vw;
    object-fit: cover; /* 画像をトリミングしつつフィット */
    margin-bottom: 1.088vw;
  }

  /* ショップ名 */
  .lower-page .onsen-list .onsen-item .onsen-name {
    font-size: 1.088vw;
    font-weight: var(--FontWeight-JP-Regular);
    color: var(--Color_GrayScale-Black);
    line-height: 1.8;
    margin-bottom: 1.088vw;
  }

  /* 住所・電話番号・リンクの共通スタイル */
  .lower-page .onsen-list .onsen-item .onsen-address,
  .lower-page .onsen-list .onsen-item .onsen-phone,
  .lower-page .onsen-list .onsen-item .onsen-link,
  .lower-page .onsen-list .onsen-item .onsen-etc {
    font-size: 0.952vw;
    line-height: 1.8;
    padding: 0.272vw 0;
    border-bottom: 1px dashed var(--Color-Border);
    display: flex;
    align-items: center;
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 2.449vw;
    background-size: 1.633vw;
  }

  .lower-page .onsenkyo-banner {
    position: relative;
  }

  .lower-page .onsenkyo-banner img {
    width: 100%;
    height: auto;
    transition: opacity 0.5s ease;
  }

  .lower-page .onsenkyo-banner .hover {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
  }

  .lower-page .onsenkyo-banner a:hover .hover {
    opacity: 1;
  }
}

@media (max-width: 1024px) {
  /* 温泉郷ページ */
  .lower-page .page-onsenkyo section {
    width: 87.786vw;
    margin: 0 auto 16.285vw;
  }

  .lower-page .page-container .onsenkyo-list .onsenkyo-info {
    padding: 8.142vw 0px;
    border-width: 0.254vw 0px 0;
    border-style: solid;
    border-color: #ced7e2;
  }

  .lower-page .page-container .onsenkyo-list .onsenkyo-info:last-of-type {
    border-width: 0 0 0.254vw;
  }

  .lower-page .page-container .onsenkyo-list .onsenkyo-info .onsenkyo-flex {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 8.142vw;
  }

  .lower-page
    .page-container
    .onsenkyo-list
    .onsenkyo-info
    .onsenkyo-flex
    .onsenkyo-left {
    position: relative;
    width: 100%;
    flex-shrink: 0;
  }

  .lower-page
    .page-container
    .onsenkyo-list
    .onsenkyo-info
    .onsenkyo-flex
    .onsenkyo-left
    .onsenkyo-name {
    position: absolute;
    bottom: 8.142vw;
    left: 8.142vw;
  }

  .lower-page
    .page-container
    .onsenkyo-list
    .onsenkyo-info
    .onsenkyo-flex
    .onsenkyo-left
    .onsenkyo-name
    p {
    font-weight: 300;
    font-size: 5.598vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--Color_GrayScale-White);
  }

  .lower-page
    .page-container
    .onsenkyo-list
    .onsenkyo-info
    .onsenkyo-flex
    .onsenkyo-left
    .onsenkyo-name
    p
    span {
    font-weight: 500;
    font-size: 3.053vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--Color_GrayScale-White);
  }

  .lower-page
    .page-container
    .onsenkyo-list
    .onsenkyo-info
    .onsenkyo-flex
    .onsenkyo-right
    p {
    padding: 0px 0px 8.142vw;
    border-bottom: 1px dashed #ced7e2;
    font-weight: 400;
    font-size: 3.562vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 8.142vw;
  }

  .lower-page
    .page-container
    .onsenkyo-list
    .onsenkyo-info
    .onsenkyo-flex
    .onsenkyo-right
    dl {
    display: flex;
    flex-direction: column;
    align-items: baseline;
    gap: 2.036vw;
    margin-bottom: 4.071vw;
  }

  .lower-page
    .page-container
    .onsenkyo-list
    .onsenkyo-info
    .onsenkyo-flex
    .onsenkyo-right
    dl:last-child {
    margin-bottom: 0;
  }

  .lower-page
    .page-container
    .onsenkyo-list
    .onsenkyo-info
    .onsenkyo-flex
    .onsenkyo-right
    dl
    dt {
    font-weight: 400;
    font-size: 3.562vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    position: relative;
    width: 30.534vw;
    flex-shrink: 0;
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 7.125vw;
    background-size: 6.107vw;
  }

  .lower-page
    .page-container
    .onsenkyo-list
    .onsenkyo-info
    .onsenkyo-flex
    .onsenkyo-right
    dl
    dt.quality {
    background-image: url(../images/common/icon_onsen.svg);
  }

  .lower-page
    .page-container
    .onsenkyo-list
    .onsenkyo-info
    .onsenkyo-flex
    .onsenkyo-right
    dl
    dt.place {
    background-image: url(../images/common/icon_adress.svg);
  }

  .lower-page
    .page-container
    .onsenkyo-list
    .onsenkyo-info
    .onsenkyo-flex
    .onsenkyo-right
    dl
    dd {
    font-weight: 400;
    font-size: 3.562vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
  }

  /* ショップ情報コンテナ */
  .lower-page .onsen-list .onsen-info {
    display: flex !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 8.142vw;
    flex-direction: column;
    padding-bottom: 16.285vw;
  }

  .lower-page .onsen-list .onsen-info:not(:first-of-type) {
    padding-bottom: 0; /* 下の余白 */
  }

  .lower-page .onsen-list .onsen-info:nth-child(-n + 3) {
    display: grid; /* 最初の3つを表示 */
  }

  /* 各ショップ情報 */
  .lower-page .onsen-list .onsen-item {
    flex: 1;
    position: relative;
  }

  .lower-page .onsen-list .onsen-item.hidden {
    display: none;
  }

  /* 横線 (セクション間) */
  .lower-page .onsen-list .onsen-info:first-of-type::after {
    content: "";
    position: absolute;
    bottom: 8.142vw;
    width: 100%;
    height: 0.254vw;
    background-color: var(--Color-Border);
  }

  /* 縦線 (アイテム間) */
  .lower-page .onsen-list .onsen-item:not(:nth-child(3n))::after {
    content: "";
    position: absolute;
    top: 0;
    right: -8.142vw;
    width: 0.254vw;
    height: 100%;
    background-color: var(--Color-Border);
  }

  /* サムネイル画像 */
  .lower-page .onsen-list .onsen-item .onsen-thumbnail {
    display: block;
    background-color: #fff; /* 背景白 */
    width: 100%; /* 親要素に対して最大幅 */
    height: 57.506vw;
    object-fit: cover; /* 画像をトリミングしつつフィット */
    margin-bottom: 4.071vw;
  }

  /* ショップ名 */
  .lower-page .onsen-list .onsen-item .onsen-name {
    font-size: 4.071vw;
    font-weight: var(--FontWeight-JP-Regular);
    color: var(--Color_GrayScale-Black);
    line-height: 1.8;
    margin-bottom: 4.071vw;
  }

  /* 住所・電話番号・リンクの共通スタイル */
  .lower-page .onsen-list .onsen-item .onsen-address,
  .lower-page .onsen-list .onsen-item .onsen-phone,
  .lower-page .onsen-list .onsen-item .onsen-link,
  .lower-page .onsen-list .onsen-item .onsen-etc {
    font-size: 3.562vw;
    line-height: 1.8;
    padding: 1.018vw 0;
    border-bottom: 1px dashed var(--Color-Border);
    display: flex;
    align-items: center;
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 9.16vw;
    background-size: 6.107vw;
  }

  .lower-page .onsen-list .onsen-item .onsen-link {
    color: var(--Color_GrayScale-Black);
  }

  .lower-page .onsen-list .onsen-item .onsen-etc {
    border-bottom: none;
  }

  /* 住所アイコン */
  .lower-page .onsen-list .onsen-item .onsen-address {
    background-image: url("../images/common/icon_adress.svg");
  }

  /* 電話番号アイコン */
  .lower-page .onsen-list .onsen-item .onsen-phone {
    background-image: url("../images/common/icon_phone.svg");
  }

  /* サイトリンクアイコン */
  .lower-page .onsen-list .onsen-item .onsen-link {
    background-image: url("../images/common/icon_url.svg");
  }

  /* 温泉アイコン */
  .lower-page .onsen-list .onsen-item .onsen-etc {
    background-image: url("../images/common/icon_onsen.svg");
  }
}

/* テキスト無限ループ */
.lower-page .norikura-auto-scroll {
  overflow: hidden;
  position: relative;
  display: flex;
  justify-content: flex-start;
  gap: 64px;
  width: calc(100vw - 90px);
  margin-left: -164px;
  margin-bottom: 160px;
}

@media (min-width: 1025px) {
  /* テキスト無限ループ */
  .lower-page .norikura-auto-scroll {
    overflow: hidden;
    position: relative;
    display: flex;
    justify-content: flex-start;
    gap: 4.354vw;
    width: calc(100vw - 1.086vw);
    margin-left: -11.156vw;
    margin-bottom: 10.884vw;
  }
}

.lower-page .scroll-wrapper {
  display: flex;
  gap: 64px;
  white-space: nowrap;
  animation: scrollAnimation 60s linear infinite;
}

.lower-page .scroll-text {
}

.lower-page .scroll-text-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 64px;
}

.lower-page .scroll-text-span {
  display: flex; /* span を横並びに */
}

.lower-page .scroll-text-img {
  width: 240px;
  height: 100px;
}

/* テキストのスタイル */
.lower-page .scroll-text span {
  font-weight: 200;
  font-size: 140px;
  color: var(--Color-Primary);
  font-family: var(--Font-EN);
  opacity: 0.2;
}

/* スクロールアニメーション */
@keyframes scrollAnimation {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

@media (max-width: 1024px) {
  /* テキスト無限ループ */
  .lower-page .norikura-auto-scroll {
    overflow: hidden;
    position: relative;
    display: flex;
    justify-content: flex-start;
    gap: 16.285vw;
    width: 100vw !important;
    margin-left: 0;
    margin-top: 20.356vw;
    margin-bottom: 20.356vw;
  }

  .lower-page .scroll-wrapper {
    display: flex;
    gap: 4.071vw;
    white-space: nowrap;
    animation: scrollAnimation 60s linear infinite;
  }

  .lower-page .scroll-text {
  }

  .lower-page .scroll-text-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16.285vw;
  }

  .lower-page .scroll-text-span {
    display: flex; /* span を横並びに */
  }

  .lower-page .scroll-text-img {
    width: 61.069vw;
    height: 25.445vw;
  }

  /* テキストのスタイル */
  .lower-page .scroll-text span {
    font-weight: 200;
    font-size: 35.623vw;
    color: var(--Color-Primary);
    font-family: var(--Font-EN);
    opacity: 0.2;
    line-height: 1;
  }

  .lower-page .onsenkyo-banner {
    position: relative;
  }

  .lower-page .onsenkyo-banner img {
    width: 100%;
    height: auto;
    transition: opacity 0.5s ease;
  }
}

/* アクティビティページ */
.lower-page .page-container .activity-list .activity-flex {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 80px;
  position: relative;
}

.lower-page .page-container .activity-list .activity-menu {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 0px;
  gap: 8px;
  width: 271px;
  flex-shrink: 0;
  position: sticky; /* stickyを適用 */
  top: 32px;
}

.lower-page .page-container .activity-list .activity-menu ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 16px 32px;
  background: var(--Color-Primary);
  opacity: 0.8;
  border-radius: 4px;
  width: 271px;
}

.lower-page .page-container .activity-list .activity-menu ul li {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid #ced7e2;
  width: 100%;
}

.lower-page .page-container .activity-list .activity-menu ul li:last-child {
  border-bottom: none;
}

.lower-page .page-container .activity-list .activity-menu ul li a {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #ffffff;
  display: block;
  text-decoration: none;
  padding: 16px 8px 16px 48px;
  width: 100%;
  position: relative;
}

.lower-page .page-container .activity-list .activity-menu ul li a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 8px;
  width: 32px;
  height: 32px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: -1;
  transform: translateY(-50%);
}

.lower-page
  .page-container
  .activity-list
  .activity-menu
  ul
  li
  a.title-icon-mountain::before {
  background-image: url(../images/enjoy/icon_mountain_white.svg);
}

.lower-page
  .page-container
  .activity-list
  .activity-menu
  ul
  li
  a.title-icon-snow::before {
  background-image: url(../images/enjoy/icon_snow_white.svg);
}

.lower-page
  .page-container
  .activity-list
  .activity-menu
  ul
  li
  a.title-icon-water::before {
  background-image: url(../images/enjoy/icon_water_white.svg);
}

.lower-page
  .page-container
  .activity-list
  .activity-menu
  ul
  li
  a.title-icon-parent-child::before {
  background-image: url(../images/enjoy/icon_parent-child_white.svg);
}

.lower-page
  .page-container
  .activity-list
  .activity-menu
  ul
  li
  a.title-icon-experience::before {
  background-image: url(../images/enjoy/icon_experience_white.svg);
}

.lower-page
  .page-container
  .activity-list
  .activity-menu
  ul
  li
  a.title-icon-tourist::before {
  background-image: url(../images/enjoy/icon_tourist_white.svg);
}

.lower-page .page-container .activity-list .activity-details .activity-info {
  margin-bottom: 80px;
}

.lower-page
  .page-container
  .activity-list
  .activity-details
  .activity-info:last-child {
  margin-bottom: 0;
}

.lower-page .page-container .activity-list .activity-details h2 {
  text-align: left;
  position: relative;
  padding-left: 64px;
}

.lower-page .page-container .activity-list .activity-details h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 48px;
  height: 48px;
  background-size: cover; /* 画像を要素全体にフィットさせる */
  background-position: center; /* 画像を中央に配置 */
  background-repeat: no-repeat; /* 画像の繰り返しを防止 */
  z-index: -1;
}

.lower-page
  .page-container
  .activity-list
  .activity-details
  h2.title-icon-mountain::before {
  background-image: url("../images/enjoy/icon_mountain.svg");
}

.lower-page
  .page-container
  .activity-list
  .activity-details
  h2.title-icon-snow::before {
  background-image: url("../images/enjoy/icon_snow.svg");
}

.lower-page
  .page-container
  .activity-list
  .activity-details
  h2.title-icon-water::before {
  background-image: url("../images/enjoy/icon_water.svg");
}

.lower-page
  .page-container
  .activity-list
  .activity-details
  h2.title-icon-parent-child::before {
  background-image: url("../images/enjoy/icon_parent-child.svg");
}

.lower-page
  .page-container
  .activity-list
  .activity-details
  h2.title-icon-experience::before {
  background-image: url("../images/enjoy/icon_experience.svg");
}

.lower-page
  .page-container
  .activity-list
  .activity-details
  h2.title-icon-tourist::before {
  background-image: url("../images/enjoy/icon_tourist.svg");
}

.lower-page .page-container .activity-list .activity-details .activity-block {
  padding: 32px;
  background: #ffffff;
  margin-bottom: 32px;
}

.lower-page
  .page-container
  .activity-list
  .activity-details
  .activity-block
  h3 {
  font-weight: 300;
  font-size: 26px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: var(--Color_GrayScale-Black);
  margin-bottom: 32px;
}

.lower-page .page-container .activity-list .activity-details .activity-block p {
  font-weight: 400;
  font-size: 14px;
  line-height: 2.3;
  text-align: justify;
  letter-spacing: 0.05em;
  font-feature-settings: "halt" on;
  color: var(--Color_GrayScale-Black);
  margin-bottom: 32px;
}

.lower-page
  .page-container
  .activity-list
  .activity-details
  .activity-block
  .title-icon {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 32px;
}

.lower-page
  .page-container
  .activity-list
  .activity-details
  .activity-block
  .title-icon
  h3 {
  margin-bottom: 0;
}

.lower-page
  .page-container
  .activity-list
  .activity-details
  .activity-block
  .title-icon
  .activity-icon-list {
}

.lower-page
  .page-container
  .activity-list
  .activity-details
  .activity-block
  .title-icon
  .activity-icon-list
  ul {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
}

.lower-page
  .page-container
  .activity-list
  .activity-details
  .activity-block
  .title-icon
  .activity-icon-list
  ul
  li {
  padding: 8px;
  width: 40px;
  height: 40px;
  background: var(--Color-Primary);
  opacity: 0.8;
  border-radius: 4px;
  list-style: none;
}

.lower-page
  .page-container
  .activity-list
  .activity-details
  .activity-block
  .activity-links
  .activity-link {
  border-bottom: 1px solid #ced7e2;
}

.lower-page
  .page-container
  .activity-list
  .activity-details
  .activity-block
  .activity-links
  .activity-link:first-child {
  border-top: 1px solid #ced7e2;
}

.lower-page
  .page-container
  .activity-list
  .activity-details
  .activity-block
  .activity-links
  .activity-link
  a
  .text {
  width: auto;
}

.lower-page .page-container .activity-list .activity-details .facility-wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2カラムに変更 */
  gap: 32px;
}

.lower-page
  .page-container
  .activity-list
  .activity-details
  .facility-wrapper
  .facility-item
  img {
  display: block;
}

.lower-page
  .page-container
  .activity-list
  .activity-details
  .facility-wrapper
  .facility-item
  .facility-meta {
  background: var(--Color_GrayScale-White);
  padding: 16px;
}

.lower-page
  .page-container
  .activity-list
  .activity-details
  .facility-wrapper
  .facility-item
  .facility-meta
  .facility-name {
  font-weight: var(--FontWeight-JP-Regular);
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-Black);
  margin-bottom: 16px;
}

/* 住所・電話番号・リンクの共通スタイル */
.lower-page
  .page-container
  .activity-list
  .activity-details
  .facility-wrapper
  .facility-item
  .facility-meta
  .facility-address,
.lower-page
  .page-container
  .activity-list
  .activity-details
  .facility-wrapper
  .facility-item
  .facility-meta
  .facility-phone {
  font-size: 14px;
  line-height: 1.8;
  padding: 4px 0;
  border-bottom: 1px dashed var(--Color-Border);
  display: flex;
  align-items: center;
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 36px;
  background-size: 24px;
}

/* 住所アイコン */
.lower-page
  .page-container
  .activity-list
  .activity-details
  .facility-wrapper
  .facility-item
  .facility-meta
  .facility-address {
  background-image: url("../images/common/icon_adress.svg");
}

/* 電話番号アイコン */
.lower-page
  .page-container
  .activity-list
  .activity-details
  .facility-wrapper
  .facility-item
  .facility-meta
  .facility-phone {
  background-image: url("../images/common/icon_phone.svg");
}

/* サイトリンクアイコン */
.lower-page
  .page-container
  .activity-list
  .activity-details
  .facility-wrapper
  .facility-item
  .facility-meta
  .facility-link {
  background-image: url("../images/common/icon_url.svg");
}

/* サイトリンク */
.lower-page
  .page-container
  .activity-list
  .activity-details
  .facility-wrapper
  .facility-item
  .facility-meta
  .facility-link {
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 4px;
  text-decoration: underline;
  color: var(--Color_GrayScale-Black);
  display: inline-block;
  padding-left: 36px;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 24px;
}

@media (min-width: 1025px) {
  /* アクティビティページ */
  .lower-page .page-container .activity-list .activity-flex {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 5.442vw;
    position: relative;
  }

  .lower-page .page-container .activity-list .activity-menu {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 0px;
    gap: 0.544vw;
    width: 18.435vw;
    flex-shrink: 0;
    position: sticky; /* stickyを適用 */
    top: 2.177vw;
  }

  .lower-page .page-container .activity-list .activity-menu ul {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 1.088vw 2.177vw;
    background: var(--Color-Primary);
    opacity: 0.8;
    border-radius: 0.272vw;
    width: 18.435vw;
  }

  .lower-page .page-container .activity-list .activity-menu ul li {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.544vw;
    border-bottom: 1px solid #ced7e2;
    width: 100%;
  }

  .lower-page .page-container .activity-list .activity-menu ul li a {
    font-weight: 400;
    font-size: 0.952vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #ffffff;
    display: block;
    text-decoration: none;
    padding: 1.088vw 0.544vw 1.088vw 3.265vw;
    width: 100%;
    position: relative;
    transition: opacity 0.5s ease;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-menu
    ul
    li
    a.opacity-0-5 {
    opacity: 0.5;
  }

  .lower-page .page-container .activity-list .activity-menu ul li a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0.544vw;
    width: 2.177vw;
    height: 2.177vw;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1;
    transform: translateY(-50%);
  }

  .lower-page .page-container .activity-list .activity-details .activity-info {
    margin-bottom: 5.442vw;
  }

  .lower-page .page-container .activity-list .activity-details h2 {
    text-align: left;
    position: relative;
    padding-left: 4.354vw;
  }

  .lower-page .page-container .activity-list .activity-details h2::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 3.265vw;
    height: 3.265vw;
    background-size: cover; /* 画像を要素全体にフィットさせる */
    background-position: center; /* 画像を中央に配置 */
    background-repeat: no-repeat; /* 画像の繰り返しを防止 */
    z-index: -1;
  }

  .lower-page .page-container .activity-list .activity-details .activity-block {
    padding: 2.177vw;
    background: #ffffff;
    margin-bottom: 2.177vw;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-block
    h3 {
    font-weight: 300;
    font-size: 1.769vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 2.177vw;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-block
    p {
    font-weight: 400;
    font-size: 0.952vw;
    line-height: 2.3;
    text-align: justify;
    letter-spacing: 0.05em;
    font-feature-settings: "halt" on;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 2.177vw;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-block
    .title-icon {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2.177vw;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-block
    .title-icon
    h3 {
    margin-bottom: 0;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-block
    .title-icon
    .activity-icon-list
    ul {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1.088vw;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-block
    .title-icon
    .activity-icon-list
    ul
    li {
    padding: 0.544vw;
    width: 2.721vw;
    height: 2.721vw;
    background: var(--Color-Primary);
    opacity: 0.8;
    border-radius: 0.272vw;
    list-style: none;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-links
    .activity-link {
    border-bottom: 1px solid #ced7e2;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-links
    .activity-link:first-child {
    border-top: 1px solid #ced7e2;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-links
    .activity-link
    a,
  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-links
    .activity-link
    .no-link {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 1.088vw;
    gap: 2.177vw;
    text-decoration: none;
    position: relative;
    transition: background-color 0.5s ease;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-links
    .activity-link
    a:hover {
    background-color: #eceef1;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-links
    .activity-link
    a::after {
    content: "";
    position: absolute;
    margin-left: auto;
    background: url(../images/common/arrow_forward.svg);
    background-size: 100%;
    width: 1.701vw;
    height: 1.701vw;
    right: 1.088vw;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-links
    .activity-link.icon-blank
    a::after {
    content: "";
    position: absolute;
    margin-left: auto;
    background: url(../images/common/icon_blank_black.svg);
    background-size: 100%;
    width: 1.701vw;
    height: 1.701vw;
    right: 1.088vw;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-links
    .activity-link
    a
    .image,
  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-links
    .activity-link
    .no-link
    .image {
    width: 10.884vw;
    height: 7.279vw;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-links
    .activity-link
    a
    .text
    p,
  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-links
    .activity-link
    .no-link
    .text
    p {
    font-weight: 300;
    font-size: 1.361vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-links
    .activity-link
    a
    .text
    p
    span,
  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-links
    .activity-link
    .no-link
    .text
    p
    span {
    font-weight: 500;
    font-size: 0.816vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #b3b3b3;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .facility-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 2カラムに変更 */
    gap: 2.177vw;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .facility-wrapper
    .facility-item
    .facility-meta {
    background: var(--Color_GrayScale-White);
    padding: 1.088vw;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .facility-wrapper
    .facility-item
    .facility-meta
    .facility-name {
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 1.088vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 1.088vw;
  }

  /* 住所・電話番号・リンクの共通スタイル */
  .lower-page
    .page-container
    .activity-list
    .activity-details
    .facility-wrapper
    .facility-item
    .facility-meta
    .facility-address,
  .lower-page
    .page-container
    .activity-list
    .activity-details
    .facility-wrapper
    .facility-item
    .facility-meta
    .facility-phone {
    font-size: 0.952vw;
    line-height: 1.8;
    padding: 0.272vw 0;
    border-bottom: 1px dashed var(--Color-Border);
    display: flex;
    align-items: center;
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 2.449vw;
    background-size: 1.633vw;
  }

  /* サイトリンク */
  .lower-page
    .page-container
    .activity-list
    .activity-details
    .facility-wrapper
    .facility-item
    .facility-meta
    .facility-link {
    font-size: 0.952vw;
    line-height: 1.8;
    margin-bottom: 0.272vw;
    text-decoration: underline;
    color: var(--Color_GrayScale-Black);
    display: inline-block;
    padding-left: 2.449vw;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 1.633vw;
  }

  .lower-page .page-container .activity-list .activity-menu-sp {
    display: none;
  }
}

@media (max-width: 1024px) {
  /* アクティビティページ */
  .lower-page .page-activity .event-area {
    margin-left: 6.107vw;
  }

  .lower-page .page-container .activity-list {
    width: 87.786vw;
    margin: 0 auto 16.285vw;
  }

  .lower-page .page-container .activity-list .activity-flex {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 20.356vw;
    position: relative;
  }

  .lower-page .page-container .activity-list .activity-menu-sp {
    position: fixed !important;
    right: 4.071vw;
    bottom: 4.071vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 0px;
    gap: 2.036vw;
    width: 65.903vw;
    top: auto;
    z-index: 1;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0s 0.3s;
  }

  .lower-page .page-container .activity-list .activity-menu-sp.visible {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s ease, visibility 0s 0s;
  }

  .lower-page .page-container .activity-list .activity-menu-bg {
    padding: 4.071vw;
    background: rgba(32, 82, 137, 0.8);
    backdrop-filter: blur(5px);
    border-radius: 1.018vw;
  }

  .lower-page .page-container .activity-list .activity-menu-sp .title {
    font-weight: 400;
    font-size: 3.053vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #ffffff;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .lower-page .page-container .activity-list .activity-menu-sp .title .icon {
    width: 4.58vw;
    height: 4.58vw;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-menu-sp
    .title
    .icon.close {
    background-image: url(../images/enjoy/activity-menu-sp_open.svg);
    background-size: cover;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-menu-sp
    .title
    .icon.open {
    background-image: url(../images/enjoy/activity-menu-sp_close.svg);
    background-size: cover;
  }

  .lower-page .page-container .activity-list .activity-menu-sp ul {
    flex-direction: column;
    align-items: flex-start;
    padding: 0;
    background: none;
    width: 100%;
    overflow: hidden;
    transition: height 0.5s ease-in-out;
  }

  .lower-page .page-container .activity-list .activity-menu-sp.open ul {
    max-height: 96.947vw;
  }

  .lower-page .page-container .activity-list .activity-menu-sp.hidden ul {
    display: none;
  }

  .lower-page .page-container .activity-list .activity-menu-sp ul li {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 2.036vw;
    border-bottom: 1px solid #ced7e2;
    width: 100%;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-menu-sp
    ul
    li:last-child {
    border-bottom: none;
  }

  .lower-page .page-container .activity-list .activity-menu-sp ul li a {
    font-weight: 400;
    font-size: 3.562vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #ffffff;
    display: block;
    text-decoration: none;
    padding: 4.071vw 2.036vw 4.071vw 12.214vw;
    width: 100%;
    position: relative;
  }

  .lower-page .page-container .activity-list .activity-menu-sp ul li a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 2.036vw;
    width: 8.142vw;
    height: 8.142vw;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1;
    transform: translateY(-50%);
  }

  .lower-page
    .page-container
    .activity-list
    .activity-menu-sp
    ul
    li
    a.title-icon-mountain::before {
    background-image: url(../images/enjoy/icon_mountain_white.svg);
  }

  .lower-page
    .page-container
    .activity-list
    .activity-menu-sp
    ul
    li
    a.title-icon-snow::before {
    background-image: url(../images/enjoy/icon_snow_white.svg);
  }

  .lower-page
    .page-container
    .activity-list
    .activity-menu-sp
    ul
    li
    a.title-icon-water::before {
    background-image: url(../images/enjoy/icon_water_white.svg);
  }

  .lower-page
    .page-container
    .activity-list
    .activity-menu-sp
    ul
    li
    a.title-icon-parent-child::before {
    background-image: url(../images/enjoy/icon_parent-child_white.svg);
  }

  .lower-page
    .page-container
    .activity-list
    .activity-menu-sp
    ul
    li
    a.title-icon-experience::before {
    background-image: url(../images/enjoy/icon_experience_white.svg);
  }

  .lower-page
    .page-container
    .activity-list
    .activity-menu-sp
    ul
    li
    a.title-icon-tourist::before {
    background-image: url(../images/enjoy/icon_tourist_white.svg);
  }

  .lower-page .page-container .activity-list .activity-details .activity-info {
    margin-bottom: 20.356vw;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-info:last-child {
    margin-bottom: 0;
  }

  .lower-page .page-container .activity-list .activity-details h2 {
    text-align: left;
    position: relative;
    padding-left: 12.267vw;
  }

  .lower-page .page-container .activity-list .activity-details h2::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 10.178vw;
    height: 10.178vw;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    h2.title-icon-mountain::before {
    background-image: url("../images/enjoy/icon_mountain.svg");
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    h2.title-icon-snow::before {
    background-image: url("../images/enjoy/icon_snow.svg");
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    h2.title-icon-water::before {
    background-image: url("../images/enjoy/icon_water.svg");
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    h2.title-icon-parent-child::before {
    background-image: url("../images/enjoy/icon_parent-child.svg");
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    h2.title-icon-experience::before {
    background-image: url("../images/enjoy/icon_experience.svg");
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    h2.title-icon-tourist::before {
    background-image: url("../images/enjoy/icon_tourist.svg");
  }

  .lower-page .page-container .activity-list .activity-details .activity-block {
    padding: 6.107vw;
    background: #ffffff;
    margin-bottom: 20.356vw;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-block
    h3 {
    font-weight: 300;
    font-size: 6.616vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 4.071vw;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-block
    p {
    font-weight: 400;
    font-size: 3.562vw;
    line-height: 1.8;
    text-align: justify;
    letter-spacing: 0.05em;
    font-feature-settings: "halt" on;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 8.142vw;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-block
    .title-icon {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    margin-bottom: 8.142vw;
    gap: 4.071vw;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-block
    .title-icon
    h3 {
    margin-bottom: 0;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-block
    .title-icon
    .activity-icon-list {
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-block
    .title-icon
    .activity-icon-list
    ul {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4.071vw;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .title-icon
    .activity-icon-list
    ul
    li {
    padding: 2.036vw;
    width: 10.178vw;
    height: 10.178vw;
    background: var(--Color-Primary);
    opacity: 0.8;
    border-radius: 1.018vw;
    list-style: none;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-block
    .title-icon
    .activity-icon-list
    ul
    li {
    padding: 2.036vw;
    width: 10.178vw;
    height: 10.178vw;
    background: var(--Color-Primary);
    opacity: 0.8;
    border-radius: 1.018vw;
    list-style: none;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-links
    .activity-link {
    border-bottom: 1px solid #ced7e2;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-links
    .activity-link:first-child {
    border-top: 1px solid #ced7e2;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-links
    .activity-link
    a,
  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-links
    .activity-link
    .no-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 4.071vw 0px;
    gap: 2.036vw;
    text-decoration: none;
    position: relative;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-links
    .activity-link
    a::after {
    display: none;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-links
    .activity-link
    a
    .image,
  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-links
    .activity-link
    .no-link
    .image {
    width: 100%;
    height: auto;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-links
    .activity-link
    a
    .text,
  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-links
    .activity-link
    .no-link
    .text {
    width: auto;
    margin: 0;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-links
    .activity-link
    a
    .text
    p,
  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-links
    .activity-link
    .no-link
    .text
    p {
    font-weight: 300;
    font-size: 5.089vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    margin: 0;
    text-align: center;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-links
    .activity-link
    a
    .text
    p
    span,
  .lower-page
    .page-container
    .activity-list
    .activity-details
    .activity-links
    .activity-link
    .no-link
    .text
    p
    span {
    font-weight: 500;
    font-size: 3.053vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: #b3b3b3;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .facility-wrapper {
    display: flex;
    flex-direction: column;
    gap: 8.142vw;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .facility-wrapper
    .facility-item
    img {
    display: block;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .facility-wrapper
    .facility-item
    .facility-meta {
    background: var(--Color_GrayScale-White);
    padding: 4.071vw;
  }

  .lower-page
    .page-container
    .activity-list
    .activity-details
    .facility-wrapper
    .facility-item
    .facility-meta
    .facility-name {
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 4.071vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 4.071vw;
  }

  /* 住所・電話番号・リンクの共通スタイル */
  .lower-page
    .page-container
    .activity-list
    .activity-details
    .facility-wrapper
    .facility-item
    .facility-meta
    .facility-address,
  .lower-page
    .page-container
    .activity-list
    .activity-details
    .facility-wrapper
    .facility-item
    .facility-meta
    .facility-phone {
    font-size: 3.562vw;
    line-height: 1.8;
    padding: 1.018vw 0;
    border-bottom: 1px dashed var(--Color-Border);
    display: flex;
    align-items: center;
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 9.16vw;
    background-size: 6.107vw;
  }

  /* 住所アイコン */
  .lower-page
    .page-container
    .activity-list
    .activity-details
    .facility-wrapper
    .facility-item
    .facility-meta
    .facility-address {
    background-image: url("../images/common/icon_adress.svg");
  }

  /* 電話番号アイコン */
  .lower-page
    .page-container
    .activity-list
    .activity-details
    .facility-wrapper
    .facility-item
    .facility-meta
    .facility-phone {
    background-image: url("../images/common/icon_phone.svg");
  }

  /* サイトリンクアイコン */
  .lower-page
    .page-container
    .activity-list
    .activity-details
    .facility-wrapper
    .facility-item
    .facility-meta
    .facility-link {
    background-image: url("../images/common/icon_url.svg");
  }

  /* サイトリンク */
  .lower-page
    .page-container
    .activity-list
    .activity-details
    .facility-wrapper
    .facility-item
    .facility-meta
    .facility-link {
    font-size: 3.562vw;
    line-height: 1.8;
    margin-bottom: 1.018vw;
    text-decoration: underline;
    color: var(--Color_GrayScale-Black);
    display: inline-block;
    padding-left: 9.16vw;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 6.107vw;
  }
}

/* 楽しむページ下部メニュー */
.lower-page .enjoy-menu .enjoy-menu-grid {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: 64px;
}

.lower-page .enjoy-menu .enjoy-menu-grid .enjoy-menu-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border-top: 1px solid #ced7e2;
}

.lower-page .enjoy-menu .enjoy-menu-grid .enjoy-menu-left div a::after {
  content: ""; /* 矢印アイコンを表示 */
  position: absolute;
  margin-left: auto; /* リンクの右端に配置 */
  background: url(../images/common/arrow_forward.svg);
  background-size: 100%;
  width: 25px;
  height: 25px;
  right: 64px;
}

.lower-page .enjoy-menu .enjoy-menu-grid .enjoy-menu-left div a span {
  font-weight: 500;
  font-size: 14px;
  line-height: 150%;
  letter-spacing: 0.05em;
  color: var(--Color-Primary);
}

.lower-page .enjoy-menu .enjoy-menu-grid .enjoy-menu-right {
  width: 388px;
  height: 582px;
}

@media (min-width: 1025px) {
  /* 楽しむページ下部メニュー */
  .lower-page .enjoy-menu {
    width: 77.959vw;
    margin: 0 auto 10.884vw;
  }

  .lower-page .enjoy-menu .enjoy-menu-grid {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 4.354vw;
  }

  .lower-page .enjoy-menu .enjoy-menu-grid .enjoy-menu-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border-top: 0.068vw solid #ced7e2;
  }

  .lower-page .enjoy-menu .enjoy-menu-grid .enjoy-menu-left div {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 3.088vw;
    border-bottom: 0.068vw solid #ced7e2;
    width: 47.211vw;
    height: 6.599vw;
    box-sizing: border-box; /* ボーダー込みで高さが97pxになる */
  }

  .lower-page .enjoy-menu .enjoy-menu-grid .enjoy-menu-left .text-wrapper {
    z-index: 2;
  }

  .lower-page .enjoy-menu .enjoy-menu-grid .enjoy-menu-left div a {
    display: flex;
    width: 100%;
    color: inherit;
    text-decoration: none;
    font-weight: 300;
    font-size: 1.497vw;
    line-height: 150%;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    align-items: center;
    justify-content: flex-start;
    gap: 4.354vw;
    position: relative;
  }

  .lower-page .enjoy-menu .enjoy-menu-grid .enjoy-menu-left div a::after {
    content: ""; /* 矢印アイコンを表示 */
    position: absolute;
    margin-left: auto; /* リンクの右端に配置 */
    background: url(../images/common/arrow_forward.svg);
    background-size: 100%;
    width: 1.701vw;
    height: 1.701vw;
    right: 4.354vw;
  }

  .lower-page .enjoy-menu .enjoy-menu-grid .enjoy-menu-left div a:hover::after {
    background: url(../images/common/arrow_forward_white.svg); /* 白い矢印画像 */
  }

  .lower-page .enjoy-menu .enjoy-menu-grid .enjoy-menu-left div a span {
    font-weight: 500;
    font-size: 0.952vw;
    line-height: 150%;
    letter-spacing: 0.05em;
    color: var(--Color-Primary);
  }

  .lower-page .enjoy-menu .enjoy-menu-grid .enjoy-menu-right {
    width: 26.395vw;
    height: 39.592vw;
    position: relative;
    overflow: hidden;
  }

  .lower-page .enjoy-menu .enjoy-menu-grid .enjoy-menu-right.outdoor {
    width: 26.395vw;
    height: 463.19px;
    position: relative;
    overflow: hidden;
  }

  .lower-page .enjoy-menu .enjoy-menu-grid .enjoy-menu-right img {
    width: 100%;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
  }

  .lower-page .enjoy-menu .enjoy-menu-grid .enjoy-menu-left .btn-link:hover {
    color: var(--Color-BG);
  }

  .lower-page
    .enjoy-menu
    .enjoy-menu-grid
    .enjoy-menu-left
    .btn-link:hover
    span {
    color: var(--Color-BG);
    transform: translateX(16px);
  }

  .lower-page .enjoy-menu .enjoy-menu-grid .enjoy-menu-left .btn-link:before {
    content: "";
    background-color: var(--Color-Hover);
    position: absolute;
    inset: 0;
    height: 100%;
    width: 100%;
    transform: scaleY(0);
    transition: transform 0.4s cubic-bezier(0.24, 0.43, 0.15, 0.97);
    transform-origin: top;
  }

  .lower-page
    .enjoy-menu
    .enjoy-menu-grid
    .enjoy-menu-left
    .btn-link.on-top::before {
    transform-origin: top;
  }

  .lower-page
    .enjoy-menu
    .enjoy-menu-grid
    .enjoy-menu-left
    .btn-link.on-bottom::before {
    transform-origin: bottom;
  }

  .lower-page
    .enjoy-menu
    .enjoy-menu-grid
    .enjoy-menu-left
    .btn-link:hover::before {
    transform: scaleY(1);
  }
}

@media (max-width: 1024px) {
  /* 楽しむページ下部メニュー */
  .lower-page .enjoy-menu {
    width: 87.786vw;
    margin: 0 auto;
  }

  .lower-page .enjoy-menu .enjoy-menu-grid {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8.142vw;
  }

  .lower-page .enjoy-menu .enjoy-menu-grid .enjoy-menu-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border-top: 1px solid #ced7e2;
    order: 2;
    width: 100%;
  }

  .lower-page .enjoy-menu .enjoy-menu-grid .enjoy-menu-left div {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4.071vw;
    border-bottom: 1px solid #ced7e2;
    width: 100%;
    height: auto;
    box-sizing: border-box;
  }

  .lower-page .enjoy-menu .enjoy-menu-grid .enjoy-menu-left div a {
    display: flex;
    width: 100%;
    color: inherit;
    text-decoration: none;
    padding: 6.107vw 0px;
    font-weight: 300;
    font-size: 5.089vw;
    line-height: 150%;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    align-items: center;
    justify-content: flex-start;
    gap: 2.036vw;
    position: relative;
  }

  .lower-page .enjoy-menu .enjoy-menu-grid .enjoy-menu-left div a::after {
    content: "";
    position: absolute;
    margin-left: auto;
    background: url(../images/common/arrow_forward.svg);
    background-size: 100%;
    width: 6.107vw;
    height: 6.107vw;
    right: 0;
  }

  .lower-page .enjoy-menu .enjoy-menu-grid .enjoy-menu-left div a span {
    font-weight: 500;
    font-size: 3.562vw;
    line-height: 150%;
    letter-spacing: 0.05em;
    color: var(--Color-Primary);
  }

  .lower-page .enjoy-menu .enjoy-menu-grid .enjoy-menu-right {
    width: 100%;
    height: auto;
    order: 1;
    position: static;
  }

  .lower-page .enjoy-menu .enjoy-menu-grid .enjoy-menu-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    will-change: transform;
  }

  .enjoy-menu-grid {
    display: flex;
    justify-content: space-between;
    gap: 20px;
  }

  .enjoy-menu-left {
    flex: 1;
  }

  .enjoy-menu-right {
    flex: 1;
    position: relative;
  }

  .enjoy-menu-left a {
    display: block;
    padding: 15px 20px;
    font-size: 18px;
    color: var(--black);
    position: relative;
  }

  .enjoy-menu-left a span {
    font-weight: bold;
  }

  .enjoy-menu-left a.on-top::before {
    transform-origin: top;
  }

  .enjoy-menu-left a.on-bottom::before {
    transform-origin: bottom;
  }

  .enjoy-menu-right img {
    transition: clip-path 0.7s ease-out, z-index 0s ease,
      transform 1.2s ease-out;
    will-change: transform, clip-path;
  }

  .enjoy-menu-left a:hover {
    color: var(--primary);
  }

  .enjoy-menu-left a.on-top,
  .enjoy-menu-left a.on-bottom {
    position: relative;
  }

  .enjoy-menu-left a.on-top::before,
  .enjoy-menu-left a.on-bottom::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--hover);
    transform: scaleY(0);
    transition: transform 0.4s ease-out;
  }

  .enjoy-menu-left a.on-top:hover::before,
  .enjoy-menu-left a.on-bottom:hover::before {
    transform: scaleY(1);
  }

  .enjoy-menu-left a.on-top {
    transform: translateY(-10px);
  }

  .enjoy-menu-left a.on-bottom {
    transform: translateY(10px);
  }

  .enjoy-menu-left a:hover .number {
    transform: translateX(calc(16 / var(--width) * 100vw));
  }
}

/* 知るページ */
.lower-page .page-container .page-description.about .page-flex {
  gap: 160px;
  align-items: flex-start;
}

.lower-page .page-container .page-description.about .page-flex div {
  flex-shrink: 0;
}

.lower-page .page-container .page-description.about .page-flex h2 {
  margin-bottom: 32px;
}

.lower-page .page-container .page-description.about .page-flex h3 {
  font-weight: 300;
  font-size: 32px;
  line-height: 1.8;
  letter-spacing: 0.1em;
  color: var(--Color_GrayScale-Black);
}

.lower-page
  .page-container
  .page-description.about
  .page-flex
  .description-right {
  padding-top: 160px;
}

.lower-page .norikura-auto-scroll.about {
  margin-bottom: 160px;
}

.lower-page .norikura-auto-scroll.about .scroll-wrapper img {
  width: 640px;
  height: auto;
}

@media (min-width: 1025px) {
  .lower-page .norikura-auto-scroll.about {
    margin-bottom: 10.884vw;
  }

  .lower-page .norikura-auto-scroll.about .scroll-wrapper img {
    width: 43.537vw;
    height: auto;
  }
}

@media (max-width: 1024px) {
  /* 知るページ */
  .lower-page .page-container .page-description.about .page-flex {
    gap: 32px;
    align-items: flex-start;
  }

  .lower-page .page-container .page-description.about .page-flex div {
    flex-shrink: 0;
  }

  .lower-page .page-container .page-description.about .page-flex h2 {
    margin-bottom: 0;
  }

  .lower-page .page-container .page-description.about .page-flex h3 {
    font-weight: 300;
    font-size: 32px;
    line-height: 1.8;
    letter-spacing: 0.1em;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page
    .page-container
    .page-description.about
    .page-flex
    .description-right {
    padding-top: 0;
  }

  .lower-page .norikura-auto-scroll.about {
    margin-bottom: 20.356vw;
  }

  .lower-page .norikura-auto-scroll.about .scroll-wrapper img {
    width: 81.425vw;
    height: auto;
  }
}

.lower-page .about-season-area .season-wrapper {
  display: none;
}

.lower-page .about-season-area .season-wrapper.active {
  display: block;
}

.lower-page .about-season-area .season-description {
  margin-bottom: 32px;
}

.lower-page .about-season-area .season-description h2 {
  flex-shrink: 0;
}

.lower-page .page-container .about-works .works-flex {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  width: 986px;
  margin: 0 auto;
}

.lower-page .page-container .about-works .works-flex .flex-right {
  width: 640px;
}

.lower-page .page-container .about-works .works-flex .flex-right p {
  margin-bottom: 32px;
  font-weight: var(--FontWeight-JP-Regular);
  font-size: 14px;
  line-height: 2.3;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-Black);
}

.lower-page .page-container .about-works .works-flex .flex-right .link {
  border-bottom: 1px solid #ced7e2;
}

.lower-page
  .page-container
  .about-works
  .works-flex
  .flex-right
  .link:first-of-type {
  border-top: 1px solid #ced7e2;
}

.lower-page .page-container .about-works .works-flex .flex-right .link a {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 32px 0px;
  gap: 16px;
  display: block;
  text-decoration: none;
}

.lower-page .page-container .about-works .works-flex .flex-right .link p {
  font-weight: 400;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #4d4d4d;
  margin: 0;
}

@media (min-width: 1025px) {
  .lower-page .about-season-area .tabs {
    position: fixed;
    bottom: -100px;
    left: 50%;
    transform: translateX(-50%);
    transition: bottom 0.3s ease;
    color: #fff;
    border-radius: 12px;
    z-index: 10;
  }

  .lower-page .about-season-area.active .tabs {
    bottom: 0;
  }

  .lower-page .about-season-area .season-description {
    margin-bottom: 2.177vw;
  }

  .lower-page .page-container .about-works .works-flex {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    width: 67.075vw;
    margin: 0 auto;
  }

  .lower-page .page-container .about-works .works-flex .flex-right {
    width: 43.537vw;
  }

  .lower-page .page-container .about-works .works-flex .flex-right p {
    margin-bottom: 2.177vw;
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 0.952vw;
    line-height: 2.3;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page .page-container .about-works .works-flex .flex-right .link {
    border-bottom: 0.068vw solid #ced7e2;
  }

  .lower-page
    .page-container
    .about-works
    .works-flex
    .flex-right
    .link:first-of-type {
    border-top: 0.068vw solid #ced7e2;
  }

  .lower-page .page-container .about-works .works-flex .flex-right .link a {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 2.177vw 0px;
    gap: 1.088vw;
    display: block;
    text-decoration: none;
    transition: background-color 0.5s ease;
  }

  .lower-page
    .page-container
    .about-works
    .works-flex
    .flex-right
    .link
    a:hover {
    background-color: #eceef1;
  }

  .lower-page .page-container .about-works .works-flex .flex-right .link h3 {
    font-weight: 300;
    font-size: 1.497vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    display: flex;
    gap: 1.088vw;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    width: 100%;
  }

  .lower-page
    .page-container
    .about-works
    .works-flex
    .flex-right
    .link
    h3::after {
    content: "";
    position: absolute;
    margin-left: auto;
    background: url(../images/common/icon_blank_black.svg);
    background-size: 100%;
    width: 1.633vw;
    height: 1.633vw;
    right: 2.177vw;
  }

  .lower-page
    .page-container
    .about-works
    .works-flex
    .flex-right
    .link
    h3
    span {
    font-weight: 500;
    font-size: 0.952vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color-Primary);
  }

  .lower-page .page-container .about-works .works-flex .flex-right .link p {
    font-weight: 400;
    font-size: 0.816vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #4d4d4d;
    margin: 0;
  }
}

@media (max-width: 1024px) {
  .lower-page .about-season-area .tabs {
    position: fixed;
    bottom: -25.445vw;
    left: 50%;
    transform: translateX(-50%);
    transition: bottom 0.3s ease;
    z-index: 10;
    width: 69.21%;
  }

  .lower-page .about-season-area.active .tabs {
    bottom: 0;
  }

  .lower-page .about-season-area .season-wrapper {
    width: 87.786vw;
    margin: 0 auto 8.142vw;
  }

  .lower-page .about-season-area .season-wrapper {
    display: none;
  }

  .lower-page .about-season-area .season-wrapper.active {
    display: block;
  }

  .lower-page .about-season-area .season-description {
    margin-bottom: 8.142vw;
  }

  .lower-page .about-season-area .season-description h2 {
    flex-shrink: 0;
  }

  .lower-page .page-container .about-works .works-flex {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    width: 87.786vw;
    margin: 0 auto;
  }

  .lower-page .page-container .about-works .works-flex .flex-right {
    width: 100%;
  }

  .lower-page .page-container .about-works .works-flex .flex-right p {
    margin-bottom: 8.142vw;
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 3.562vw;
    line-height: 2.3;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page .page-container .about-works .works-flex .flex-right .link {
    border-bottom: 1px solid #ced7e2;
  }

  .lower-page
    .page-container
    .about-works
    .works-flex
    .flex-right
    .link:first-of-type {
    border-top: 1px solid #ced7e2;
  }

  .lower-page .page-container .about-works .works-flex .flex-right .link a {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 8.142vw 0px;
    gap: 4.071vw;
    display: block;
    text-decoration: none;
  }

  .lower-page .page-container .about-works .works-flex .flex-right .link h3 {
    font-weight: 300;
    font-size: 5.089vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    display: flex;
    gap: 4.071vw;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 0;
    position: relative;
    width: fit-content;
  }

  .lower-page
    .page-container
    .about-works
    .works-flex
    .flex-right
    .link
    h3::after {
    content: "";
    position: absolute;
    margin-left: auto;
    background: url(../images/common/icon_blank_black.svg);
    width: 6.107vw;
    height: 6.107vw;
    right: -8.651vw;
    background-repeat: no-repeat;
    background-size: cover;
  }

  .lower-page
    .page-container
    .about-works
    .works-flex
    .flex-right
    .link
    h3
    span {
    font-weight: 500;
    font-size: 3.562vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color-Primary);
  }

  .lower-page .page-container .about-works .works-flex .flex-right .link p {
    font-weight: 400;
    font-size: 3.053vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #4d4d4d;
    margin: 0;
  }
}

.lower-page .page-container .about-season-area .season-info {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  padding: 32px 0px;
  gap: 80px;
  border-bottom: 1px solid #ced7e2;
  width: 100%;
}

.lower-page .page-container .about-season-area .season-info:first-of-type {
  border-top: 1px solid #ced7e2;
}

.lower-page .page-container .about-season-area .season-info .text-column {
  width: 426px;
  height: 320px;
  flex-shrink: 0;
  position: relative;
}

.lower-page .page-container .about-season-area .season-info .text-column .num {
  position: absolute;
  top: 0;
  left: 0;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--Color-Primary);
}

.lower-page
  .page-container
  .about-season-area
  .season-info
  .text-column
  .text-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
}

.lower-page .page-container .about-season-area .season-info .text-column {
  width: 426px;
  height: 320px;
  flex-shrink: 0;
  position: relative;
}

.lower-page .page-container .about-season-area .season-info h3 {
  font-weight: 300;
  font-size: 22px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: var(--Color_GrayScale-Black);
  margin-bottom: 16px;
}

.lower-page .page-container .about-season-area .season-info h3 span {
  font-weight: 300;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: var(--Color_GrayScale-Black);
}

.lower-page .page-container .about-season-area .season-info p {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-Black);
  margin-bottom: 32px;
}

.lower-page .page-container .about-season-area .season-info {
  flex: 1;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.lower-page
  .page-container
  .about-season-area
  .season-info
  .image-carousel-column {
  flex: 1;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.lower-page .page-container .about-season-area .season-info .carousel-wrapper {
  display: flex;
  flex-wrap: nowrap;
  display: flex;
  transition: transform 0.3s ease-in-out; /* スライドにアニメーションを追加 */
}

.lower-page .page-container .about-season-area .season-info .carousel-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 480px;
  flex-shrink: 0;
  margin-right: 8px;
}

.lower-page
  .page-container
  .about-season-area
  .season-info
  .carousel-item:last-child {
  margin-right: 0;
}

.lower-page .page-container .about-season-area .season-info .carousel-nav {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 32px;
}

.lower-page .page-container .about-season-area .season-info .carousel-nav span {
  font-weight: 500;
  font-size: 12px;
  line-height: 150%;
  letter-spacing: 0.05em;
  color: #b3b3b3;
}

.lower-page .page-container .about-season-area .season-info .carousel-buttons {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 16px;
}

.lower-page
  .page-container
  .about-season-area
  .season-info
  .carousel-buttons
  button {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  text-decoration: none;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-Black);
}

.lower-page
  .page-container
  .about-season-area
  .season-info
  .carousel-buttons
  button:hover {
  text-decoration: none;
  color: var(--Color-Primary);
}

/* アクティビティページのイベントカルーセル */
.lower-page.lower-page .event-area .event-flex {
  display: flex;
  align-items: flex-start;
  gap: 64px;
}

.lower-page.lower-page .event-area .event-flex .carousel-area {
  flex: 1;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.lower-page.lower-page .event-area .event-flex .carousel-area .carousel-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 480px;
  flex-shrink: 0;
}

.lower-page.lower-page
  .event-area
  .event-flex
  .carousel-area
  .carousel-item
  img {
  margin-bottom: 16px;
}

.lower-page.lower-page
  .event-area
  .event-flex
  .carousel-area
  .carousel-item
  p.event-title {
  font-weight: 300;
  font-size: 22px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: var(--Color_GrayScale-Black);
  margin-bottom: 8px;
}

.lower-page
  .event-area
  .event-flex
  .carousel-area
  .carousel-item
  p.event-description {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: var(--Color_GrayScale-Black);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 480px;
  width: 100%;
}

.lower-page .event-area .event-flex .carousel-area .carousel-navi {
  margin-top: 64px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 32px;
  flex-shrink: 0;
}

.lower-page .event-area .event-flex .carousel-area .carousel-nav {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 32px;
  flex-shrink: 0;
}

.lower-page .event-area .event-flex .carousel-area .carousel-nav span {
  font-weight: 500;
  font-size: 12px;
  line-height: 150%;
  letter-spacing: 0.05em;
  color: #b3b3b3;
}

.lower-page
  .event-area
  .event-flex
  .carousel-area
  .carousel-nav
  .carousel-buttons {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 16px;
}

.lower-page
  .event-area
  .event-flex
  .carousel-area
  .carousel-nav
  .carousel-buttons
  button {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  text-decoration: none;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-Black);
}

.lower-page
  .event-area
  .event-flex
  .carousel-area
  .carousel-nav
  .carousel-buttons
  button:hover {
  text-decoration: none;
  color: var(--Color-Primary);
}

.lower-page.lower-page .event-area .line-indicator {
  width: 100%;
  height: 1px;
  background: var(--Color-Border);
  transition: background 0.3s ease;
}

.lower-page.lower-page .event-area .carousel-wrapper {
  display: flex;
  gap: 8px;
  transition: transform 0.3s ease;
}

.lower-page .event-area .carousel-item {
  min-width: 300px; /* アイテムの幅を指定 */
}

/* 下層ページスクロールカルーセルエリア */
.lower-page .scroll-carousel-area {
  position: relative;
  overflow: hidden;
  margin-bottom: 160px;
}

.lower-page .scroll-carousel-area .carousel-body {
  display: flex;
  gap: 160px;
  padding-right: 160px;
}

.lower-page .scroll-carousel-area .carousel-item {
  position: relative;
  display: flex;
  width: 1146px; /* コンテンツ幅に合わせる */
  height: 650px;
  flex-shrink: 0;
  margin: 0 auto; /* 中央揃えにする場合 */
}

.lower-page .scroll-carousel-area .carousel-item .carousel-item-image {
  width: 560px;
  height: 560px;
}

.lower-page .scroll-carousel-area .carousel-item .carousel-item-text {
  width: 660px;
  height: 600px;
  position: absolute;
  top: 64px;
  left: 496px;
  right: 0;
}

.lower-page .scroll-carousel-area h2 {
  text-align: left;
}

.lower-page .scroll-carousel-area .carousel-item .carousel-item-text h3 {
  margin-bottom: 16px;
}

.lower-page .scroll-carousel-area .carousel-item .carousel-item-text h3 span {
  font-weight: 300;
  font-size: 28px;
  line-height: 2.1;
  letter-spacing: 0.1em;
  color: var(--Color_GrayScale-Black);
  background-color: var(--Color_GrayScale-White);
  padding: 5px 16px;
}

.lower-page .scroll-carousel-area .carousel-item .carousel-item-text h4 {
  font-weight: 300;
  font-size: 22px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: var(--Color-Primary);
  padding-left: 94px;
  position: relative;
  margin-bottom: 32px;
}

.lower-page
  .scroll-carousel-area
  .carousel-item
  .carousel-item-text
  h4::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 80px;
  height: 1px;
  background-color: var(--Color-Primary);
}

.lower-page .scroll-carousel-area .carousel-item .carousel-item-text p {
  margin-left: 96px;
  margin-bottom: 32px;
  font-weight: 400;
  font-size: 14px;
  line-height: 2.3;
  letter-spacing: 0.05em;
  color: var(--Color_GrayScale-Black);
}

.lower-page
  .scroll-carousel-area
  .carousel-item
  .carousel-item-text
  .view-more {
  margin-left: 96px;
}

/* インジケーターのスタイル */
.indicator-container {
  position: absolute;
  top: 20px;
  right: 6px;
  display: flex;
  gap: 18px;
}

.indicator {
  position: relative;
  width: 6px;
  height: 6px;
}

.inner-circle {
  width: 6px;
  height: 6px;
  background-color: var(--Color_GrayScale-Gray70); /* 常に表示される内側の丸 */
  border-radius: 50%;
  transition: background-color 0.3s ease; /* 内側の丸の背景色の変更 */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* 中央揃え */
}

.outer-circle {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 6px; /* 外側の丸の大きさ */
  height: 6px;
  border-radius: 50%;
  background-color: transparent; /* 背景色なし */
  border: solid 9px transparent; /* 初期状態で透明なborder */
  transform: scale(0) translate(-50%, -50%); /* 初期状態で縮んだ状態 */
  transform-origin: center center; /* 中心を基準にスケーリング */
  transition: border 0.5s ease; /* アニメーション */
}

.indicator.active .inner-circle {
  background-color: var(--Color-Primary); /* アクティブ時に内側の丸の色を変更 */
}

.indicator.active .outer-circle {
  opacity: 1; /* 外側の丸を表示 */
  transform: scale(1) translate(-50%, -50%); /* 外側の丸が広がる */
  border: solid 9px var(--Color-Primary_Light); /* borderの色を変更 */
}

@media (min-width: 1025px) {
  .lower-page .page-container .about-season-area {
    width: 77.959vw;
    margin: 0 auto 10.884vw;
  }

  .lower-page
    .page-container
    .about-season-area
    .season-info
    .carousel-wrapper {
    display: flex;
    flex-wrap: nowrap;
    display: flex;
    gap: 0.544vw;
    transition: transform 0.3s ease-in-out;
  }

  .lower-page .page-container .about-season-area .season-info {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    padding: 2.177vw 0px;
    gap: 5.442vw;
    border-bottom: 0.068vw solid #ced7e2;
    width: 100%;
  }

  .lower-page .page-container .about-season-area .season-info:first-of-type {
    border-top: 0.068vw solid #ced7e2;
  }

  .lower-page .page-container .about-season-area .season-info .text-column {
    width: 28.98vw;
    height: 21.769vw;
    flex-shrink: 0;
    position: relative;
  }

  .lower-page
    .page-container
    .about-season-area
    .season-info
    .text-column
    .num {
    position: absolute;
    top: 0;
    left: 0;
    font-weight: 500;
    font-size: 0.952vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color-Primary);
  }

  .lower-page .page-container .about-season-area .season-info .text-column {
    width: 28.98vw;
    height: 21.769vw;
    flex-shrink: 0;
    position: relative;
  }

  .lower-page .page-container .about-season-area .season-info h3 {
    font-weight: 300;
    font-size: 1.497vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 1.088vw;
  }

  .lower-page .page-container .about-season-area .season-info h3 span {
    font-weight: 300;
    font-size: 1.088vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page .page-container .about-season-area .season-info p {
    font-weight: 400;
    font-size: 0.952vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 2.177vw;
  }

  .lower-page .page-container .about-season-area .season-info .carousel-item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    width: 32.653vw;
    height: auto;
    flex-shrink: 0;
    margin-right: 0;
  }

  .lower-page .page-container .about-season-area .season-info .carousel-nav {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 2.177vw;
  }

  .lower-page
    .page-container
    .about-season-area
    .season-info
    .carousel-nav
    span {
    font-weight: 500;
    font-size: 0.816vw;
    line-height: 150%;
    letter-spacing: 0.05em;
    color: #b3b3b3;
  }

  .lower-page
    .page-container
    .about-season-area
    .season-info
    .carousel-buttons {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 1.088vw;
  }

  .lower-page
    .page-container
    .about-season-area
    .season-info
    .carousel-buttons
    button {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.816vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    transition: color 0.5s;
  }

  /* いずれかのボタンにhoverした時のみ適用 */
  .lower-page
    .page-container
    .about-season-area
    .season-info
    .carousel-buttons:hover
    button {
    color: var(--Color_GrayScale-Gray70);
  }

  .lower-page
    .page-container
    .about-season-area
    .season-info
    .carousel-buttons
    button:hover {
    color: var(--Color-Primary);
  }

  .lower-page .page-container .about-season-area .tabs {
  }

  .lower-page .page-container .about-season-area .tabs .tabs-container {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 1.088vw 2.721vw;
    gap: 1.088vw;
    width: 100%;
    height: 3.81vw;
    margin: 0 auto;
  }

  .lower-page
    .page-container
    .about-season-area
    .tabs
    .tabs-container
    .background-blur {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(32, 82, 137, 0.8); /* 半透明の青色 */
    backdrop-filter: blur(4px); /* 背景をぼかす */
    border-radius: 0.544vw 0.544vw 0 0;
    z-index: 0;
  }

  .lower-page .page-container .about-season-area .tabs .tabs-container > * {
    position: relative;
    z-index: 1;
  }

  .lower-page
    .page-container
    .about-season-area
    .tabs
    .tabs-container
    .background-blur::before,
  .lower-page
    .page-container
    .about-season-area
    .tabs
    .tabs-container
    .background-blur::after {
    content: "";
    position: absolute;
    width: 0.544vw;
    height: 0.544vw;
    bottom: 0;
    opacity: 0.8;
  }

  .lower-page
    .page-container
    .about-season-area
    .tabs
    .tabs-container
    .background-blur::before {
    left: -0.48vw;
    background-image: url("../images/stay/shop-filter-container_before.svg");
    background-size: 100%;
  }

  .lower-page
    .page-container
    .about-season-area
    .tabs
    .tabs-container
    .background-blur::after {
    right: -0.48vw;
    background-image: url("../images/stay/shop-filter-container_after.svg");
    background-size: 100%;
  }

  .lower-page .page-container .about-season-area .tabs .tabs-container .title {
    font-weight: 400;
    font-size: 0.952vw;
    line-height: 1.5;
    color: #f2f2f2;
    position: relative;
    padding-right: 1.088vw;
  }

  .lower-page
    .page-container
    .about-season-area
    .tabs
    .tabs-container
    .title::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 0.1vw; /* 縦線の太さ */
    height: 100%;
    background-color: var(--Color_GrayScale-White); /* 縦線の色 */
    opacity: 0.6;
  }

  .lower-page .page-container .about-season-area .tabs .tabs-container button {
    position: relative;
    font-weight: var(--FontWeight-JP-Medium);
    font-size: 1.088vw;
    line-height: 1.5;
    color: var(--Color_GrayScale-White);
    opacity: 0.6;
    text-decoration: none;
    padding-left: 0.816vw;
    background: none; /* 背景を完全に消す */
    border: none; /* 枠線を消す */
    outline: none; /* フォーカス時のアウトラインを消す */
    cursor: pointer; /* クリック可能であることを示す */
  }

  .lower-page
    .page-container
    .about-season-area
    .tabs
    .tabs-container
    button.active {
    opacity: 1;
  }

  .lower-page
    .page-container
    .about-season-area
    .tabs
    .tabs-container
    button::before {
    content: "";
    position: absolute;
    width: 0.272vw;
    height: 0.272vw;
    background: transparent;
    border-radius: 0.544vw;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }

  .lower-page
    .page-container
    .about-season-area
    .tabs
    .tabs-container
    button.active::before {
    background: var(--Color_GrayScale-White);
  }

  /* アクティビティページのイベントカルーセル */
  .lower-page.lower-page .event-area .event-flex {
    display: flex;
    align-items: flex-start;
    gap: 4.354vw;
    padding-left: 5.442vw;
  }

  .lower-page.lower-page .event-area .event-flex .carousel-area .carousel-item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    width: 32.653vw !important;
    margin-right: 0 !important;
    flex-shrink: 0;
    background: no-repeat;
    padding: 0;
    gap: 2.177vw;
    height: auto;
  }

  .lower-page.lower-page
    .event-area
    .event-flex
    .carousel-area
    .carousel-item
    a {
    display: block;
    padding: 0;
    text-decoration: none;
  }

  .lower-page.lower-page
    .event-area
    .event-flex
    .carousel-area
    .carousel-item
    img {
    margin-bottom: 1.088vw;
  }

  .lower-page.lower-page
    .event-area
    .event-flex
    .carousel-area
    .carousel-item
    p.event-title {
    font-weight: 300;
    font-size: 1.497vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 0.544vw;
  }

  .lower-page
    .event-area
    .event-flex
    .carousel-area
    .carousel-item
    p.event-description {
    font-weight: 400;
    font-size: 0.952vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--Color_GrayScale-Black);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    max-width: unset;
    width: 100%;
  }

  .lower-page .event-area .event-flex .carousel-area .carousel-navi {
    margin-top: 4.354vw;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 2.177vw;
    padding-right: 5.442vw;
  }

  .lower-page .event-area .event-flex .carousel-area .carousel-nav {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 2.177vw;
    flex-shrink: 0;
  }

  .lower-page .event-area .event-flex .carousel-area .carousel-nav span {
    font-weight: 500;
    font-size: 0.816vw;
    line-height: 150%;
    letter-spacing: 0.05em;
    color: #b3b3b3;
  }

  .lower-page
    .event-area
    .event-flex
    .carousel-area
    .carousel-nav
    .carousel-buttons {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 1.088vw;
  }

  .lower-page
    .event-area
    .event-flex
    .carousel-area
    .carousel-nav
    .carousel-buttons
    button {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.816vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    height: fit-content;
    width: fit-content;
  }

  .lower-page.lower-page .event-area .line-indicator {
    width: 100%;
    height: 0.068vw;
    background: var(--Color-Border);
    transition: background 0.3s ease;
  }

  .lower-page.lower-page .event-area .carousel-wrapper {
    display: flex;
    gap: 2.177vw;
    transition: transform 0.3s ease;
  }

  .lower-page .event-area .carousel-item {
    min-width: 20.408vw; /* アイテムの幅を指定 */
  }

  /* 下層ページスクロールカルーセルエリア */
  .lower-page .scroll-carousel-area {
    position: relative;
    overflow: hidden;
    width: 100% !important;
  }

  .lower-page .scroll-carousel-area .title-area {
    width: 77.959vw;
    margin: 0 auto 4.354vw;
    position: relative;
  }

  .lower-page .scroll-carousel-area .carousel-body {
    display: flex;
    gap: 10.884vw;
    padding-left: 5.442vw;
    padding-right: 10.884vw;
  }

  .lower-page .scroll-carousel-area .carousel-item {
    position: relative;
    display: flex;
    width: 77.959vw; /* コンテンツ幅に合わせる */
    height: 44.218vw;
    flex-shrink: 0;
    margin: 0 auto; /* 中央揃えにする場合 */
  }

  .lower-page .scroll-carousel-area .carousel-item .carousel-item-image {
    width: 38.095vw;
    height: 38.095vw;
  }

  .lower-page .scroll-carousel-area .carousel-item .carousel-item-text {
    width: 44.898vw;
    height: 40.816vw;
    position: absolute;
    top: 1.354vw;
    left: 33.741vw;
    right: 0;
  }

  .lower-page .scroll-carousel-area .carousel-item .carousel-item-text h3 {
    margin-bottom: 1.088vw;
  }

  .lower-page .scroll-carousel-area .carousel-item .carousel-item-text h3 span {
    font-weight: 300;
    font-size: 1.905vw;
    line-height: 2.1;
    letter-spacing: 0.1em;
    color: var(--Color_GrayScale-Black);
    background-color: var(--Color_GrayScale-White);
    padding: 0.34vw 1.088vw;
  }

  .lower-page .scroll-carousel-area .carousel-item .carousel-item-text h4 {
    font-weight: 300;
    font-size: 1.497vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--Color-Primary);
    padding-left: 6.395vw;
    position: relative;
    margin-bottom: 2.177vw;
  }

  .lower-page
    .scroll-carousel-area
    .carousel-item
    .carousel-item-text
    h4::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 5.442vw;
    height: 0.068vw;
    background-color: var(--Color-Primary);
  }

  .lower-page .scroll-carousel-area .carousel-item .carousel-item-text p {
    margin-left: 6.531vw;
    margin-bottom: 2.177vw;
    font-weight: 400;
    font-size: 0.952vw;
    line-height: 2.3;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page
    .scroll-carousel-area
    .carousel-item
    .carousel-item-text
    .view-more {
    margin-left: 6.531vw;
  }

  /* インジケーターのスタイル */
  .indicator-container {
    position: absolute;
    top: 1.361vw;
    right: 0.408vw;
    display: flex;
    gap: 1.224vw;
  }

  .indicator {
    position: relative;
    width: 0.408vw;
    height: 0.408vw;
  }

  .inner-circle {
    width: 0.408vw;
    height: 0.408vw;
    background-color: var(
      --Color_GrayScale-Gray70
    ); /* 常に表示される内側の丸 */
    border-radius: 50%;
    transition: background-color 0.3s ease; /* 内側の丸の背景色の変更 */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* 中央揃え */
  }

  .outer-circle {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.408vw; /* 外側の丸の大きさ */
    height: 0.408vw;
    border-radius: 50%;
    background-color: transparent; /* 背景色なし */
    border: solid 9px transparent; /* 初期状態で透明なborder */
    transform: scale(0) translate(-50%, -50%); /* 初期状態で縮んだ状態 */
    transform-origin: center center; /* 中心を基準にスケーリング */
    transition: border 0.5s ease; /* アニメーション */
  }
}

@media (max-width: 1024px) {
  .lower-page .page-container .about-season-area .season-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 8.142vw 0px;
    gap: 8.142vw;
    border-bottom: 1px solid #ced7e2;
    width: 100%;
    flex: 1;
    overflow: hidden;
    position: relative;
    z-index: 1;
  }

  .lower-page .page-container .about-season-area .season-info:first-of-type {
    border-top: 1px solid #ced7e2;
  }

  .lower-page .page-container .about-season-area .season-info .text-column {
    width: 108.397vw;
    height: 81.425vw;
    flex-shrink: 0;
    position: relative;
  }

  .lower-page
    .page-container
    .about-season-area
    .season-info
    .text-column
    .num {
    position: static;
    top: 0;
    left: 0;
    font-weight: 500;
    font-size: 3.562vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color-Primary);
    margin-bottom: 4.071vw;
  }

  .lower-page
    .page-container
    .about-season-area
    .season-info
    .text-column
    .text-bottom {
    position: static;
  }

  .lower-page .page-container .about-season-area .season-info .text-column {
    width: 100%;
    height: auto;
    flex-shrink: 0;
    position: static;
  }

  .lower-page .page-container .about-season-area .season-info h3 {
    font-weight: 300;
    font-size: 5.598vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 4.071vw;
  }

  .lower-page .page-container .about-season-area .season-info h3 span {
    font-weight: 300;
    font-size: 4.071vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page .page-container .about-season-area .season-info p {
    font-weight: 400;
    font-size: 3.562vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 8.142vw;
  }

  .lower-page
    .page-container
    .about-season-area
    .season-info
    .image-carousel-column {
    flex: 1;
    overflow: hidden;
    position: relative;
    z-index: 1;
  }

  .lower-page
    .page-container
    .about-season-area
    .season-info
    .carousel-wrapper {
    display: flex;
    flex-wrap: nowrap;
    display: flex;
    gap: 2.036vw;
    transition: transform 0.3s ease-in-out; /* スライドにアニメーションを追加 */
  }

  .lower-page .page-container .about-season-area .season-info .carousel-item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    width: 61.069vw;
    height: auto;
    flex-shrink: 0;
    margin-right: 0;
  }

  .lower-page
    .page-container
    .about-season-area
    .season-info
    .carousel-item:last-child {
    margin-right: 0;
  }

  .lower-page .page-container .about-season-area .season-info .carousel-nav {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 8.142vw;
  }

  .lower-page
    .page-container
    .about-season-area
    .season-info
    .carousel-nav
    span {
    font-weight: 500;
    font-size: 3.053vw;
    line-height: 150%;
    letter-spacing: 0.05em;
    color: #b3b3b3;
  }

  .lower-page
    .page-container
    .about-season-area
    .season-info
    .carousel-buttons {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 4.071vw;
  }

  .lower-page
    .page-container
    .about-season-area
    .season-info
    .carousel-buttons
    button {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    text-decoration: none;
    font-weight: 500;
    font-size: 3.053vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page
    .page-container
    .about-season-area
    .season-info
    .carousel-buttons
    button:hover {
    text-decoration: none;
    color: var(--Color-Primary);
  }

  .lower-page .page-container .about-season-area .tabs {
  }

  .lower-page .page-container .about-season-area .tabs .tabs-container {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1.088vw;
    width: 100%;
    height: 14.249vw;
  }

  .lower-page
    .page-container
    .about-season-area
    .tabs
    .tabs-container
    .background-blur {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(32, 82, 137, 0.8); /* 半透明の青色 */
    backdrop-filter: blur(4px); /* 背景をぼかす */
    border-radius: 2.036vw 2.036vw 0 0;
    z-index: 0;
  }

  .lower-page .page-container .about-season-area .tabs .tabs-container > * {
    position: relative;
    z-index: 1;
  }

  .lower-page
    .page-container
    .about-season-area
    .tabs
    .tabs-container
    .background-blur::before,
  .lower-page
    .page-container
    .about-season-area
    .tabs
    .tabs-container
    .background-blur::after {
    content: "";
    position: absolute;
    width: 2.036vw;
    height: 2.036vw;
    bottom: -0.473vw;
    opacity: 0.8;
  }

  .lower-page
    .page-container
    .about-season-area
    .tabs
    .tabs-container
    .background-blur::before {
    left: -2.036vw;
    background-image: url(../images/stay/shop-filter-container_before.svg);
    background-size: 100%;
  }

  .lower-page
    .page-container
    .about-season-area
    .tabs
    .tabs-container
    .background-blur::after {
    right: -2.036vw;
    background-image: url("../images/stay/shop-filter-container_after.svg");
    background-size: 100%;
  }

  .lower-page
    .page-container
    .about-season-area
    .tabs
    .tabs-container
    .tabs-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4.071vw 8.142vw;
    width: 100%;
  }

  .lower-page .page-container .about-season-area .tabs .tabs-container .title {
    font-weight: 400;
    font-size: 0.952vw;
    line-height: 1.5;
    color: #f2f2f2;
    position: relative;
    padding-right: 1.088vw;
  }

  .lower-page
    .page-container
    .about-season-area
    .tabs
    .tabs-container
    .title::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 0.1vw; /* 縦線の太さ */
    height: 100%;
    background-color: var(--Color_GrayScale-White); /* 縦線の色 */
    opacity: 0.6;
  }

  .lower-page .page-container .about-season-area .tabs .tabs-container button {
    position: relative;
    font-weight: var(--FontWeight-JP-Medium);
    font-size: 4.071vw;
    line-height: 1.5;
    color: var(--Color_GrayScale-White);
    opacity: 0.6;
    text-decoration: none;
    padding-left: 2.036vw;
    background: none;
    border: none;
    outline: none;
    cursor: pointer;
  }

  .lower-page
    .page-container
    .about-season-area
    .tabs
    .tabs-container
    button.active {
    opacity: 1;
  }

  .lower-page
    .page-container
    .about-season-area
    .tabs
    .tabs-container
    button::before {
    content: "";
    position: absolute;
    width: 1.018vw;
    height: 1.018vw;
    background: transparent;
    border-radius: 2.036vw;
    left: -1.018vw;
    top: 50%;
    transform: translateY(-50%);
  }

  .lower-page
    .page-container
    .about-season-area
    .tabs
    .tabs-container
    button.active::before {
    background: var(--Color_GrayScale-White);
  }

  /* アクティビティページのイベントカルーセル */
  .lower-page.lower-page .event-area .event-flex {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }

  .lower-page.lower-page .event-area .event-flex .carousel-area {
    flex: 1;
    overflow: hidden;
    position: relative;
    z-index: 1;
    width: 100%;
  }

  .lower-page.lower-page .event-area .event-flex .carousel-area .carousel-item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    width: 81.425vw !important;
    margin-right: 0 !important;
    flex-shrink: 0;
    background: none;
    padding: 0;
    gap: 4.071vw;
    height: auto;
    width: 122.137vw;
  }

  .lower-page.lower-page
    .event-area
    .event-flex
    .carousel-area
    .carousel-item
    a {
    display: block;
    padding: 0;
    text-decoration: none;
  }

  .lower-page.lower-page
    .event-area
    .event-flex
    .carousel-area
    .carousel-item
    img {
    margin-bottom: 4.071vw;
  }

  .lower-page.lower-page
    .event-area
    .event-flex
    .carousel-area
    .carousel-item
    p.event-title {
    font-weight: 300;
    font-size: 5.598vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 2.036vw;
  }

  .lower-page
    .event-area
    .event-flex
    .carousel-area
    .carousel-item
    p.event-description {
    font-weight: 400;
    font-size: 3.562vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--Color_GrayScale-Black);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 122.137vw;
    width: 100%;
  }

  .lower-page .event-area .event-flex .carousel-area .carousel-navi {
    margin-top: 16.285vw;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 8.142vw;
    width: 87.786vw;
  }

  .lower-page .event-area .event-flex .carousel-area .carousel-nav {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 8.142vw;
    flex-shrink: 0;
  }

  .lower-page .event-area .event-flex .carousel-area .carousel-nav span {
    font-weight: 500;
    font-size: 3.053vw;
    line-height: 150%;
    letter-spacing: 0.05em;
    color: #b3b3b3;
  }

  .lower-page
    .event-area
    .event-flex
    .carousel-area
    .carousel-nav
    .carousel-buttons {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 9.071vw;
  }

  .lower-page
    .event-area
    .event-flex
    .carousel-area
    .carousel-nav
    .carousel-buttons
    button {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    text-decoration: none;
    font-weight: 500;
    font-size: 3.053vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page
    .event-area
    .event-flex
    .carousel-area
    .carousel-nav
    .carousel-buttons
    button:hover {
    text-decoration: none;
    color: var(--Color-Primary);
  }

  .lower-page.lower-page .event-area .line-indicator {
    width: 100%;
    height: 0.254vw;
    background: var(--Color-Border);
    transition: background 0.3s ease;
  }

  .lower-page.lower-page .event-area .carousel-wrapper {
    display: flex;
    gap: 4.071vw;
    transition: transform 0.3s ease;
  }

  .lower-page .event-area .carousel-item {
    min-width: unset; /* アイテムの幅を指定 */
  }

  /* 下層ページスクロールカルーセルエリア */
  .lower-page .scroll-carousel-area {
    position: relative;
    overflow: hidden;
    margin-bottom: 40.712vw;
    width: 87.786vw;
    margin: 0 auto;
  }

  .lower-page .scroll-carousel-area .carousel-body {
    display: flex;
    flex-direction: column;
    gap: 20.356vw;
    padding-right: 0;
    width: 100% !important;
  }

  .lower-page .scroll-carousel-area .carousel-item {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 4.071vw;
    width: 100%;
    height: auto;
  }

  .lower-page .scroll-carousel-area .carousel-item .carousel-item-image {
    width: 100%;
    height: auto;
  }

  .lower-page .scroll-carousel-area .carousel-item .carousel-item-text {
    width: 100%;
    height: auto;
    position: static;
  }

  .lower-page .scroll-carousel-area h2 {
    text-align: left;
  }

  .lower-page .scroll-carousel-area .carousel-item .carousel-item-text h3 {
    margin-bottom: 4.071vw;
  }

  .lower-page .scroll-carousel-area .carousel-item .carousel-item-text h3 span {
    font-weight: 300;
    font-size: 5.089vw;
    line-height: 2.1;
    letter-spacing: 0.1em;
    color: var(--Color_GrayScale-Black);
    background-color: var(--Color_GrayScale-White);
    padding: 1.272vw 4.071vw;
  }

  .lower-page .scroll-carousel-area .carousel-item .carousel-item-text h4 {
    font-weight: 300;
    font-size: 4.071vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--Color-Primary);
    padding-left: 11.959vw;
    position: relative;
    margin-bottom: 4.071vw;
  }

  .lower-page
    .scroll-carousel-area
    .carousel-item
    .carousel-item-text
    h4::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 8.142vw;
    height: 0.254vw;
    background-color: var(--Color-Primary);
  }

  .lower-page .scroll-carousel-area .carousel-item .carousel-item-text p {
    margin-left: 0;
    margin-bottom: 8.142vw;
    font-weight: 400;
    font-size: 3.562vw;
    line-height: 2.3;
    letter-spacing: 0.05em;
    color: var(--Color_GrayScale-Black);
  }

  .lower-page
    .scroll-carousel-area
    .carousel-item
    .carousel-item-text
    .view-more {
    margin-left: 0;
  }

  /* インジケーターのスタイル */
  .indicator-container {
    position: absolute;
    top: 5.089vw;
    right: 1.527vw;
    display: flex;
    gap: 4.58vw;
  }

  .indicator {
    position: relative;
    width: 1.527vw;
    height: 1.527vw;
  }

  .inner-circle {
    width: 1.527vw;
    height: 1.527vw;
    background-color: var(
      --Color_GrayScale-Gray70
    ); /* 常に表示される内側の丸 */
    border-radius: 50%;
    transition: background-color 0.3s ease; /* 内側の丸の背景色の変更 */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* 中央揃え */
  }

  .outer-circle {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.527vw; /* 外側の丸の大きさ */
    height: 1.527vw;
    border-radius: 50%;
    background-color: transparent; /* 背景色なし */
    border: solid 9px transparent; /* 初期状態で透明なborder */
    transform: scale(0) translate(-50%, -50%); /* 初期状態で縮んだ状態 */
    transform-origin: center center; /* 中心を基準にスケーリング */
    transition: border 0.5s ease; /* アニメーション */
  }

  .indicator.active .inner-circle {
    background-color: var(
      --Color-Primary
    ); /* アクティブ時に内側の丸の色を変更 */
  }

  .indicator.active .outer-circle {
    opacity: 1; /* 外側の丸を表示 */
    transform: scale(1) translate(-50%, -50%); /* 外側の丸が広がる */
    border: solid 9px var(--Color-Primary_Light); /* borderの色を変更 */
  }
}

/* 記事詳細ページ */

.lower-page .page-post-entry .featured-image {
  margin-bottom: 2.177vw;
}

.lower-page .page-post-entry .entry-contents {
  background: var(--Color_GrayScale-White);
  padding: 5.442vw 8.707vw;
}

.lower-page .page-post-entry .entry-contents h1.entry-title {
  font-family: var(--Font-JP);
  font-weight: 400;
  font-size: 2.177vw;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: var(--Color-Primary);
  border-bottom: 1px solid #ced7e2;
  padding-bottom: 2.177vw;
  margin-bottom: 1.088vw;
}

.lower-page .page-post-entry .entry-contents h2 {
  font-family: var(--Font-JP);
  font-weight: 400;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: var(--Color-Primary);
  margin-bottom: 2.177vw;
  text-align: left;
}

.lower-page
  .page-post-entry
  .entry-contents
  .wp-block-cover__inner-container
  h2.wp-block-heading {
  color: var(--Color_GrayScale-White) !important;
  font-size: 35px;
  margin: 0;
  text-align: center;
}

.lower-page .page-post-entry .entry-contents .entry-category,
.lower-page .page-post-entry .entry-contents .entry-tags {
  font-family: var(--Font-JP);
  font-weight: 400;
  font-size: 0.816vw;
  line-height: 1.8;
  letter-spacing: 0.1em;
  color: var(--Color_GrayScale-Gray30);
  margin-bottom: 2.177vw;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.088vw;
}

.lower-page .page-post-entry .entry-contents .entry-category {
  margin-bottom: 1.088vw;
}

.lower-page .page-post-entry .entry-contents .entry-category a,
.lower-page .page-post-entry .entry-contents .entry-tags a {
  font-family: var(--Font-JP);
  font-weight: 400;
  font-size: 0.816vw;
  line-height: 1.8;
  letter-spacing: 0.1em;
  color: var(--Color_GrayScale-Gray30);
}

.lower-page .page-post-entry .entry-contents .entry-category a:hover,
.lower-page .page-post-entry .entry-contents .entry-tags a:hover {
  color: var(--Color-Primary);
}

.lower-page .page-post-entry .entry-contents .entry-category .post-category,
.lower-page .page-post-entry .entry-contents .entry-tags .post-tag {
  margin-right: 0.544vw; /* タグと次のタグの間隔 */
}

.lower-page .page-post-entry .entry-contents p {
  font-family: var(--Font-JP);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  text-align: justify;
  letter-spacing: 0.05em;
  font-feature-settings: "halt" on;
  margin-bottom: 2.177vw;
}

.lower-page .page-post-entry .entry-contents a {
  font-family: var(--Font-JP);
  font-weight: 500;
  color: var(--Color-Primary);
  text-decoration: underline;
  word-break: break-word;
  overflow-wrap: break-word;
  transition: color 0.5s ease;
}

.wp-block-columns {
  margin-top: 32px;
  margin-bottom: 32px;
}

.wp-block-separator {
  display: none;
}

.wp-block-cover {
  margin-bottom: 2.177vw;
}

@media (min-width: 1025px) {
  /* 目次エリア */
  .lower-page .page-post-entry .entry-contents #ez-toc-container {
    display: flex;
    flex-direction: column;
    padding: 2.177vw;
    gap: 1.088vw;
    height: auto;
    background: var(--Color_GrayScale-Gray95);
    border-radius: 0.544vw;
    margin: 2.177vw 0;
  }

  .lower-page
    .page-post-entry
    .entry-contents
    #ez-toc-container
    .ez-toc-title-container
    p.ez-toc-title {
    font-family: var(--Font-JP);
    font-weight: var(--FontWeight-JP-Medium);
    font-size: 1.088vw;
    line-height: 1.5;
    color: var(--Color_GrayScale-Black);
    margin: 0;
  }

  .lower-page
    .page-post-entry
    .entry-contents
    #ez-toc-container
    .ez-toc-page-1 {
    display: flex;
    flex-direction: row;
    padding: 0.544vw 0px;
    gap: 1.088vw;
    border-bottom: 1px dashed var(--Color-Border);
  }

  .lower-page
    .page-post-entry
    .entry-contents
    #ez-toc-container
    .ez-toc-page-1::before {
    content: attr(data-index) " ";
    font-family: var(--Font-EN);
    font-weight: var(--FontWeight-EN-Light);
    margin-right: 0;
    display: inline-block;
    font-size: 0.952vw;
  }

  .lower-page .page-post-entry .entry-contents #ez-toc-container .ez-toc-link {
    font-family: var(--Font-JP);
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 0.952vw;
    line-height: 150%;
    text-decoration-line: underline;
    color: var(--Color_GrayScale-Black);
  }
}

@media (max-width: 1024px) {
  .lower-page .page-post-entry .featured-image {
    margin-bottom: 2.177vw;
  }

  .lower-page .page-post-entry .entry-contents {
    background: var(--Color_GrayScale-White);
    padding: 5.442vw 8.707vw;
  }

  .lower-page .page-post-entry .entry-contents h1.entry-title {
    font-size: 8.142vw;
    padding-bottom: 8.142vw;
    margin-bottom: 4.071vw;
  }

  .lower-page .page-post-entry .entry-contents h2 {
    font-family: var(--Font-JP);
    font-weight: 400;
    font-size: 6.107vw;
    line-height: 1.5;
    letter-spacing: 0.1em;
    color: var(--Color-Primary);
    margin-bottom: 2.177vw;
  }

  .lower-page .page-post-entry .entry-contents .entry-category,
  .lower-page .page-post-entry .entry-contents .entry-tags {
    font-family: var(--Font-JP);
    font-weight: 400;
    font-size: 3.053vw;
    margin-bottom: 4.071vw;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 2.036vw;
  }

  .lower-page .page-post-entry .entry-contents .entry-category .post-category,
  .lower-page .page-post-entry .entry-contents .entry-tags .post-tag {
    margin-right: 2.036vw; /* タグと次のタグの間隔 */
  }

  .lower-page .page-post-entry .entry-contents .entry-category a,
  .lower-page .page-post-entry .entry-contents .entry-tags a {
    font-family: var(--Font-JP);
    font-weight: 400;
    font-size: 3.053vw;
    margin-bottom: 8.142vw;
  }

  .lower-page .page-post-entry .entry-contents p {
    font-family: var(--Font-JP);
    font-weight: 400;
    font-size: 4.071vw;
    line-height: 1.8;
    text-align: justify;
    letter-spacing: 0.05em;
    font-feature-settings: "halt" on;
    color: var(--Color_GrayScale-Black);
    margin-bottom: 8.142vw;
  }

  .lower-page .page-post-entry .entry-contents a {
    font-family: var(--Font-JP);
    font-weight: 500;
    color: var(--Color-Primary);
    text-decoration: underline;
    word-break: break-word;
    overflow-wrap: break-word;
  }

  .wp-block-columns {
    margin-top: 8.142vw;
    margin-bottom: 8.142vw;
  }

  .wp-block-separator {
    display: none;
  }

  .wp-block-cover {
    margin-bottom: 8.142vw;
  }

  /* 目次エリア */
  .lower-page .page-post-entry .entry-contents #ez-toc-container {
    display: flex;
    flex-direction: column;
    padding: 6.091vw;
    gap: 4.061vw;
    height: auto;
    background: var(--Color_GrayScale-Gray95);
    border-radius: 2.03vw;
    margin: 8.122vw 0;
  }

  .lower-page
    .page-post-entry
    .entry-contents
    #ez-toc-container
    .ez-toc-title-container
    p.ez-toc-title {
    font-family: var(--Font-JP);
    font-weight: var(--FontWeight-JP-Medium);
    font-size: 4.061vw;
    line-height: 1.5;
    color: var(--Color_GrayScale-Black);
    margin: 0;
  }

  .lower-page
    .page-post-entry
    .entry-contents
    #ez-toc-container
    .ez-toc-page-1 {
    display: flex;
    flex-direction: row;
    padding: 2.03vw 0px;
    gap: 4.061vw;
    border-bottom: 1px dashed var(--Color-Border);
  }

  .lower-page
    .page-post-entry
    .entry-contents
    #ez-toc-container
    .ez-toc-page-1::before {
    content: attr(data-index) " ";
    font-family: var(--Font-EN);
    font-weight: var(--FontWeight-EN-Light)
    margin-right: 0;
    display: inline-block;
  }

  .lower-page .page-post-entry .entry-contents #ez-toc-container .ez-toc-link {
    font-family: var(--Font-JP);
    font-weight: var(--FontWeight-JP-Regular);
    font-size: 3.553vw;
    line-height: 150%;
    letter-spacing: 0.1em;
    text-decoration-line: underline;
    color: var(--Color_GrayScale-Black);
  }
  
}

/* 404ページ */

.lower-page .not-found .page-title {
  font-size: 5.442vw;
  font-weight: var(--FontWeight-EN-ExtraLight);
  color: var(--Color-Primary);
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-bottom: 1.088vw;
}

.lower-page .load-more-btn.btn-align-left {
  width: 11.32vw;
  margin: 0;
}

@media (max-width: 1024px) {
  .lower-page .not-found .page-title {
    font-size: 20.356vw;
    font-weight: var(--FontWeight-EN-ExtraLight);
    color: var(--Color-Primary);
    line-height: 1.5;
    letter-spacing: 0.1em;
    margin-bottom: 8.142vw;
  }

  .lower-page .load-more-btn.btn-align-left {
    width: 38.677vw;
    margin: 0;
  }
}

