/* 公共样式 - 所有页面共用 */

/* 重置默认样式 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}

body {
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.6;
  color: #333;
  width: 100%;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* 页首 */
.page-header {
  width: 100%;
  height: 900px;
  position: relative;
  overflow: hidden;
  /* 确保容器占满屏幕 */
  min-width: 100vw;
}

/* 页首背景图片 */
.header-bg-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  /* 安卓兼容性 */
  -webkit-object-fit: cover;
  -webkit-object-position: center;
  font-family: 'object-fit: cover;';
  /* 修复部分iPhone显示不全问题 */
  min-width: 100%;
  min-height: 100%;
}

/* Logo */
.site-logo {
  position: absolute;
  top: 80px;
  left: 120px;
  z-index: 20;
  display: inline-block;
}

.site-logo img {
  display: block;
}

/* 主标题 */
.main-title {
  position: absolute;
  top: 377px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 20;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 52pt;
  line-height: 80px;
  color: #FFFFFF;
  text-align: center;
  margin: 0;
  white-space: nowrap;
}

/* PC端显示PC文字，隐藏移动端文字 */
.title-line-mobile {
  display: none;
}

.title-line-pc {
  display: inline;
}

/* 多语种切换按钮 */
.language-toggle {
  position: absolute;
  top: 80px;
  right: 170px;
  /* 120px + 25px + 25px = 170px (汉堡右侧120px + 汉堡宽度25px + 间距25px) */
  z-index: 20;
  cursor: pointer;
}

.lang-icon {
  display: block;
  transition: opacity 0.3s ease;
  position: relative;
}

.lang-icon-normal {
  opacity: 1;
}

.lang-icon-hover {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.language-toggle:hover .lang-icon-normal {
  opacity: 0;
}

.language-toggle:hover .lang-icon-hover {
  opacity: 1;
}

/* 当下拉菜单显示时，禁用hover效果 */
.language-toggle.dropdown-open:hover .lang-icon-normal,
.language-toggle.dropdown-open .lang-icon-normal {
  opacity: 1;
}

.language-toggle.dropdown-open:hover .lang-icon-hover,
.language-toggle.dropdown-open .lang-icon-hover {
  opacity: 0;
}

/* 语言下拉菜单 */

.language-dropdown {
  position: absolute;
  top: 100%;
  left: 50%;
  margin-top: 10px;
  width: 100px;
  height: 137px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%) translateY(-10px);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
  pointer-events: none;
}

.language-dropdown.show {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}


/* index.html页面：背景透明 */
.page-header:not(.culture-header) .language-dropdown {
  background: transparent;
}

/* 其他页面（culture-header）：背景色#0070D2 */
.culture-header .language-dropdown {
  background: #0070D2;
}

.language-option {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 34px;
  color: #FFFFFF;
  text-align: center;
  cursor: pointer;
  position: relative;
  opacity: 0.6;
  transition: opacity 0.3s ease;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.language-option:not(:last-child) {
  margin-bottom: 5px;
}


.language-option.active {
  opacity: 1;
}

.language-option.active::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 50%;
  transform: translateX(-50%);
  width: 85px;
  height: 2px;
  background: #FFFFFF;
}

/* 汉堡菜单按钮 */
.hamburger-menu {
  position: absolute;
  top: 80px;
  right: 120px;
  width: 25px;
  height: 25px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 40;
  /* 确保在侧边栏之上 */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform 0.3s ease;
}

.hamburger-line {
  width: 100%;
  height: 2px;
  background-color: #FFFFFF;
  transition: all 0.3s ease;
  display: block;
}

/* 汉堡菜单悬停效果（仅在非激活状态） */
.hamburger-menu:not(.active):hover .hamburger-line {
  background-color: #0070D2;
}

/* 汉堡菜单激活状态（变成X） */
.hamburger-menu.active .hamburger-line {
  background-color: #FFFFFF;
}

.hamburger-menu.active .hamburger-line:nth-child(1) {
  transform: translateY(11.5px) rotate(45deg);
}

.hamburger-menu.active .hamburger-line:nth-child(2) {
  opacity: 0;
}

.hamburger-menu.active .hamburger-line:nth-child(3) {
  transform: translateY(-11.5px) rotate(-45deg);
}

/* 侧边导航栏 */
.sidebar-nav {
  position: absolute;
  top: 0;
  right: -400px;
  /* 初始隐藏在右侧外 */
  width: 400px;
  height: 900px;
  background-color: #0070D2;
  z-index: 30;
  transition: right 0.4s ease;
}

.sidebar-nav.active {
  right: 0;
  /* 滑入 */
}

/* 导航菜单容器 */
.sidebar-menu {
  position: absolute;
  top: 200px;
  left: 35px;
  width: 316px;
  height: 418px;
}

/* 菜单项 */
.menu-item {
  display: block;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-style: bold;
  font-size: 24px;
  line-height: 34px;
  color: #FFFFFF;
  text-decoration: none;
  margin-bottom: 25px;
}

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

/* 社交媒体图标容器 */
.sidebar-social {
  position: absolute;
  bottom: 100px;
  right: 50px;
  display: flex;
  gap: 25px;
}

/* 社交图标 */
.social-icon {
  position: relative;
  display: block;
  cursor: pointer;
}

.social-icon img {
  display: block;
  transition: opacity 0.3s ease;
}

.social-icon .social-icon-normal {
  opacity: 1;
}

.social-icon .social-icon-hover {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.social-icon:hover .social-icon-normal {
  opacity: 0;
}

.social-icon:hover .social-icon-hover {
  opacity: 1;
}

/* 页尾 */
.page-footer {
  width: 100%;
  height: 1260px;
  background-color: #2c2c2c;
  /* 临时背景色 */
}

/* 页尾正文 */
.footer-content {
  width: 100%;
  height: 1200px;
}

/* 页尾上半部 600px */
.footer-top {
  width: 100%;
  height: 600px;
  position: relative;
  overflow: hidden;
}

/* 页尾背景图片 */
.footer-bg-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* 页尾标题 */
.footer-title {
  position: absolute;
  top: 273px;
  left: 50%;
  transform: translateX(-50%);
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 54px;
  color: #FFFFFF;
  margin: 0;
  white-space: nowrap;
  text-align: center;
}

/* 英文版页尾标题：文字左对齐，整体居中 */
html[lang="en"] .footer-title {
  text-align: left;
}

/* PC端显示PC文字，隐藏移动端文字 */
.footer-title-mobile {
  display: none;
}

.footer-title-pc {
  display: inline;
}

/* 页尾下半部 600px */
.footer-bottom-content {
  width: 100%;
  height: 600px;
  background-color: #0070D2;
  padding-top: 120px;
  padding-left: 80px;
  box-sizing: border-box;
  position: relative;
}

/* 页尾Logo */
.footer-logo {
  display: block;
  margin-bottom: 80px;
}

/* 文字区域容器 */
.footer-text-container {
  /* 容器无需额外样式 */
}

/* 第一行 abc */
.footer-row-top {
  display: flex;
  gap: 30px;
}

/* 第二行 de */
.footer-row-bottom {
  display: flex;
  gap: 30px;
  margin-top: 40px;
}

/* 文字区域基础样式 */
.footer-text-area {
  min-width: 200px;
  max-width: 280px;
  min-height: 100px;
  padding: 10px;
}

/* 文字区域标题 */
.footer-area-title {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 30px;
  color: #FFFFFF;
  margin: 0 0 10px 0;
}

/* 文字区域正文 */
.footer-area-text {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 22px;
  color: #FFFFFF;
  margin: 0;
  word-break: break-word;
  overflow-wrap: break-word;
}

/* 区域样式 - 背景色已移除 */

/* f区域 */
.area-f {
  position: absolute;
  left: 960px;
  top: 220px;
  width: 215px;
  height: 258px;
}

/* f区域文字 */
.footer-f-text {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 30px;
  color: #FFFFFF;
  margin: 0 0 12px 0;
  white-space: nowrap;
  display: block;
}

@media (min-width:481px) and (max-width: 1180px) {
  .area-f {
    display: none;
  }
}

.footer-f-text:last-child {
  margin-bottom: 0;
}

/* f区域链接 */
.footer-link {
  text-decoration: none;
  color: #FFFFFF;
}

/* 页尾链接样式 */
.footer-link {
  color: #FFFFFF;
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-link:hover {
  color: #FFFFFF;
  /* 保持与常态一致，避免变色影响可读性 */
}

/* 页尾社交媒体图标容器 */
.footer-social-icons {
  position: absolute;
  top: 450px;
  right: 80px;
  display: flex;
  gap: 25px;
}

/* 页尾社交图标 */
.footer-social-icon {
  position: relative;
  display: block;
  cursor: pointer;
}

.footer-social-icon img {
  display: block;
  transition: opacity 0.3s ease;
}

.footer-social-normal {
  opacity: 1;
}

.footer-social-hover {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.footer-social-icon:hover .footer-social-normal {
  opacity: 0;
}

.footer-social-icon:hover .footer-social-hover {
  opacity: 1;
}

/* 回到顶部按钮 */
.back-to-top {
  position: absolute;
  bottom: 20px;
  right: 20px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  transition: transform 0.3s ease;
}

.back-to-top img {
  display: block;
}

.back-to-top:hover {
  transform: translateY(-5px);
}

/* 最终页尾 */
.footer-bottom {
  width: 100%;
  height: 60px;
  background-color: #757575;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 版权文字 */
.copyright {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 30px;
  color: #FFFFFF;
  margin: 0;
  text-align: center;
}

/* 太长的英文加上此tag */
.toolong-eng {
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}

/* * {
  outline: 1px solid rgba(255, 0, 0, .15);
} */

/* =====================
   移动端样式 - 断点 480px
   ===================== */
@media (max-width: 480px) {

  /* 防止横向滚动 */
  html,
  body {
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
  }

  /* 确保主要容器不会超出视口 */
  .page-header,
  .page-main,
  .page-footer {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  /* 移动端页首额外优化 */
  .page-header {
    min-width: 100% !important;
    width: 100vw !important;
  }

  /* 移动端页首背景图片优化 */
  .header-bg-image {
    width: 100vw !important;
    min-width: 100% !important;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }

  /* Estate页面页中部 - 移动端固定高度3034px，禁止内部滚动 */
  /* 计算：页中标题区域(约100px) + 页中1区(1646px) + 文字标题区域(约100px) + 页中2区(952px) + 间距(236px) = 3034px */
  .page-main.culture-main:has(.estate-main-title-section) {
    height: 3034px !important;
    /* Estate页面移动端高度：覆盖内联样式 */
    overflow: hidden !important;
    /* 禁止内部滚动 */
    position: relative;
    /* 确保定位上下文 */
  }

  /* Culture页面页中部 - 移动端固定高度，禁止内部滚动 */
  /* 计算：页中1区灰色区域(约678px) + 页中2区标题(56px) + 页中2区(1050px) + 页中3区标题(56px) + 页中3区卡片(1910px) + 间距(200px) = 3950px */
  /* 页中1区：50px(距页首) + 40px(标题上边距) + 84px(标题高度) + 40px(标题到ab) + 222px(ab行) + 30px(ab到cd) + 222px(cd行) + 40px(灰色区域下边距) = 728px */
  /* 页中2区：50px(标题上边距) + 56px(标题高度) + 40px(标题到e) + 1050px(5行*210px) = 1196px */
  /* 页中3区：50px(标题上边距) + 84px(标题高度，3行*28px) + 50px(标题到x) + 1925px(卡片总高度：x495+y275+z495+p275+q275+4*25gap) + 65px(q到页尾) = 2174px */
  /* 总计：728 + 1196 + 2174 = 4098px */
  /* 增加额外高度以确保q部分不被页尾遮盖 */
  .page-main.culture-main:has(.culture-section1) {
    height: 4115px !important;
    /* Culture页面移动端高度：确保q的下底边距离页尾大图上顶边65px，增加额外高度防止遮盖 */
    overflow: hidden !important;
    /* 禁止内部滚动 */
    position: relative;
    /* 确保定位上下文 */
  }

  html[lang="en"] .page-main.culture-main:has(.culture-section1) {
    height: 4200px !important;
    /* 微调以减少多余留白 */
  }

  /* Entertainment页面页中部 - 移动端禁止滚动 */
  /* 已隐藏标题组和页中3区，减少高度：标题组(134px) + 内容区(1701px) = 1835px */
  .page-main.culture-main:has(.ent-section-1) {
    overflow: hidden !important;
    /* 禁止内部滚动 */
    position: relative !important;
    /* 确保定位上下文 */
    height: auto !important;
    /* 高度自适应，容纳所有内容 */
    min-height: 3165px !important;
    /* 最小高度：5000px - 1835px = 3165px（已隐藏标题组和页中3区） */
  }

  /* Travel页面页中部 - 移动端高度由JavaScript动态计算 */
  .page-main.culture-main:has(.travel-section-3) {
    min-height: auto !important;
    /* 覆盖内联样式，让JavaScript控制高度 */
    height: auto !important;
  }

  /* 确保所有内部section也不会产生滚动 */
  .page-main.culture-main section {
    overflow: visible !important;
  }

  /* Estate页面页中标题区域 - 移动端样式 */
  .estate-main-title-section {
    margin-top: 50px !important;
    /* "物件探しから契約"行的上顶边，距离页首大图的下底边，50px */
    text-align: center !important;
  }

  .estate-main-section-title {
    font-size: 20px !important;
    line-height: 28px !important;
    text-align: center !important;
    white-space: normal !important;
    /* 允许换行 */
  }

  /* 移动端显示换行，PC端隐藏 */
  .estate-title-mobile-br-1,
  .estate-title-mobile-br-2 {
    display: inline !important;
  }

  /* Estate页面页中1区 - 移动端样式 */
  .estate-section-1 {
    margin-top: 50px !important;
    /* "our service"行的下底边，距离下面的那些色块的上顶边，也是50px */
    height: auto !important;
    /* 高度自适应，确保包含所有内容 */
    min-height: 1646px !important;
    /* 确保有足够高度：3行方片(538px * 3) + 2个行间距(16px * 2) = 1646px */
    max-height: none !important;
    /* 取消最大高度限制 */
  }

  /* Estate页面页中1区容器 - 移动端布局：2个一行，共3行 */
  /* 计算高度：3行方片(538px * 3) + 2个行间距(16px * 2) = 1614px + 32px = 1646px */
  .estate-section-1-container {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 1646px !important;
    /* 确保容器高度足够：538px * 3 + 16px * 2 = 1646px */
    max-height: none !important;
    /* 取消PC端的最大高度限制 */
    gap: 16px 12px !important;
    /* 行间距16px，列间距12px */
  }

  /* Estate页面文字标题区域 - 移动端样式 */
  .estate-section-after-1-title {
    margin-top: 50px !important;
    /* 文字标题区域上顶边距离最后两个小方片（e、f）的下底边50px */
    margin-bottom: 50px !important;
    /* "Choose us"行的下底边距离页中2区a行上顶边50px */
    height: auto !important;
    /* 高度自适应 */
    text-align: center !important;
    /* 横向居中 */
  }

  /* PC端文字 - 移动端隐藏 */
  .estate-section-after-1-title-pc {
    display: none !important;
  }

  /* 移动端文字 - 移动端显示 */
  .estate-section-after-1-title-mobile {
    display: block !important;
  }

  /* 移动端文字行样式 */
  .estate-section-after-1-title-mobile .estate-section-after-1-title-line {
    font-size: 20px !important;
    line-height: 28px !important;
    text-align: center !important;
    margin: 0 !important;
    color: #0070D2 !important;
    /* 与PC端保持一致 */
    font-family: 'Noto Sans JP', sans-serif !important;
    font-weight: 500 !important;
  }

  /* Estate页面页中2区 - 移动端样式 */
  /* 整个区域（文字标题区域 + 页中2区）的总高度为1052px */
  /* 使用calc计算，假设标题区域高度约为100px（后续可根据实际调整） */
  .estate-section-2 {
    height: calc(1052px - 100px) !important;
    /* 1052px - 标题区域高度 = 页中2区高度 */
    min-height: calc(1052px - 100px) !important;
    max-height: calc(1052px - 100px) !important;
    margin-top: 0 !important;
    /* 取消PC端的margin-top，由标题区域的margin-bottom控制间距 */
    margin-bottom: 50px !important;
    /* d行的下底边距离页尾大图的上顶边50px */
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    /* 确保内容在指定高度内 */
  }

  /* 页中2区的行 - 移动端样式 */
  /* 4行，每行高度210px */
  .estate-section-2-row {
    height: 210px !important;
    /* 每行高度210px */
    min-height: 210px !important;
    max-height: 210px !important;
    flex-shrink: 0 !important;
    /* 不允许收缩 */
  }

  /* 页中2区左右区域 - 移动端样式 */
  .estate-section-2-col {
    width: 50% !important;
    /* 宽度占屏幕宽度50% */
    height: 210px !important;
    /* 高度210px */
    min-width: 50% !important;
    max-width: 50% !important;
    min-height: 210px !important;
    max-height: 210px !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
    /* 为绝对定位的子元素提供定位上下文 */
  }

  /* 页中2区标题区域 - 移动端样式 */
  .estate-section-2-title-area {
    position: absolute !important;
    top: 8px !important;
    /* 标题上顶边距离所在小区域上顶边8px */
    left: 50% !important;
    transform: translateX(-50%) !important;
    /* 横向居中 */
    text-align: center !important;
    width: auto !important;
  }

  /* 页中2区标题 - 移动端样式 */
  .estate-section-2-title-line {
    font-size: 18px !important;
    line-height: 24px !important;
    margin: 0 !important;
  }

  /* 页中2区正文区域 - 移动端样式 */
  .estate-section-2-text-area {
    position: absolute !important;
    top: calc(8px + 24px + 24px + 20px) !important;
    /* 标题上顶边8px + 标题第一行行高24px + 标题第二行行高24px + 间距20px（距离标题最后一行的下底边） */
    left: 50% !important;
    transform: translateX(-50%) !important;
    /* 横向居中 */
    width: 160px !important;
    /* 宽度160px */
    height: 120px !important;
    /* 高度120px */
    box-sizing: border-box !important;
  }

  /* 页中2区正文 - 移动端样式 */
  .estate-section-2-text {
    font-size: 12px !important;
    line-height: 20px !important;
    margin: 0 !important;
    width: 100% !important;
    height: 100% !important;
    box-sizing: border-box !important;
  }

  /* 英文版移动端：正文行高减小1px，缩短与标题的距离 */
  html[lang="en"] .estate-section-2-text {
    line-height: 19px !important;
  }

  /* Estate页面页中1区容器 - 移动端布局：2个一行，共3行 */
  .estate-section-1-container {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    gap: 16px 12px !important;
    /* 行间距16px，列间距12px */
  }

  /* Estate卡片 - 移动端样式 */
  .estate-card {
    width: 175px !important;
    height: 538px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
  }

  /* 移动端交换c和d的位置：d在左，c在右 */
  /* 给所有元素设置明确的order值，确保顺序正确 */
  .estate-card-1a {
    order: 1 !important;
  }

  .estate-card-1b {
    order: 2 !important;
  }

  .estate-card-1d {
    order: 3 !important;
    /* d排在c前面 */
  }

  .estate-card-1c {
    order: 4 !important;
    /* c排在d后面 */
  }

  .estate-card-1e {
    order: 5 !important;
  }

  .estate-card-1f {
    order: 6 !important;
  }

  /* 图标 - 移动端样式 */
  .estate-card picture,
  .estate-card .estate-card-icon {
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin-top: 16px !important;
    /* 图标上顶边距离方片上顶边16px */
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* 主标题 - 移动端样式 */
  .estate-card-title {
    margin-top: 15px !important;
    /* 主标题上顶边距离图标下底边15px */
    font-size: 18px !important;
    line-height: 24px !important;
    text-align: center !important;
    white-space: normal !important;
    /* 允许换行 */
  }

  /* 描述性文字 - 移动端样式 */
  .estate-card-desc {
    font-size: 12px !important;
    line-height: 20px !important;
    text-align: center !important;
    white-space: normal !important;
    /* 允许换行 */
    margin-top: 10px !important;
    /* 保持与主标题的间距 */
    padding: 0 10px !important;
    /* 左右留一些边距 */
  }

  /* 分割线 - 移动端样式 */
  .estate-card-line {
    margin-top: 10px !important;
    /* 调整分割线位置 */
  }

  /* 项目列表容器 - 移动端样式 */
  .estate-card-item {
    width: 100% !important;
    /* 拉成与小方片等宽 */
    height: auto !important;
    /* 高度自适应 */
    margin: 0 !important;
    /* 取消PC端的margin */
    display: flex !important;
    flex-direction: column !important;
    /* 改为纵向排列：小标题在上，详情在下 */
    align-items: stretch !important;
  }

  /* 第一个项目 - 移动端样式 */
  .estate-card-item:first-of-type {
    margin-top: 14px !important;
    /* 第一个"小标题区域"上顶边距离上方分割线下底边14px */
  }

  /* 后续项目之间的间距 */
  .estate-card-item:not(:first-of-type) {
    margin-top: 12px !important;
    /* 项目之间的间距 */
  }

  /* 小标题区域 - 移动端样式 */
  .estate-card-item-title {
    width: 100% !important;
    /* 拉成与小方片等宽（175px） */
    height: 24px !important;
    /* 高度统一为24px */
    min-height: 24px !important;
    max-height: 24px !important;
    background-color: #FFFFFF !important;
    display: flex !important;
    flex-direction: row !important;
    /* 横向排列文字 */
    justify-content: center !important;
    /* 横向居中 */
    align-items: center !important;
    /* 纵向居中 */
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* d部分的小标题区域 - 移动端特殊样式：高度48px，允许两行 */
  .estate-card-1d .estate-card-item-title {
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    flex-wrap: wrap !important;
    /* 允许换行 */
    align-items: center !important;
    justify-content: center !important;
  }

  /* 小标题区域内的文字 - 移动端样式 */
  .estate-card-item-title {
    font-size: 0 !important;
    /* 消除inline元素之间的空格 */
  }

  .estate-card-item-title p {
    font-size: 16px !important;
    line-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    /* 取消所有padding，让文字连起来 */
    font-family: 'Noto Sans JP', sans-serif !important;
    font-weight: 500 !important;
    color: #0070D2 !important;
    /* 蓝色文字（1a, 1c, 1e） */
    text-align: center !important;
    /* 横向居中 */
    display: inline !important;
    /* 让多个p标签在同一行显示 */
    white-space: nowrap !important;
    /* 不换行 */
    vertical-align: middle !important;
    /* 垂直对齐 */
  }

  /* d部分的小标题区域内的文字 - 移动端特殊样式：允许换行 */
  .estate-card-1d .estate-card-item-title {
    font-size: 0 !important;
    /* 消除inline元素之间的空格 */
  }

  .estate-card-1d .estate-card-item-title p {
    font-size: 16px !important;
    line-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Noto Sans JP', sans-serif !important;
    font-weight: 500 !important;
    color: #0070D2 !important;
    text-align: center !important;
    display: inline !important;
    white-space: normal !important;
    /* 允许换行 */
    vertical-align: middle !important;
  }

  /* 1b区域前两项（Residential / Commercial）小标题再缩小10%，确保单行显示 */
  .estate-card-1b .estate-card-item:nth-of-type(-n+2) .estate-card-item-title p {
    font-size: 14px !important;
    line-height: 22px !important;
  }

  /* 移动端不需要小标题里的强制换行，隐藏所有 <br> */
  .estate-card-item-title br {
    display: none !important;
  }

  /* 小标题区域内的多个p标签之间没有间距 */
  .estate-card-item-title p+p {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  /* 灰色背景方片（1b, 1d, 1f）的小标题文字颜色 */
  .estate-card-1b .estate-card-item-title p,
  .estate-card-1d .estate-card-item-title p,
  .estate-card-1f .estate-card-item-title p {
    color: #0070D2 !important;
    /* 保持蓝色 */
  }

  /* 详情描述区域 - 移动端样式 */
  .estate-card-item-desc {
    width: 100% !important;
    /* 与小方片等宽 */
    height: auto !important;
    /* 高度自适应 */
    margin: 0 !important;
    padding: 8px 10px 0 10px !important;
    /* 上边距8px，左右边距10px */
    box-sizing: border-box !important;
    display: block !important;
  }

  /* 详情描述区域内的文字 - 移动端样式 */
  .estate-card-item-desc p {
    font-size: 12px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
    margin: 0 !important;
    text-align: left !important;
    /* 详情文字左对齐 */
    font-family: 'Noto Sans JP', sans-serif !important;
    color: #FFFFFF !important;
    /* 白色文字（默认，用于1a、1c、1e） */
    word-break: break-word !important;
    /* 允许换行 */
  }

  /* 灰色背景方片（1b, 1d, 1f）的详情描述文字颜色 */
  .estate-card-1b .estate-card-item-desc p,
  .estate-card-1d .estate-card-item-desc p,
  .estate-card-1f .estate-card-item-desc p {
    color: #0070D2 !important;
    /* 蓝色文字 */
  }

  /* d部分的详情描述区域 - 移动端特殊样式：字号和行高减小 */
  .estate-card-1d .estate-card-item-desc p {
    font-size: 11px !important;
    line-height: 18px !important;
  }

  /* 移动端显示换行，PC端隐藏 */
  .estate-card-title-mobile-br-1a,
  .estate-card-title-mobile-br-1b,
  .estate-card-title-mobile-br-1c,
  .estate-card-title-mobile-br-1d,
  .estate-card-title-mobile-br-1d-2,
  .estate-card-title-mobile-br-1e,
  .estate-card-title-mobile-br-1f {
    display: inline !important;
  }

  /* 移动端隐藏PC端的换行（让"価値向上と別荘仲介"在一行） */
  .estate-card-title-mobile-br-1d-hide {
    display: none !important;
  }

  /* 移动端显示换行（让"サービス"单独占一行） */
  .estate-card-title-mobile-br-1f-2 {
    display: inline !important;
  }

  /* 移动端隐藏PC端的换行（让"翻訳・通訳"在一行） */
  .estate-card-title-mobile-br-1f-hide {
    display: none !important;
  }

  /* 页首高度 - 首页移动端844px */
  .page-header {
    height: 844px;
  }

  /* 页首高度 - 其他页面移动端（header-top 89px + header-bottom 600px = 689px） */
  .culture-header {
    height: 689px !important;
  }

  /* header-top 移动端高度 */
  .header-top {
    height: 89px !important;
  }

  /* header-bottom 移动端高度 - 600px */
  .header-bottom {
    height: 600px !important;
  }

  /* 页首背景图片 - 按390px设计，左侧贴齐页面左侧 */
  .page-header picture {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
  }

  /* 首页页首背景图片 - 按390px设计，左侧贴齐页面左侧 */
  .page-header>picture .header-bg-image {
    width: 390px;
    max-width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 95% 50%;
    display: block;
  }

  /* 其他页面（estate等）页首背景图片 - 适配600px高度 */
  .header-bottom picture,
  .header-bottom .header-bg-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
  }

  /* Culture页面页首文字 - 移动端样式 */
  .culture-hero-text {
    top: 100px !important;
    /* 第一行字上顶边距离页首大图上顶边100px */
    left: 50% !important;
    transform: translateX(-50%) !important;
    text-align: center !important;
    width: 100%;
  }

  .culture-hero-line {
    font-size: 20px !important;
    line-height: 28px !important;
    color: #FFFFFF !important;
    /* 保持白色文字 */
    font-family: 'Noto Sans JP', sans-serif !important;
    font-weight: 500 !important;
    margin: 0 !important;
    white-space: normal !important;
    /* 允许换行 */
  }

  /* Estate页面页首文字 - 移动端样式 */
  .estate-hero-text {
    top: 80px !important;
    /* 第一行上顶边距离大图上顶边80px */
    left: 50% !important;
    transform: translateX(-50%) !important;
    text-align: center !important;
    width: 100%;
  }

  /* Entertainment页面页首文字 - 移动端样式 */
  .ent-hero-text {
    top: auto !important;
    /* 取消PC端的top: 600px */
    bottom: 80px !important;
    /* 文字下底边距离页首大图下底边80px */
    left: 50% !important;
    transform: translateX(-50%) !important;
    text-align: center !important;
    width: 100%;
  }

  .ent-hero-line {
    font-size: 20px !important;
    /* 移动端字号20px */
    line-height: 28px !important;
    /* 移动端行高28px */
  }

  .estate-hero-line {
    text-align: center !important;
    white-space: normal !important;
    /* 允许换行 */
    font-size: 20px !important;
    line-height: 28px !important;
  }

  /* 移动端显示换行，PC端隐藏 */
  .estate-hero-mobile-br {
    display: inline !important;
  }

  /* 页首Logo - 首页移动端（直接在page-header下） */
  .page-header>.site-logo {
    top: 64px !important;
    left: 16px !important;
    transform: none !important;
  }

  /* 页首Logo - 其他页面移动端（在header-top内，垂直居中） */
  .header-top .site-logo,
  .culture-header .header-top .site-logo {
    top: 50% !important;
    /* 垂直居中 */
    left: 16px !important;
    /* logo图片的左侧边距离网页左侧边16px */
    transform: translateY(-50%) !important;
    /* 垂直居中 */
  }

  /* Logo图片高度与汉堡菜单一致 */
  .site-logo img,
  .header-top .site-logo img {
    height: 25px;
    width: auto;
  }

  /* 汉堡菜单按钮 - 首页移动端（直接在page-header下） */
  .page-header>.hamburger-menu {
    top: 64px !important;
    right: 16px !important;
    transform: none !important;
  }

  /* 汉堡菜单按钮 - 其他页面移动端（在header-top内，垂直居中） */
  .header-top .hamburger-menu,
  .culture-header .header-top .hamburger-menu {
    top: 50% !important;
    /* 垂直居中 */
    right: 16px !important;
    /* 汉堡菜单的右侧边距离网页右侧边16px */
    transform: translateY(-50%) !important;
    /* 垂直居中 */
  }

  /* 多语种切换按钮 - 首页移动端（直接在page-header下） */
  .page-header>.language-toggle {
    top: 64px !important;
    right: 57px !important;
    height: 25px !important;
    width: 25px !important;
    transform: none !important;
  }

  /* 多语种切换按钮 - 其他页面移动端（在header-top内，垂直居中） */
  .header-top .language-toggle,
  .culture-header .header-top .language-toggle {
    top: 50% !important;
    /* 垂直居中 */
    right: 57px !important;
    /* 汉堡菜单right(16px) + 汉堡菜单宽度(25px) + 间距(16px) = 57px，保持icon和汉堡菜单之间的间距 */
    height: 25px !important;
    /* 与汉堡菜单高度一致 */
    width: 25px !important;
    /* 与汉堡菜单宽度一致 */
    transform: translateY(-50%) !important;
    /* 垂直居中 */
  }

  /* 取消语言切换按钮的hover效果 */
  .language-toggle:hover .lang-icon-normal {
    opacity: 1;
    /* 移动端保持显示正常图标 */
  }

  .language-toggle:hover .lang-icon-hover {
    opacity: 0;
    /* 移动端隐藏hover图标 */
  }

  /* 页首上部区域 - 除首页外的其他页面移动端高度89px */
  .header-top {
    height: 89px !important;
  }

  /* 确保语言切换图标垂直居中 */
  .language-toggle .lang-icon {
    height: 100%;
    width: 100%;
    object-fit: contain;
  }

  /* 主标题 - 移动端 */
  .main-title {
    top: 288px;
    left: 0%;
    transform: translateX(0%);
    width: 280px;
    font-weight: 700;
    font-size: 40px;
    line-height: 64px;
    text-align: center;
    white-space: normal;
  }

  /* 移动端显示移动端文字，隐藏PC端文字 */
  .title-line-pc {
    display: none;
  }

  .title-line-mobile {
    display: block;
    position: absolute;
    top: 62px;
    left: 75px;
    width: 100%;
    text-align: left;
  }

  /* 页尾上半部 - 移动端高度400px */
  .footer-top {
    height: 400px;
    position: relative !important;
    /* 确保绝对定位的子元素相对于footer-top定位 */
  }

  /* 页尾背景图片 - 移动端适配400px高度 */
  .footer-top picture,
  .footer-top .footer-bg-image {
    width: 100%;
    height: 100%;
    display: block;
  }

  /* Culture页面页尾标题 - 移动端样式 */
  /* PC端标题 - 移动端隐藏 */
  .culture-footer-title-pc {
    display: none !important;
  }

  /* 移动端标题 - 移动端显示 */
  .culture-footer-title-mobile {
    display: block !important;
  }

  .culture-footer-title {
    position: absolute !important;
    /* 计算：页尾大图高度400px - 正文最后一行的下底边距离页尾大图下底边30px - 正文内容高度(需要根据实际内容计算) - 标题和正文间距16px - 标题行高28px = 标题上顶边位置 */
    /* 由于正文内容高度是自适应的，我们使用bottom定位正文，然后根据正文位置计算标题位置 */
    /* 正文bottom: 30px，正文内容高度约60px（3行，每行20px），所以正文上顶边约为 400px - 30px - 60px = 310px */
    /* 标题上顶边 = 正文上顶边 - 间距16px - 标题行高28px = 310px - 16px - 28px = 266px */
    top: calc(400px - 30px - 60px - 16px - 28px) !important;
    /* 约266px，根据正文内容实际高度调整 */
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    /* 横向居中 */
    width: 300px !important;
    /* 文字区域宽度300px */
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  html[lang="en"] .culture-footer-title {
    top: 180px !important;
    width: 280px !important;
    padding: 0 16px !important;
  }

  .culture-footer-line {
    font-size: 20px !important;
    line-height: 28px !important;
    text-align: center !important;
    color: #FFFFFF !important;
    font-family: 'Noto Sans JP', sans-serif !important;
    font-weight: 500 !important;
    margin: 0 !important;
    white-space: nowrap !important;
    /* 强制不换行，保持在一行 */
    width: 100% !important;
  }

  html[lang="en"] .culture-footer-line {
    white-space: normal !important;
    font-size: 18px !important;
    line-height: 24px !important;
  }

  .page-footer {
    height: 1400px !important;
  }

  /* Culture页面页尾正文 - 移动端样式 */
  .page-footer .footer-top .culture-footer-desc,
  .culture-footer-desc {
    position: absolute !important;
    bottom: 35px !important;
    /* 详情文字的最后一行的下底边，距离页尾大图的下底边，35px（再往下移动5px） */
    top: auto !important;
    /* 覆盖PC端的top: 326px */
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    /* 横向居中 */
    width: 300px !important;
    /* 文字区域宽度300px */
    max-width: 300px !important;
    height: auto !important;
    font-size: 12px !important;
    line-height: 20px !important;
    text-align: center !important;
    color: #FFFFFF !important;
    font-family: 'Noto Sans JP', sans-serif !important;
    font-weight: 400 !important;
    margin: 0 !important;
  }

  html[lang="en"] .culture-footer-desc {
    width: 280px !important;
    padding: 0 16px !important;
  }

  /* Entertainment页面页尾文字 - 移动端样式 */
  .ent-footer-hero {
    top: 160px !important;
    /* 第一行字的上顶边距离页尾大图的上顶边160px */
    left: 50% !important;
    transform: translateX(-50%) !important;
    text-align: center !important;
    width: 100%;
  }

  .ent-footer-hero-line {
    font-size: 20px !important;
    /* 移动端字号20px */
    line-height: 28px !important;
    /* 移动端行高28px */
    white-space: normal !important;
    /* 允许换行 */
  }

  /* Entertainment页面页尾文字移动端换行 - 移动端显示 */
  .ent-footer-mobile-br {
    display: inline !important;
  }

  /* Entertainment页面页中标题区域 - 移动端样式 */
  .ent-main-title-section {
    margin-top: 50px !important;
    /* 第一行字距离页首大图的下底边50px */
    text-align: center !important;
  }

  .ent-main-section-title {
    font-size: 20px !important;
    /* 移动端字号20px */
    line-height: 28px !important;
    /* 移动端行高28px */
    text-align: center !important;
    white-space: normal !important;
    /* 允许换行 */
  }

  /* Entertainment页面页中标题移动端换行 - 移动端显示 */
  .ent-title-mobile-br-1,
  .ent-title-mobile-br-2,
  .ent-title-mobile-br-3 {
    display: inline !important;
  }

  /* Entertainment页面页中1区 - 移动端样式（重新编写） */
  .ent-section-1 {
    width: 100% !important;
    margin-top: 40px !important;
    /* 1a的上顶边距离"our service"这行字的下底边40px */
    height: auto !important;
  }

  .ent-section-1-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 16px !important;
    /* 上下两个div之间相隔16px */
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* 四个div基础样式 */
  .ent-card.ent-special-card {
    width: 358px !important;
    flex-shrink: 0 !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  /* 各div高度 */
  .ent-card-1a {
    height: 319px !important;
    background: #D0E8FF !important;
    /* 继承PC端配色 */
  }

  .ent-card-1b {
    height: 343px !important;
    background: #EBEFF4 !important;
    /* 继承PC端配色 */
  }

  .ent-card-1c {
    height: 345px !important;
    /* 从355px再减少10px到345px，让第二个小标题区域下底边距离div下底边正好16px */
    background: #FFE3C4 !important;
    /* 继承PC端配色 */
  }

  .ent-card-1d {
    height: 243px !important;
    /* 精确计算后的高度，确保小标题区域下底边距离卡片下底边16px */
    background: #F2D9FF !important;
    /* 继承PC端配色 */
  }

  /* 图片样式 */
  .ent-card.ent-special-card picture {
    display: block !important;
    margin-top: 16px !important;
    /* 图片上顶边距离所在div上顶边16px */
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .ent-card.ent-special-card .ent-special-image {
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
  }

  /* 主标题样式 */
  .ent-card.ent-special-card .ent-special-title {
    font-size: 18px !important;
    line-height: 24px !important;
    margin-top: 15px !important;
    /* 文字上顶边距离图片下底边15px */
    margin-bottom: 0 !important;
    text-align: center !important;
    font-weight: 500 !important;
    color: #FFFFFF !important;
    /* 默认白色（1a和1c） */
  }

  /* 1b和1d的主标题颜色 - 使用更具体的选择器 */
  .ent-card.ent-card-1b.ent-special-card .ent-special-title,
  .ent-card.ent-card-1d.ent-special-card .ent-special-title {
    color: #0070D2 !important;
    /* 1b和1d是蓝色 */
  }

  /* 描述文字样式 */
  .ent-card.ent-special-card .ent-special-desc {
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 24px !important;
    margin-top: 15px !important;
    /* 第一行文字上顶边距离主标题下底边15px */
    margin-bottom: 0 !important;
    text-align: center !important;
    color: #FFFFFF !important;
    /* 默认白色（1a和1c） */
    padding: 0 15px !important;
    box-sizing: border-box !important;
  }

  /* 1b和1d的描述文字颜色 - 使用更具体的选择器 */
  .ent-card.ent-card-1b.ent-special-card .ent-special-desc,
  .ent-card.ent-card-1d.ent-special-card .ent-special-desc {
    color: #0070D2 !important;
    /* 1b和1d是蓝色 */
  }

  /* 1d区域描述文字位置调整 - 减少与主标题的间距 */
  .ent-card.ent-card-1d.ent-special-card .ent-special-desc {
    margin-top: 8px !important;
    /* 减少间距，让描述文字更靠近主标题 */
    margin-bottom: 0 !important;
  }

  /* 分割线样式 */
  .ent-card.ent-special-card .ent-special-line {
    width: 100% !important;
    height: 3px !important;
    background: #FFFFFF !important;
    margin: 0 !important;
    margin-top: 8.5px !important;
    /* 分割线上顶边距离描述文字第二行文字下底边8.5px */
    flex-shrink: 0 !important;
    display: block !important;
  }

  /* 1b和1d的分割线颜色 */
  .ent-card-1b .ent-special-line,
  .ent-card-1d .ent-special-line {
    background: #FFFFFF !important;
  }

  /* 小标题和详情区域容器 */
  .ent-card.ent-special-card .ent-special-item {
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    margin: 0 !important;
    margin-top: 8.5px !important;
    /* 分割线下底边再往下8.5px */
    padding-left: 9.5px !important;
    /* 小标题区域左侧边距离所在div左侧边9.5px */
    padding-right: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
  }

  /* 每个div最后一个"小标题区域"下底边距离div下底边16px */
  .ent-card.ent-card-1a.ent-special-card .ent-special-item:last-child,
  .ent-card.ent-card-1b.ent-special-card .ent-special-item:last-child,
  .ent-card.ent-card-1c.ent-special-card .ent-special-item:last-child,
  .ent-card.ent-card-1d.ent-special-card .ent-special-item:last-child {
    margin-bottom: 16px !important;
    /* 最后一个"小标题区域"下底边距离div下底边16px */
  }

  /* 小标题区域样式 */
  .ent-card.ent-special-card .ent-special-item-title {
    width: 112px !important;
    /* 通常宽112px */
    height: 48px !important;
    /* 通常高48px */
    background: #FFFFFF !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
    padding: 0 0 0 9.5px !important;
    /* 左侧padding 9.5px，与详情说明区域右侧边距对齐 */
    margin: 0 !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
  }

  /* 1c中第一个小标题区域高度72px - 使用更具体的选择器，放在默认规则之后 */
  .ent-section-1-container .ent-card.ent-card-1c.ent-special-card .ent-special-item:first-child .ent-special-item-title {
    height: 72px !important;
  }

  /* 小标题文字样式 */
  .ent-card.ent-special-card .ent-special-item-title p {
    font-weight: 600 !important;
    font-size: 12px !important;
    line-height: 18px !important;
    margin: 0 !important;
    color: #0070D2 !important;
    /* 所有小标题文字都是蓝色 */
  }

  .ent-card.ent-card-1c.ent-special-card .ent-special-item:first-child .ent-special-item-title p {
    font-size: 12px !important;
    line-height: 18px !important;
  }

  /* 详情说明区域样式 */
  .ent-card.ent-special-card .ent-special-item-desc {
    flex: 1 !important;
    height: 45px !important;
    display: flex !important;
    align-items: flex-start !important;
    padding-left: 8px !important;
    /* 减少左侧间距 */
    padding-right: 9.5px !important;
    /* 增加右侧间距，与小标题区域左侧边距对称 */
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* 1c中第一个详情说明区域高度72px - 使用更具体的选择器 */
  .ent-section-1-container .ent-card.ent-card-1c.ent-special-card .ent-special-item:first-child .ent-special-item-desc {
    height: 69px !important;
  }

  /* 详情说明文字样式 */
  .ent-card.ent-special-card .ent-special-item-desc p {
    font-size: 12px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
    margin: 0 !important;
    text-align: left !important;
    /* 左对齐 */
    color: #FFFFFF !important;
    /* 默认白色（1a和1c） */
  }

  /* 1b和1d的详情说明文字颜色 - 使用更具体的选择器 */
  .ent-card.ent-card-1b.ent-special-card .ent-special-item-desc p,
  .ent-card.ent-card-1d.ent-special-card .ent-special-item-desc p {
    color: #0070D2 !important;
    /* 1b和1d是蓝色 */
  }

  /* 1d中第二个小标题区域 - 移动端隐藏 */
  .ent-card.ent-card-1d.ent-special-card .ent-special-item:last-child {
    display: none !important;
  }

  /* Entertainment页面页中2区（#F2F2F2区域）- 移动端样式 */
  .ent-section-2 {
    margin-top: 50px !important;
    /* 上顶边距离1d区域下底边50px */
    padding-bottom: 40px !important;
    /* 灰色区域下底边距离2f海报下底边40px */
    height: auto !important;
    /* 高度自适应，删除2张海报后自动减少相应高度 */
    min-height: auto !important;
  }

  /* Entertainment页面页中2区标题区域 - 移动端样式 */
  .ent-section-2-title-section {
    width: 100% !important;
    /* 文字区域做到和网页等宽 */
    padding-top: 40px !important;
    /* 第一行文字上顶边距离灰色区域上顶边40px */
  }

  /* Entertainment页面页中2区标题文字 - 移动端样式 */
  .ent-section-2-title-section .ent-main-section-title {
    font-size: 20px !important;
    line-height: 28px !important;
    font-weight: 700 !important;
    /* weight 700 */
    text-align: center !important;
    white-space: normal !important;
  }

  /* Entertainment页面页中2区内容容器 - 移动端样式 */
  .ent-section-2-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 20px !important;
    /* 2c-2f这些div之间，纵向上，距离间隔20px */
    width: 100% !important;
    margin: 0 !important;
    margin-top: 40px !important;
    /* 2c的上顶边距离"Project"这行字的下底边40px */
    padding: 0 !important;
  }

  /* Entertainment页面页中2区海报卡片 - 移动端样式 */
  .ent-section-2-card {
    width: 300px !important;
    height: 555px !important;
    flex-shrink: 0 !important;
    position: relative !important;
    box-sizing: border-box !important;
  }

  /* Entertainment页面页中2区海报图片 - 移动端样式 */
  .ent-section-2-card picture {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
  }

  .ent-section-2-card .ent-section-2-card-image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    object-fit: cover !important;
  }

  /* Entertainment页面2区下方标题组 - 移动端样式 */
  .ent-after-section-2-title-group {
    margin-top: 50px !important;
    /* 第一行字的上顶边距离灰色区域下底边50px */
    text-align: center !important;
    width: 100% !important;
  }

  .ent-after-section-2-title-group .ent-main-section-title {
    font-size: 20px !important;
    line-height: 28px !important;
    font-weight: 700 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  /* Entertainment页面2区下方标题组移动端换行 - 移动端显示 */
  .ent-after-section-2-mobile-br {
    display: inline !important;
  }

  /* Entertainment页面页中3区空白占位区域 - 移动端样式 */
  .ent-section-3-spacer {
    margin-top: 40px !important;
    /* 移动端：对应原内容区的上边距 */
  }

  /* Entertainment页面页中3区 - 移动端样式 */
  .ent-section-3 {
    margin-top: 40px !important;
    /* 3a距离"Venue Collaboration"这行字的下底边40px */
    width: 100% !important;
    height: auto !important;
  }

  .ent-section-3-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 20px !important;
    /* 纵向两两间隔20px */
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Entertainment页面页中3区卡片 - 移动端样式 */
  .ent-card-3 {
    width: 358px !important;
    height: 425.34px !important;
    flex-shrink: 0 !important;
    position: relative !important;
    box-sizing: border-box !important;
  }

  /* Entertainment页面页中3区图片 - 移动端样式 */
  .ent-card-3 picture {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
  }

  .ent-card-3 .ent-card-3-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  /* Entertainment页面页中3区文字 - 移动端样式 */
  .ent-card-3-text {
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    z-index: 10 !important;
  }

  /* Entertainment页面页中3区3a、3c、3d文字 - 移动端向上移动5px */
  .ent-card-3a .ent-card-3-text,
  .ent-card-3c .ent-card-3-text,
  .ent-card-3d .ent-card-3-text {
    top: 5px !important;
    /* 从10px减少到5px，向上移动5px */
  }

  /* Entertainment页面页中3区3b文字 - 移动端向下移动4px */
  .ent-card-3b .ent-card-3-text {
    top: 14px !important;
    /* 从10px增加到14px，向下移动4px */
  }

  .ent-card-3-line {
    font-weight: 700 !important;
    font-size: 18px !important;
    line-height: 24px !important;
    margin: 0 !important;
  }

  /* Entertainment页面页中3区3d卡片 - 移动端样式 */
  .ent-card-3d {
    margin-bottom: 50px !important;
    /* 3d下底边距离页尾大图上顶边50px */
  }

  /* Travel页面页首文字 - 移动端样式 */
  .travel-hero-text {
    position: absolute !important;
    left: 16px !important;
    /* 文字区域左侧边距离网页左侧边16px */
    bottom: 16px !important;
    /* 最后一行字距离页首大图下底边16px */
    top: auto !important;
    /* 取消PC端的top定位 */
    width: auto !important;
  }

  .travel-hero-line {
    font-size: 20px !important;
    line-height: 28px !important;
    font-weight: 700 !important;
    color: #FFFFFF !important;
    white-space: normal !important;
    /* 允许换行 */
    margin: 0 !important;
  }

  /* Travel页面页首文字移动端换行 - 移动端显示 */
  .travel-hero-mobile-br-1,
  .travel-hero-mobile-br-2 {
    display: inline !important;
  }

  /* Travel页面页尾文字 - 移动端样式 */
  .travel-footer-hero {
    top: 47px !important;
    /* 第一行字上顶边距离页尾大图上顶边47px */
    left: 50% !important;
    transform: translateX(-50%) !important;
    text-align: center !important;
    width: 100% !important;
  }

  .travel-footer-hero-line {
    font-size: 20px !important;
    line-height: 28px !important;
    font-weight: 500 !important;
    color: #0070D2 !important;
    margin: 0 !important;
    white-space: normal !important;
  }

  /* Travel页面页中标题区域 - 移动端样式 */
  .travel-main-title-section {
    margin-top: 50px !important;
    /* 文字上顶边距离页首大图下底边50px */
    text-align: center !important;
    width: 100% !important;
  }

  .travel-main-section-title {
    font-size: 20px !important;
    line-height: 28px !important;
    font-weight: 700 !important;
    color: #0070D2 !important;
    text-align: center !important;
    margin: 0 !important;
  }

  /* Travel页面页中描述区域 - 移动端样式 */
  .travel-main-desc-section {
    margin-top: 40px !important;
    /* 第一行距离"気軽に出発、世界を探検しよう"的下底边40px */
    text-align: center !important;
    width: 100% !important;
  }

  .travel-main-desc-line {
    font-size: 18px !important;
    line-height: 30px !important;
    font-weight: 400 !important;
    color: #0070D2 !important;
    text-align: center !important;
    margin: 0 !important;
  }

  /* Travel页面页中插画区域 - 移动端样式 */
  .travel-illustration-section {
    margin-top: 50px !important;
    /* 图片上顶边距离第三行字下底边50px */
    text-align: center !important;
    width: 100% !important;
  }

  .travel-illustration-image {
    display: block !important;
    margin: 0 auto !important;
    max-width: 100% !important;
    height: auto !important;
  }

  /* Travel页面页中1区（#F2F2F2区域）- 移动端样式 */
  .travel-section-1 {
    margin-top: 50px !important;
    /* 区域上顶边距离插画图片下底边50px */
    padding-bottom: 40px !important;
    /* 灰色区域下底边距离1c和1d下底边40px */
    background-color: #F2F2F2 !important;
    width: 100% !important;
    height: auto !important;
  }

  /* Travel页面页中1区标题组 - 移动端样式 */
  .travel-section-1-title-group {
    padding-top: 40px !important;
    /* 第一行字上顶边距离灰色区域上顶边40px */
    text-align: center !important;
    width: 100% !important;
  }

  .travel-section-1-title-line {
    font-size: 20px !important;
    line-height: 28px !important;
    font-weight: 500 !important;
    color: #0070D2 !important;
    text-align: center !important;
    margin: 0 !important;
    white-space: normal !important;
  }

  /* Travel页面页中1区标题移动端换行 - 移动端显示 */
  .travel-section-1-mobile-br-1,
  .travel-section-1-mobile-br-2 {
    display: inline !important;
  }

  /* Travel页面页中1区内容容器 - 移动端样式 */
  .travel-section-1-content {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 0 !important;
    /* 清除PC端的gap */
    width: 100% !important;
    margin: 0 !important;
    margin-top: 40px !important;
    /* ab行的上顶边距离"our service"下底边40px */
    padding: 0 !important;
  }

  /* Travel页面页中1区卡片 - 移动端样式 */
  .travel-card {
    width: 175px !important;
    height: 242px !important;
    flex-shrink: 0 !important;
    position: relative !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    overflow: visible !important;
  }

  /* ab一行，cd一行布局 */
  .travel-card-1a {
    margin-right: 8px !important;
    /* a和b之间间隔8px */
    margin-bottom: 20px !important;
    /* ab行和cd行之间间隔20px */
  }

  .travel-card-1b {
    margin-right: 0 !important;
    margin-bottom: 20px !important;
  }

  .travel-card-1c {
    margin-right: 8px !important;
    /* c和d之间间隔8px */
    margin-bottom: 0 !important;
  }

  .travel-card-1d {
    margin-right: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Travel页面页中1区图片 - 移动端样式 */
  .travel-card picture {
    display: block !important;
    width: 80.29px !important;
    height: 64px !important;
    margin: 0 !important;
    margin-top: 0 !important;
    /* 图片上顶边顶住div上顶边 */
    overflow: hidden !important;
  }

  .travel-card .travel-card-image {
    display: block !important;
    width: 80.29px !important;
    height: 64px !important;
    object-fit: contain !important;
    /* 保持图片比例 */
    margin: 0 !important;
  }

  /* Travel页面页中1区标题 - 移动端样式 */
  .travel-card-title {
    font-weight: 700 !important;
    font-size: 18px !important;
    line-height: 24px !important;
    text-align: center !important;
    margin: 0 !important;
    margin-top: 20px !important;
    /* 文字上顶边距离图片下底边20px */
    color: #0070D2 !important;
  }

  /* Travel页面页中1区描述文字 - 移动端样式 */
  .travel-card-desc {
    font-weight: 400 !important;
    font-size: 12px !important;
    line-height: 20px !important;
    text-align: left !important;
    margin: 0 !important;
    margin-top: 10px !important;
    /* 描述文字第一行距离标题最后一行下底边10px */
    padding: 0 10px !important;
    box-sizing: border-box !important;
  }

  /* Travel页面页中1区下方标题组 - 移动端样式 */
  .travel-section-after-1-title-group {
    margin-top: 50px !important;
    /* 第一行字上顶边距离灰色区域下顶边50px */
    text-align: center !important;
    width: 100% !important;
  }

  .travel-section-after-1-title-line {
    font-size: 20px !important;
    line-height: 28px !important;
    font-weight: 700 !important;
    color: #0070D2 !important;
    text-align: center !important;
    margin: 0 !important;
    white-space: normal !important;
  }

  /* Travel页面页中1区下方标题移动端换行 - 移动端显示 */
  .travel-after-1-mobile-br-1,
  .travel-after-1-mobile-br-2 {
    display: inline !important;
  }

  /* Travel页面页中2区 - 移动端样式 */
  .travel-section-2 {
    margin-top: 40px !important;
    /* 2a和2b所在行上顶边距离"Choose us"下底边40px */
    width: 100% !important;
    height: auto !important;
  }

  .travel-section-2-content {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 0 !important;
    /* 清除PC端的gap */
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Travel页面页中2区卡片 - 移动端样式 */
  .travel-card-2 {
    width: 175px !important;
    height: 299px !important;
    /* 从279px增加到299px，为图片和文字区域之间留出20px间距 */
    flex-shrink: 0 !important;
    position: relative !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  /* 同一行间隔8px，上下行间隔20px */
  .travel-card-2a {
    margin-right: 8px !important;
    /* 2a和2b之间间隔8px */
    margin-bottom: 20px !important;
    /* 上下行间隔20px */
  }

  .travel-card-2b {
    margin-right: 0 !important;
    margin-bottom: 20px !important;
  }

  .travel-card-2c {
    margin-right: 8px !important;
    /* 2c和2d之间间隔8px */
    margin-bottom: 0 !important;
  }

  .travel-card-2d {
    margin-right: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Travel页面页中2区图片 - 移动端样式 */
  .travel-card-2 .travel-card-2-image {
    position: absolute !important;
    bottom: 0 !important;
    /* 图片下底边触达div下底边 */
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: auto !important;
    height: 120px !important;
    /* 图片高度120px */
    max-width: 100% !important;
    object-fit: contain !important;
  }

  /* Travel页面页中2区文字区域 - 移动端样式 */
  .travel-card-2-text {
    position: absolute !important;
    top: 0 !important;
    /* 文字区域从div顶部开始 */
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
    bottom: 140px !important;
    /* 图片高度120px + 间距20px = 140px，确保文字区域下底边距离图片上顶边20px */
  }

  /* Travel页面页中2区数字 - 移动端样式 */
  .travel-card-2-number {
    font-size: 32px !important;
    /* 数字稍大一些 */
    font-weight: 400 !important;
    color: #0070D2 !important;
    margin: 0 !important;
    margin-bottom: 12px !important;
    /* 数字和描述文字之间间距 */
    text-align: center !important;
  }

  /* Travel页面页中2区描述文字区域 - 移动端样式 */
  .travel-card-2-desc {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Travel页面页中2区描述文字行 - 移动端样式 */
  .travel-card-2-desc-line {
    font-size: 16px !important;
    /* 2a-2d全部改为16px */
    line-height: 24px !important;
    font-weight: 700 !important;
    color: #0070D2 !important;
    text-align: center !important;
    margin: 0 !important;
    white-space: normal !important;
  }

  /* Travel页面页中2区2a移动端换行 - 移动端显示 */
  .travel-2a-mobile-br-1,
  .travel-2a-mobile-br-2,
  .travel-2a-mobile-br-3 {
    display: inline !important;
  }

  /* Travel页面页中2区2a PC端换行 - 移动端隐藏 */
  .travel-2a-pc-br {
    display: none !important;
  }

  /* Travel页面页中2区2b移动端换行 - 移动端显示 */
  .travel-2b-mobile-br-1,
  .travel-2b-mobile-br-2,
  .travel-2b-mobile-br-3 {
    display: inline !important;
  }

  /* Travel页面页中2区2b PC端换行 - 移动端隐藏 */
  .travel-2b-pc-br {
    display: none !important;
  }

  /* Travel页面页中2区2c移动端换行 - 移动端显示 */
  .travel-2c-mobile-br-1,
  .travel-2c-mobile-br-2,
  .travel-2c-mobile-br-3 {
    display: inline !important;
  }

  /* Travel页面页中2区2c PC端换行 - 移动端隐藏 */
  .travel-2c-pc-br {
    display: none !important;
  }

  /* Travel页面页中2区2d移动端换行 - 移动端显示 */
  .travel-2d-mobile-br-1,
  .travel-2d-mobile-br-2,
  .travel-2d-mobile-br-3 {
    display: inline !important;
  }

  /* Travel页面页中2区2d PC端换行 - 移动端隐藏 */
  .travel-2d-pc-br {
    display: none !important;
  }

  /* Travel页面页中2区下方主图片区域 - 移动端样式 */
  .travel-section-2-image-section {
    margin-top: 50px !important;
    /* 图片上顶边距离2c-2d这一行的下底边50px */
    width: 100% !important;
    height: 500px !important;
    /* 移动端高度500px */
    position: relative !important;
    overflow: hidden !important;
  }

  .travel-section-2-image-section picture {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  .travel-section-2-main-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  /* Travel页面页中2区下方主图片区域文字 - 移动端样式 */
  .travel-section-2-image-text {
    position: absolute !important;
    left: 16px !important;
    /* 文字区域左侧边距离网页左侧边16px */
    bottom: 16px !important;
    /* 最后一行字下底边距离图片下底边16px */
    top: auto !important;
    right: auto !important;
  }

  .travel-section-2-image-line {
    font-size: 20px !important;
    line-height: 28px !important;
    font-weight: 700 !important;
    color: #FFFFFF !important;
    margin: 0 !important;
    white-space: normal !important;
  }

  /* Travel页面页中3区容器 - 移动端样式 */
  .travel-section-3 {
    margin-top: 50px !important;
    /* 移动端上边距 */
    width: 100% !important;
    margin-bottom: 50px !important;
    /* 3e下底边距离页尾大图上顶边50px */
    padding-bottom: 0 !important;
  }

  .travel-section-3-content {
    width: 100% !important;
    min-height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 16px !important;
    /* 上下两行间隔16px */
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Travel页面页中3区卡片 - 移动端样式 */
  .travel-set-item {
    width: 358px !important;
    height: auto !important;
    /* 改为auto，让高度随展开内容自适应 */
    min-height: 495px !important;
    /* 最小高度保持495px（图片高度） */
    position: relative !important;
    flex-shrink: 0 !important;
    display: flex !important;
    /* 使用flex布局 */
    flex-direction: column !important;
    /* 垂直排列 */
    gap: 0 !important;
    /* 确保没有gap，展开内容紧贴图片 */
  }

  /* Travel页面页中3区3e卡片 - 移动端样式（高度增加5px） */
  .travel-set-3e {
    min-height: 500px !important;
    /* 从495px增加到500px，底部加高5px，使用min-height */
  }

  /* Travel页面页中3区图片 - 移动端样式 */
  .travel-set-item picture {
    display: block !important;
    width: 358px !important;
    height: 495px !important;
    /* 固定图片高度 */
    position: relative !important;
    /* 改为相对定位，让它在文档流中 */
    flex-shrink: 0 !important;
    order: 1 !important;
    /* 图片在第一位 */
    margin: 0 !important;
    /* 确保没有margin */
    padding: 0 !important;
    /* 确保没有padding */
  }

  .travel-set-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 !important;
    /* 确保没有margin */
    padding: 0 !important;
    /* 确保没有padding */
  }

  /* Travel页面页中3区内容层 - 移动端样式 */
  .travel-set-content {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 495px !important;
    /* 与图片高度一致 */
    z-index: 10001 !important;
    /* 确保内容（包括按钮）在左下角和右下角色块之上 */
    order: 2 !important;
    /* 内容层在第二位（视觉上覆盖图片） */
  }

  /* Travel页面页中3区展开内容 - 移动端样式 */
  .travel-set-expand-content {
    order: 3 !important;
    /* 展开内容在最后，从图片下底边开始 */
  }

  /* Travel页面页中3区标题1 - 移动端样式 */
  .travel-set-title1 {
    position: absolute !important;
    top: 280px !important;
    /* 标题1区域上顶边距离div上顶边280px（从290px减少到280px） */
    left: 16px !important;
    /* 左侧边距离div左侧边16px */
    right: auto !important;
    /* 覆盖PC端的right定位 */
    width: fit-content !important;
    /* 宽度适应文字宽度 */
    height: 28px !important;
    /* 高度28px */
    background-color: #FFFFFF !important;
    border-radius: 20px !important;
    /* 四个角都有20px圆角 */
    padding: 0 12px !important;
    /* 左右内边距，让文字不贴边 */
    box-sizing: border-box !important;
    font-weight: 700 !important;
    font-size: 20px !important;
    line-height: 28px !important;
    color: #F77490 !important;
    text-align: left !important;
    white-space: nowrap !important;
    /* 严禁换行 */
    display: inline-flex !important;
    /* 改为inline-flex，让宽度适应内容 */
    align-items: center !important;
  }

  /* Travel页面页中3区标题1颜色 - 移动端样式 */
  .travel-set-3b .travel-set-title1 {
    color: #83D166 !important;
  }

  .travel-set-3c .travel-set-title1 {
    color: #419AE6 !important;
  }

  .travel-set-3d .travel-set-title1 {
    color: #20B2AA !important;
  }

  .travel-set-3e .travel-set-title1 {
    color: #0070D2 !important;
  }

  /* Travel页面页中3区标题2 - 移动端样式 */
  .travel-set-title2 {
    position: absolute !important;
    left: 16px !important;
    /* 左侧边距离div左侧边16px */
    top: calc(280px + 28px + 11px) !important;
    /* 上顶边距离标题1下底边11px（标题1从290px改为280px，同步上移10px） */
    width: auto !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    line-height: 24px !important;
    color: #FFFFFF !important;
    margin: 0 !important;
    right: auto !important;
    /* 覆盖PC端的right定位 */
  }

  /* Travel页面页中3区描述文字 - 移动端样式 */
  .travel-set-body {
    position: absolute !important;
    left: 16px !important;
    /* 左侧边距离div左侧边16px */
    top: calc(280px + 28px + 11px + 24px + 30px) !important;
    /* 第一行距离标题2最后一行的下底边30px（标题1从290px改为280px，同步上移10px） */
    width: calc(358px - 32px) !important;
    /* 宽度：div宽度减去左右各16px */
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 24px !important;
    color: #FFFFFF !important;
    margin: 0 !important;
    padding: 0 !important;
    right: auto !important;
    /* 覆盖PC端的right定位 */
    bottom: auto !important;
    /* 确保不继承PC端的bottom定位 */
  }

  /* Travel页面页中3区3e描述文字 - 移动端样式（间距减少8px） */
  .travel-set-3e .travel-set-body {
    top: calc(280px + 28px + 11px + 24px + 22px) !important;
    /* 从30px减少到22px（减少8px） */
  }

  /* Travel页面页中3区展开按钮 - 移动端样式 */
  .travel-set-button {
    position: absolute !important;
    left: 16px !important;
    /* 左侧边距离div左侧边16px */
    bottom: 11px !important;
    /* 下底边距离div下底边11px */
    width: 40px !important;
    /* 圆形直径40px */
    height: 40px !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: 10000 !important;
    /* 确保在左下角和右下角色块之上 */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    right: auto !important;
    /* 覆盖PC端的right定位 */
  }

  .travel-set-button-icon {
    display: block !important;
    width: 40px !important;
    height: 40px !important;
    object-fit: contain !important;
  }

  /* Travel页面页中3区展开区域 - 移动端样式 */
  .travel-set-expand-content {
    width: 358px !important;
    /* 移动端宽度统一为358px */
    position: relative !important;
    /* 相对定位，确保在父元素内部正常流布局 */
    z-index: 1 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 1s ease !important;
    box-sizing: border-box !important;
    margin-top: -2px !important;
    /* 向上移动2px，覆盖图片下底边的空隙 */
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    /* 确保没有内边距 */
    /* 确保展开内容在正常文档流中，从图片下底边开始展开 */
    display: block !important;
  }

  /* 展开状态：max-height增加，内容从底部展开 */
  .travel-set-item.expanded .travel-set-expand-content {
    /* max-height通过JavaScript和CSS类控制 */
  }

  /* 3a1展开区域 - 移动端样式 */
  .travel-set-3a1 {
    height: 729px !important;
    background-color: #F77490 !important;
    border-bottom-left-radius: 20px !important;
    border-bottom-right-radius: 20px !important;
    border-top-left-radius: 0 !important;
    /* 确保顶部没有圆角，紧贴图片 */
    border-top-right-radius: 0 !important;
    /* 确保顶部没有圆角，紧贴图片 */
  }

  .travel-set-3a.expanded .travel-set-3a1 {
    max-height: 729px !important;
  }

  /* 3b1展开区域 - 移动端样式 */
  .travel-set-3b1 {
    height: 325px !important;
    background-color: #83D166 !important;
    border-bottom-left-radius: 20px !important;
    border-bottom-right-radius: 20px !important;
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
  }

  .travel-set-3b.expanded .travel-set-3b1 {
    max-height: 325px !important;
  }

  /* 3c1展开区域 - 移动端样式 */
  .travel-set-3c1 {
    height: 422px !important;
    background-color: #419AE6 !important;
    border-bottom-left-radius: 20px !important;
    border-bottom-right-radius: 20px !important;
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
  }

  .travel-set-3c.expanded .travel-set-3c1 {
    max-height: 422px !important;
  }

  /* 3d1展开区域 - 移动端样式 */
  .travel-set-3d1 {
    height: 512px !important;
    background-color: #20B2AA !important;
    border-bottom-left-radius: 20px !important;
    border-bottom-right-radius: 20px !important;
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
  }

  .travel-set-3d.expanded .travel-set-3d1 {
    max-height: 512px !important;
  }

  /* 3e1展开区域 - 移动端样式 */
  .travel-set-3e1 {
    height: 208px !important;
    /* 从218px减少10px */
    background-color: #0070D2 !important;
    border-bottom-left-radius: 20px !important;
    border-bottom-right-radius: 20px !important;
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
  }

  .travel-set-3e.expanded .travel-set-3e1 {
    max-height: 208px !important;
    /* 从218px减少10px */
  }

  /* Travel页面页中3区图片左下角色块 - 移动端样式 */
  .travel-set-corner-patch-left {
    position: absolute !important;
    left: 0 !important;
    /* 左下角 */
    width: 30px !important;
    height: 30px !important;
    border-radius: 0 !important;
    /* 不要任何圆角 */
    z-index: 9998 !important;
    /* 低于内容层和按钮，但高于图片 */
    pointer-events: none !important;
    opacity: 0 !important;
    transition: none !important;
    /* 立即显示，不要渐显动画 */
    /* top位置和背景色通过JavaScript动态设置 */
  }

  /* 使用专门的类控制左下角色块显示，优先级更高 */
  .travel-set-corner-patch-left.patch-visible {
    opacity: 1 !important;
  }

  .travel-set-3a .travel-set-corner-patch-left.patch-visible {
    background-color: #F77490 !important;
  }

  .travel-set-3b .travel-set-corner-patch-left.patch-visible {
    background-color: #83D166 !important;
  }

  .travel-set-3c .travel-set-corner-patch-left.patch-visible {
    background-color: #419AE6 !important;
  }

  .travel-set-3d .travel-set-corner-patch-left.patch-visible {
    background-color: #20B2AA !important;
  }

  .travel-set-3e .travel-set-corner-patch-left.patch-visible {
    background-color: #0070D2 !important;
  }

  /* Travel页面页中3区展开区域文字 - 移动端样式 */
  /* 表头 */
  .travel-table-header {
    position: absolute !important;
    top: 20px !important;
    /* 从40px缩小到20px */
    left: 16px !important;
    /* 从40px缩小到16px */
    font-size: 20px !important;
    /* 从40px缩小到20px */
    line-height: 28px !important;
    /* 从54px缩小到28px */
    font-weight: 500 !important;
    color: #FFFFFF !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* 表格行容器 */
  .travel-table-row-1,
  .travel-table-row-d1 {
    position: absolute !important;
    left: 16px !important;
    /* 从40px缩小到16px */
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 0 !important;
  }

  /* 详情行容器 */
  .travel-table-row-2,
  .travel-table-row-3,
  .travel-table-row-4,
  .travel-table-row-5,
  .travel-table-row-6,
  .travel-table-row-7,
  .travel-table-row-8,
  .travel-table-row-9,
  .travel-table-row-10,
  .travel-table-row-11,
  .travel-table-row-b2,
  .travel-table-row-b3,
  .travel-table-row-b4,
  .travel-table-row-b5,
  .travel-table-row-b6,
  .travel-table-row-d2,
  .travel-table-row-d3,
  .travel-table-row-d4,
  .travel-table-row-d5,
  .travel-table-row-d6,
  .travel-table-row-d7,
  .travel-table-row-d8,
  .travel-table-row-e2,
  .travel-table-row-e3 {
    position: absolute !important;
    left: 16px !important;
    /* 从40px缩小到16px */
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 0 !important;
  }

  /* 表格框 */
  .travel-table-box {
    width: 70px !important;
    /* 从120px缩小到70px */
    height: 32px !important;
    /* 从54px缩小到32px */
    border: 1.5px solid #FFFFFF !important;
    /* 从2px缩小到1.5px */
    border-radius: 12px !important;
    /* 从20px缩小到12px */
    background-color: transparent !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    /* 从24px缩小到14px */
    line-height: 20px !important;
    /* 从34px缩小到20px */
    font-weight: 500 !important;
    color: #FFFFFF !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
  }

  .travel-table-2 {
    width: 100px !important;
    /* 从164px缩小到100px */
    margin-left: 26px !important;
    /* 与详情文字的左侧边对齐：详情框(70px) + 白线margin(12px) + 白线宽度(2px) + 文字margin(12px) = 96px，第一个框框右侧边是86px，所以间距是26px */
  }

  /* 移动端英文：3a/3c的"Sightseeing Spot"再缩小15% */
  html[lang="en"] .travel-set-3a1 .travel-table-2,
  html[lang="en"] .travel-set-3c1 .travel-table-2 {
    font-size: 12px !important;
    /* 14px * 0.85 ≈ 12px */
    line-height: 17px !important;
    /* 20px * 0.85 ≈ 17px */
  }

  /* 详情框 */
  .travel-table-detail {
    width: 70px !important;
    /* 从120px缩小到70px */
    height: 32px !important;
    /* 从54px缩小到32px */
    border-radius: 12px !important;
    /* 从20px缩小到12px */
    background-color: #FFFFFF !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    /* 从24px缩小到14px */
    line-height: 20px !important;
    /* 从34px缩小到20px */
    font-weight: 500 !important;
    color: #F77490 !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
  }

  /* 3b1的详情框颜色 */
  .travel-set-3b1 .travel-table-detail {
    color: #83D166 !important;
  }

  /* 3c1的详情框颜色 */
  .travel-set-3c1 .travel-table-detail {
    color: #419AE6 !important;
  }

  /* 3d1的详情框颜色 */
  .travel-set-3d1 .travel-table-detail {
    color: #20B2AA !important;
  }

  /* 3e1的详情框颜色和字号 */
  .travel-set-3e1 .travel-table-detail {
    color: #0070D2 !important;
    font-size: 12px !important;
    /* 3e1的详情框更小 */
    text-align: center !important;
    /* 文字横向居中 */
    white-space: normal !important;
    /* 允许换行 */
  }

  /* 白线 */
  .travel-table-line {
    width: 2px !important;
    /* 从3px缩小到2px */
    height: 32px !important;
    /* 从54px缩小到32px */
    background-color: #FFFFFF !important;
    margin-left: 12px !important;
    /* 从30px缩小到12px */
    flex-shrink: 0 !important;
  }

  /* 文本内容 */
  .travel-table-text {
    height: auto !important;
    /* 改为auto，允许换行 */
    min-height: 32px !important;
    /* 最小高度32px */
    margin-left: 12px !important;
    /* 从30px缩小到12px */
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    /* 改为左对齐 */
    font-size: 12px !important;
    /* 从22px缩小到12px */
    line-height: 18px !important;
    /* 从34px缩小到18px */
    font-weight: 400 !important;
    color: #FFFFFF !important;
    text-align: left !important;
    /* 改为左对齐 */
    white-space: normal !important;
    /* 允许换行 */
    width: calc(358px - 16px - 70px - 12px - 2px - 12px) !important;
    /* 计算可用宽度 */
    box-sizing: border-box !important;
    padding-right: 16px !important;
    /* 右侧留出空间 */
  }

  /* 3a1展开区域 - 行位置调整（移动端） */
  .travel-table-row-1 {
    top: calc(20px + 28px + 16px) !important;
    /* 表头top(20px) + 表头高度(28px) + 间距(16px) */
  }

  .travel-table-row-2 {
    top: calc(20px + 28px + 16px + 32px + 27px) !important;
    /* row-1 + 32px + 27px（从18px增加到27px） */
  }

  .travel-table-row-3 {
    top: calc(20px + 28px + 16px + 32px + 27px + 32px + 27px) !important;
  }

  .travel-table-row-4 {
    top: calc(20px + 28px + 16px + 32px + 27px + 32px + 27px + 32px + 27px) !important;
  }

  .travel-table-row-5 {
    top: calc(20px + 28px + 16px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px) !important;
  }

  .travel-table-row-6 {
    top: calc(20px + 28px + 16px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px) !important;
  }

  .travel-table-row-7 {
    top: calc(20px + 28px + 16px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px) !important;
  }

  .travel-table-row-8 {
    top: calc(20px + 28px + 16px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px) !important;
  }

  .travel-table-row-9 {
    top: calc(20px + 28px + 16px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px) !important;
  }

  .travel-table-row-10 {
    top: calc(20px + 28px + 16px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px) !important;
  }

  .travel-table-row-11 {
    top: calc(20px + 28px + 16px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px + 32px + 27px) !important;
  }

  /* 3b1展开区域 - 行位置调整（移动端） */
  .travel-table-row-b2 {
    top: calc(20px + 28px + 16px) !important;
  }

  .travel-table-row-b3 {
    top: calc(20px + 28px + 16px + 32px + 18px) !important;
    /* 3b1保持18px间距 */
  }

  .travel-table-row-b4 {
    top: calc(20px + 28px + 16px + 32px + 18px + 32px + 18px) !important;
    /* 3b1保持18px间距 */
  }

  .travel-table-row-b5 {
    top: calc(20px + 28px + 16px + 32px + 18px + 32px + 18px + 32px + 18px) !important;
    /* 3b1保持18px间距 */
  }

  .travel-table-row-b6 {
    top: calc(20px + 28px + 16px + 32px + 18px + 32px + 18px + 32px + 18px + 32px + 18px) !important;
    /* 3b1保持18px间距 */
  }

  /* 3d1展开区域 - 行位置调整（移动端） */
  .travel-table-row-d1 {
    top: calc(20px + 28px + 16px) !important;
  }

  .travel-table-row-d2 {
    top: calc(20px + 28px + 16px + 32px + 21.735px) !important;
    /* 3d1间距：18.9px * 1.15 = 21.735px */
  }

  .travel-table-row-d3 {
    top: calc(20px + 28px + 16px + 32px + 21.735px + 32px + 21.735px) !important;
    /* 3d1间距增加15% */
  }

  .travel-table-row-d4 {
    top: calc(20px + 28px + 16px + 32px + 21.735px + 32px + 21.735px + 32px + 21.735px) !important;
    /* 3d1间距增加15% */
  }

  .travel-table-row-d5 {
    top: calc(20px + 28px + 16px + 32px + 21.735px + 32px + 21.735px + 32px + 21.735px + 32px + 21.735px) !important;
    /* 3d1间距增加15% */
  }

  .travel-table-row-d6 {
    top: calc(20px + 28px + 16px + 32px + 21.735px + 32px + 21.735px + 32px + 21.735px + 32px + 21.735px + 32px + 21.735px) !important;
    /* 3d1间距增加15% */
  }

  .travel-table-row-d7 {
    top: calc(20px + 28px + 16px + 32px + 21.735px + 32px + 21.735px + 32px + 21.735px + 32px + 21.735px + 32px + 21.735px + 32px + 21.735px) !important;
    /* 3d1间距增加15% */
  }

  .travel-table-row-d8 {
    top: calc(20px + 28px + 16px + 32px + 21.735px + 32px + 21.735px + 32px + 21.735px + 32px + 21.735px + 32px + 21.735px + 32px + 21.735px + 32px + 21.735px) !important;
    /* 3d1间距增加15% */
  }

  /* 3e1展开区域 - 行位置调整（移动端） */
  .travel-table-row-e2 {
    top: calc(20px + 28px + 16px) !important;
  }

  .travel-table-row-e3 {
    top: calc(20px + 28px + 16px + 32px + 27px) !important;
  }

  /* Culture页面页中1区 - 移动端样式 */
  .culture-section1 {
    margin-top: 50px !important;
    /* 灰色区域上顶边距离页首大图下底边50px */
    height: auto !important;
    /* 高度自适应 */
    min-height: auto !important;
    max-height: none !important;
    padding-bottom: 40px !important;
    /* 灰色区域底边距离cd区域最后一行文字的下底边40px */
  }

  /* Culture页面页中1区标题组 - 移动端样式 */
  .culture-section1-title-group {
    padding-top: 40px !important;
    /* 移动端：第一行字上顶边距离灰色区域上顶边40px（PC端为100px） */
  }

  /* Culture页面页中1区标题 - 移动端样式 */
  .culture-section1-title {
    font-size: 20px !important;
    line-height: 28px !important;
  }

  /* Culture页面页中1区详情区域 - 移动端样式 */
  .culture-section1 .culture-section1-detail-area,
  .page-main .culture-section1 .culture-section1-detail-area,
  .culture-section1-detail-area {
    display: flex !important;
    flex-wrap: wrap !important;
    flex-direction: row !important;
    /* 明确设置为横向排列 */
    justify-content: center !important;
    /* 每行中的两个div横向居中 */
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin-top: 40px !important;
    /* ab行的上顶边距离标题最后一行字（our service）的下底边40px */
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 0 !important;
    gap: 0 !important;
    /* 清除PC端的gap: 24px */
    padding: 0 !important;
  }

  /* Culture页面页中1区详情块 - 移动端样式 */
  .culture-section1-detail-area .culture-detail-block,
  .culture-detail-block {
    width: 175px !important;
    /* 每个区域宽175px */
    height: 222px !important;
    /* 每个区域高222px */
    flex-shrink: 0 !important;
    /* 不允许收缩 */
    margin: 0 !important;
    /* 先清除所有margin */
    padding: 0 !important;
    /* 取消所有padding */
    box-sizing: border-box !important;
  }

  /* 横向间距：a和b之间，c和d之间 */
  .culture-section1-detail-area .culture-detail-block.a,
  .culture-detail-block.a {
    margin-right: 8px !important;
    /* a和b之间的间距8px */
    margin-left: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .culture-section1-detail-area .culture-detail-block.b,
  .culture-detail-block.b {
    margin-right: 0 !important;
    /* b不需要右边距 */
    margin-left: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 30px !important;
    /* ab行的下底边距离cd行的上顶边30px（原20px，再增加10px） */
  }

  .culture-section1-detail-area .culture-detail-block.c,
  .culture-detail-block.c {
    margin-right: 8px !important;
    /* c和d之间的间距8px */
    margin-left: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .culture-section1-detail-area .culture-detail-block.d,
  .culture-detail-block.d {
    margin-right: 0 !important;
    /* d不需要右边距 */
    margin-left: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Culture页面页中1区详情块图片 - 移动端样式 */
  .culture-detail-block picture,
  .culture-detail-block .culture-detail-img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 auto !important;
    margin-bottom: 20px !important;
    /* 图片和标题间距离20px，保持图片不动 */
  }

  /* Culture页面页中1区详情块标题 - 移动端样式 */
  .culture-detail-title {
    font-size: 18px !important;
    line-height: 24px !important;
    margin-top: -13px !important;
    /* 向上移动13px（原-10px，再向上移3px） */
  }

  /* Culture页面页中1区详情块正文 - 移动端样式 */
  .culture-detail-desc {
    font-size: 12px !important;
    line-height: 20px !important;
    margin-top: calc(25px - 10px - 3px) !important;
    /* PC端25px，向上移动13px = 12px */
  }

  /* Culture页面页中2区标题组 - 移动端样式 */
  .culture-section2-title-group {
    margin-top: 50px !important;
    /* 第一行字的上底边距离灰色区域下底边50px */
  }

  /* Culture页面页中2区标题 - 移动端样式 */
  .culture-section2-title {
    font-size: 20px !important;
    line-height: 28px !important;
    white-space: normal !important;
    word-break: break-word !important;
    padding: 0 16px !important;
    text-align: center !important;
  }

  /* Culture页面页中2区 - 移动端样式 */
  .culture-section2 {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    margin-top: 40px !important;
    /* "Choose us"这行字的下底边和e行上底边中间，留出40px的空间 */
  }

  /* Culture页面页中2区行 - 移动端样式 */
  .culture-row {
    width: 100% !important;
    height: 210px !important;
    /* 每行高度210px */
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    /* 横向居中 */
    align-items: flex-start !important;
    margin: 0 !important;
    gap: 0 !important;
    /* 清除PC端的gap */
  }

  /* Culture页面页中2区列 - 移动端样式 */
  .culture-col {
    width: 195px !important;
    /* 每个区域宽195px */
    height: 210px !important;
    /* 每个区域高210px */
    flex-shrink: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    position: relative !important;
    /* 为绝对定位的子元素提供定位上下文 */
  }

  /* Culture页面页中2区图片 - 移动端样式 */
  .culture-cover-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
  }

  /* Culture页面页中2区标题区域 - 移动端样式（参考estate页中2区） */
  .culture-minititle-area {
    position: absolute !important;
    top: 8px !important;
    /* 标题上顶边距离所在小区域上顶边8px */
    left: 50% !important;
    transform: translateX(-50%) !important;
    /* 横向居中 */
    text-align: center !important;
    width: 195px !important;
    /* 标题区域宽度与所在小div宽度一致（195px） */
    box-sizing: border-box !important;
  }

  /* Culture页面页中2区标题文字 - 移动端样式（参考estate页中2区） */
  .culture-minititle {
    font-size: 18px !important;
    line-height: 24px !important;
    text-align: center !important;
    color: #0070D2 !important;
    font-family: 'Noto Sans JP', sans-serif !important;
    font-weight: 500 !important;
    margin: 0 !important;
    white-space: normal !important;
  }

  /* Culture页面页中2区内容区域 - 移动端样式（参考estate页中2区） */
  .culture-minicontent-area {
    position: absolute !important;
    top: calc(8px + 24px + 24px + 12px) !important;
    /* 标题上顶边8px + 标题第一行行高24px + 标题第二行行高24px + 间距12px = 68px */
    left: 50% !important;
    transform: translateX(-50%) !important;
    /* 横向居中 */
    width: 160px !important;
    /* 宽度160px（参考estate） */
    height: 120px !important;
    /* 高度120px（参考estate） */
    box-sizing: border-box !important;
    font-size: 12px !important;
    line-height: 20px !important;
    text-align: left !important;
    color: #0070D2 !important;
    font-family: 'Noto Sans JP', sans-serif !important;
    font-weight: 400 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* 文化页移动端英文：正文行高缩小10% */
  html[lang="en"] .culture-minicontent-area {
    line-height: 16px !important;
    /* 再缩小10%：18px -> 16px */
  }

  /* Culture页面页中3区 - 移动端样式 */
  .culture-section3 {
    background-color: #FFFFFF !important;
    /* 移动端去掉灰色背景，改为纯白色 */
    margin-top: 50px !important;
    /* 第一行文字的上顶边，距离刚才i区域的下底边，50px */
  }

  /* Culture页面页中3区标题组 - 移动端样式 */
  .culture-section3-title-group {
    margin-top: 0 !important;
    /* 取消PC端的margin-top，由culture-section3的margin-top控制 */
    padding-top: 0 !important;
    /* 取消PC端的padding-top: 100px */
  }

  /* Culture页面页中3区标题 - 移动端样式 */
  .culture-section3-title {
    font-size: 20px !important;
    line-height: 28px !important;
    white-space: normal !important;
    word-break: break-word !important;
    padding: 0 16px !important;
    text-align: center !important;
  }

  /* Culture页面页中3区标题 - 移动端显示换行 */
  .culture-section3-title-mobile-br {
    display: inline !important;
    /* 移动端显示"成功させました"前面的强制换行 */
  }

  /* Culture页面页中3区卡片容器 - 移动端样式 */
  .culture-section3-cards {
    margin-top: 50px !important;
    /* x的上顶边距离"Project"这行字的下底边50px */
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    align-items: center !important;
  }

  /* Culture页面页中3区卡片行 - 移动端样式 */
  .culture-card-row {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    align-items: center !important;
    gap: 25px !important;
    /* 每个div之间间隔25px */
  }

  /* Culture页面页中3区卡片 - 移动端样式 */
  .culture-card {
    width: 358px !important;
    /* 每个区域宽358px */
    height: 495px !important;
    /* 每个区域高495px（默认） */
    margin: 0 !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
  }

  /* Culture页面页中3区卡片y、p、q - 移动端样式 */
  .culture-card.card-y,
  .culture-card.card-p,
  .culture-card.card-q {
    height: 275px !important;
    /* y、p、q区域高度275px */
  }

  /* Culture页面页中3区空白卡片w - 移动端隐藏 */
  .culture-card.card-w {
    display: none !important;
    /* 移动端去掉空白的w区域 */
  }

  /* Culture页面页中3区卡片文字标签容器 - 移动端样式 */
  .culture-card .culture-card-label {
    top: 8px !important;
    /* 移动端：文字部分上顶边距离所在div上顶边8px */
    left: 10px !important;
    /* 移动端：文字和日期距离所在区域左侧边10px */
  }

  /* Culture页面页中3区卡片文字 - 移动端样式 */
  /* 标题文字（第一行）：字号18px，行高24px */
  .culture-card .culture-card-label-line:first-child {
    font-size: 18px !important;
    line-height: 24px !important;
  }

  /* 日期文字（第二行）：字号12px，行高20px，weight 400 */
  .culture-card .culture-card-label-line:last-child {
    font-size: 12px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
  }

  /* Estate页面页尾文字 - 移动端样式 */
  /* 移动端wrapper - 宽度191px */
  .estate-footer-hero-mobile-wrapper {
    position: absolute !important;
    top: 30px !important;
    /* 标题第一行上顶边距离背景图上顶边30px */
    left: auto !important;
    /* 取消left定位 */
    right: 54px !important;
    /* 右侧边距离网页右侧边54px */
    width: 191px !important;
    display: block !important;
    /* 确保在移动端显示 */
  }

  .estate-footer-hero-1 {
    position: relative !important;
    /* 改为相对定位 */
    top: 0 !important;
    /* 取消绝对定位的top */
    left: 0 !important;
    /* 取消绝对定位的left */
    text-align: left !important;
    color: #FFFFFF !important;
    /* 确保文字颜色显示 */
  }

  .estate-footer-hero-1-line {
    font-size: 20px !important;
    line-height: 28px !important;
    font-weight: 700 !important;
    text-align: left !important;
    white-space: normal !important;
    color: #FFFFFF !important;
    /* 确保文字颜色显示 */
  }

  .estate-footer-hero-2 {
    position: relative !important;
    /* 改为相对定位 */
    top: 0 !important;
    /* 取消绝对定位的top */
    left: 0 !important;
    /* 取消绝对定位的left */
    width: 100% !important;
    /* 宽度100%，相对于wrapper */
    margin-top: 16px !important;
    /* "共に歩む"的下底边和"投資、別荘購入"的上底边距离16px */
    font-size: 12px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
    text-align: left !important;
    color: #FFFFFF !important;
    /* 确保文字颜色显示 */
  }

  /* 移动端显示换行，PC端隐藏 */
  .estate-footer-mobile-br-1,
  .estate-footer-mobile-br-2,
  .estate-footer-mobile-br-3 {
    display: inline !important;
  }

  /* 页尾标题 - 移动端 */
  .footer-title {
    top: 172px;
    /* 第一行字的上顶边距离页尾上顶边172px */
    left: 50%;
    transform: translateX(-50%);
    width: 360px;
    /* 固定宽度，避免文字被挤成两行 */
    max-width: calc(100% - 32px);
    /* 左右各16px边距 */
    font-size: 20px;
    line-height: 28px;
    font-weight: 700;
    white-space: normal;
    text-align: center;
  }

  /* 移动端显示移动端文字，隐藏PC端文字 */
  .footer-title-pc {
    display: none;
  }

  .footer-title-mobile {
    display: block;
  }

  /* 移动端英文版页尾标题：文字左对齐，整体居中 */
  html[lang="en"] .footer-title {
    text-align: left;
    left: 75%;
    /* 向右偏移5%，让左对齐的英文文本视觉上更居中 */
    transform: translateX(-50%);
  }

  html[lang="en"] .footer-title-mobile {
    text-align: left;
  }

  /* 页尾Logo - 移动端位置 */
  .footer-logo {
    position: relative;
    top: 0;
    left: 2px;
    /* 从4px再向左移动2px */
    margin: 0;
    transform: translateX(0) scale(0.55);
    transform-origin: top left;
  }

  /* 页尾容器 - 移动端高度调整 */
  .page-footer {
    height: 1240px;
    /* 400px(footer-top) + 784px(footer-bottom-content) + 56px(footer-bottom) = 1240px */
  }

  .footer-content {
    height: 1334px;
    /* 400px(footer-top) + 834px(footer-bottom-content) = 1234px */
  }

  /* 页尾下半部蓝色区域 - 移动端高度834px */
  .footer-bottom-content {
    height: 934px;
    padding: 36px 14px 0 14px;
    box-sizing: border-box;
    position: relative;
  }

  /* 最终页尾灰色区域 - 移动端高度56px */
  .footer-bottom {
    height: 56px;
    justify-content: flex-start;
    /* 左对齐 */
    padding-left: 16px;
    /* 左侧边距16px */
  }

  /* 版权文字 - 移动端样式 */
  .copyright {
    font-size: 14px;
    line-height: 18px;
    font-weight: 400;
    text-align: left;
  }

  /* f区域列表 - 移动端布局 */
  .area-f {
    position: relative;
    margin-top: 20px;
    margin-left: 0;
    top: 0;
    left: 0;
    width: auto;
    height: auto;
  }

  .footer-f-text {
    margin: 0 0 15px 0;
  }

  /* 页尾地址区域容器 - 移动端纵向排列 */
  .footer-text-container {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 20px;
  }

  .footer-text-area {
    padding: 0;
    width: auto;
    min-width: auto;
    min-height: auto;
    margin: 0;
  }

  .footer-area-title {
    font-size: 12px;
    line-height: 20px;
    margin: 0 0 0 0;
  }

  .footer-area-text {
    font-size: 12px;
    line-height: 18px;
    margin: 0;
    word-break: break-word;
    overflow-wrap: break-word;
  }

  .footer-row-top,
  .footer-row-bottom {
    display: contents;
  }

  .footer-text-area.area-a {
    margin-top: 0;
    /* 移除额外上边距，间距由容器的margin-top控制 */
    order: 1;
  }

  .footer-text-area.area-d {
    order: 2;
  }

  .footer-text-area.area-b {
    order: 3;
  }

  .footer-text-area.area-e {
    order: 4;
  }

  .footer-text-area.area-c {
    order: 5;
  }

  .footer-area-text br:first-of-type {
    display: none;
  }

  /* 移动端隐藏"回到顶部"按钮 */
  .back-to-top {
    display: none;
  }

  /* 页尾社交媒体图标 - 移动端位置调整 */
  .footer-social-icons {
    position: absolute;
    bottom: 70px;
    /* 上移，避免与版权文字重叠 */
    left: 16px;
    /* 左边icon的左侧边距离网页左侧边16px */
    right: auto;
    /* 取消PC端的right定位 */
    top: auto;
    /* 取消PC端的top定位 */
    display: flex;
    gap: 25px;
    /* 保持PC端的间距 */
  }

  /* 移动端禁用社交媒体图标的点击和悬停效果 */
  .footer-social-icon {
    pointer-events: none;
    /* 禁用点击，使其仅作为图片显示 */
  }

  .footer-social-icon:hover .footer-social-normal,
  .footer-social-icon:active .footer-social-normal,
  .footer-social-icon:focus .footer-social-normal {
    opacity: 1;
    /* 保持显示正常图标 */
  }

  .footer-social-icon:hover .footer-social-hover,
  .footer-social-icon:active .footer-social-hover,
  .footer-social-icon:focus .footer-social-hover {
    opacity: 0;
    /* 隐藏悬停图标 */
  }
}