/* 国际文化交流页面特定样式 */

/* 页首 - 高度920px */
.culture-header {
  height: 920px;
}

/* 页首上部 - 120px，无底色 */
.header-top {
  width: 100%;
  height: 120px;
  position: relative;
  background-color: transparent;
}

/* 页首下部 - 800px，填充图片 */
.header-bottom {
  width: 100%;
  height: 800px;
  position: relative;
  overflow: hidden;
}

/* 页首下部背景图片 */
.culture-header .header-bg-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* 国际文化交流页面页首上部Logo样式 */
.culture-header .header-top .site-logo {
  position: absolute;
  top: 50%;
  left: 120px;
  transform: translateY(-50%);
  z-index: 20;
}

/* 语言切换按钮与汉堡按钮保持与首页一致的尺寸与交互，但仅在本页覆盖布局与配色 */
.culture-header .header-top .language-toggle .lang-icon {
  transition: opacity 0.3s ease;
}

/* 汉堡三条线默认配色为#0070D2（本页特定） */
.culture-header .header-top .hamburger-line {
  background-color: #0070D2;
}

/* 汉堡按钮悬停时添加轻微灰色背景与阴影（不改变布局尺寸） */
.culture-header .header-top .hamburger-menu {
  border-radius: 6px;
  transition: box-shadow 0.2s ease, background-color 0.2s ease, transform 0.3s ease;
}

.culture-header .header-top .hamburger-menu:hover {
  background-color: rgba(0, 0, 0, 0.04);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

/* 国际文化交流页面页首上部语言切换按钮样式 */
.culture-header .header-top .language-toggle {
  position: absolute;
  top: 50%;
  right: 170px;
  /* 120px + 25px + 25px = 170px (汉堡右侧120px + 汉堡宽度25px + 间距25px) */
  transform: translateY(-50%);
  z-index: 20;
  cursor: pointer;
  width: 25px;
  /* 固定尺寸，避免不同资源尺寸导致的位移 */
  height: 25px;
  line-height: 0;
  /* 避免行高影响 */
}

/* 国际文化交流页面页首上部汉堡菜单样式 */
.culture-header .header-top .hamburger-menu {
  position: absolute;
  top: 50%;
  right: 120px;
  transform: translateY(-50%);
  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;
}

/* 让语言icon的两张图像居中重叠，避免切换时产生水平位移 */
.culture-header .header-top .language-toggle .lang-icon,
.culture-header .header-top .language-toggle .lang-icon-hover {
  position: absolute;
  top: 0;
  /* 以容器顶部为基准，保证两图上边对齐 */
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 100%;
  object-fit: contain;
  margin: 0;
}

/* 悬停图放大10%，并以顶部为基准，避免上沿位移 */
.culture-header .header-top .language-toggle .lang-icon-hover {
  transform: translateX(-50%) scale(1.331);
  transform-origin: top center;
}

/* 覆盖之前的整块阴影：hover时不加容器背景与阴影，仅给线条加细阴影 */
.culture-header .header-top .hamburger-menu:hover {
  background-color: transparent;
  box-shadow: none;
}

/* 线状阴影：每条线底部一条浅阴影线 */
.culture-header .header-top .hamburger-menu:hover .hamburger-line {
  box-shadow: 0 1.5px 0 rgba(0, 0, 0, 0.22);
}

/* 激活态（变成X）时的线条颜色：仅文化页覆盖为 #FFFFFFEE */
.culture-header .hamburger-menu.active .hamburger-line {
  background-color: #FFFFFFEE;
}

/* =====================
   文化页 - 页尾上部文字区域
   ===================== */
.page-footer .footer-top .culture-footer-title {
  position: absolute;
  top: 138px;
  /* 距离页尾上部顶边 138px */
  right: 200px;
  /* 右侧距离页面边缘 200px，使其中心与culture-footer-desc中心对齐 */
  width: 280px;
  height: 108px;
  display: flex;
  flex-direction: column;
  align-items: center;
  /* 每行在其所在行内水平居中 */
  justify-content: flex-start;
}

/* PC端标题 - PC端显示 */
.culture-footer-title-pc {
  display: block;
  position: absolute;
  bottom: 1px;
}

/* 移动端标题 - PC端隐藏 */
.culture-footer-title-mobile {
  display: none;
  position:absolute;
  bottom:30px;
}

.page-footer .footer-top .culture-footer-line {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 54px;
  color: #FFFFFF;
  margin: 0;
  text-align: center;
  white-space: nowrap;
}

/* 文字区域2：宽440px，高136px；顶边相对文字区域上顶边+80px；右侧距页面120px */
.page-footer .footer-top .culture-footer-desc {
  position: absolute;
  top: 326px;
  /* 文字区域top(138px) + 高度(108px) + 间隔(80px) = 326px */
  right: 120px;
  /* 右侧距离页面边缘 120px */
  width: 440px;
  height: 136px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 34px;
  color: #FFFFFF;
  margin: 0;
}

/* 页中 - 高度6814px */
.culture-main {
  height: 6814px;
  background-color: #ffffff;
}

/* 调整侧边导航栏高度以匹配新的页首高度 */
.culture-header .sidebar-nav {
  height: 920px;
}

.culture-section1 {
  width: 100%;
  height: 890px;
  background: #F2F2F2;
  margin-top: 120px;
}

.culture-section1-title-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-top: 100px;
}

.culture-section1-title {
  color: #0070D2;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 54px;
  margin: 0;
  text-align: center;
  white-space: nowrap;
}

.service-label {
  /* 用于标记最后一行，方便后续对齐“页中1区文字下端线” */
}

.culture-section1-detail-area {
  width: calc(4 * 253px + 3 * 24px);
  /* 四块+三次间距 */
  height: 428px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  gap: 24px;
  margin: 100px auto 0 auto;
  /* 距离上一部分100px，水平居中 */
}

.culture-detail-block {
  width: 253px;
  height: 428px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  border-radius: 14px;
}

.culture-detail-block.a {
  background: none;
}

.culture-detail-block.b {
  background: none;
}

.culture-detail-block.c {
  background: none;
}

.culture-detail-block.d {
  background: none;
}

.culture-detail-img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  max-height: 100%;
  padding-top: 0;
  align-self: center;
}

.culture-detail-title {
  margin-top: 50px;
  color: #0070D2;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 34px;
  text-align: center;
  white-space: pre-line;
}

.culture-detail-block.b .culture-detail-title {
  margin-top: 60px;
}

.culture-detail-desc {
  margin-top: 25px;
  color: #0070D2;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 30px;
  text-align: left;
  word-break: break-word;
}

.culture-section2-title-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  margin-top: 120px;
}

.culture-section2-title {
  color: #0070D2;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 54px;
  margin: 0;
  text-align: center;
  white-space: nowrap;
}

.culture-section2-title.service-label {
  /* 标记最后一行，方便定位 */
}

.culture-section2 {
  width: 100%;
  height: 3400px;
  margin-top: 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

.culture-row {
  width: 100%;
  height: 680px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
}

.culture-col {
  width: 50%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  font-weight: bold;
  color: #ffffff;
}

.culture-e-left,
.culture-e-right,
.culture-f-left,
.culture-f-right,
.culture-g-left,
.culture-g-right,
.culture-h-left,
.culture-h-right,
.culture-i-left,
.culture-i-right {
  background: none;
}

.culture-cover-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.culture-project-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.culture-row-e .culture-e-right {
  position: relative;
  flex-direction: column;
  /* 允许内部绝对定位 */
}

.culture-row-e .culture-minititle-area {
  position: absolute;
  top: 168px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.culture-minititle {
  color: #0070D2;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 54px;
  text-align: center;
  margin: 0;
  white-space: pre-line;
}

.culture-row-e .culture-minicontent-area {
  position: absolute;
  top: 168px;
  left: 50%;
  width: 480px;
  margin-top: 54px;
  /* 小标题的高度*/
  padding-top: 100px;
  /* 标题到底部100px */
  transform: translateX(-50%);
  color: #0070D2;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 34px;
  text-align: left;
  word-break: break-word;
}

.culture-row-f .culture-f-left {
  position: relative;
  flex-direction: column;
}

.culture-row-f .culture-minititle-area {
  position: absolute;
  top: 168px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.culture-row-f .culture-minititle {
  color: #0070D2;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 54px;
  text-align: center;
  margin: 0;
  white-space: pre-line;
}

.culture-row-f .culture-minicontent-area {
  position: absolute;
  top: 168px;
  left: 50%;
  width: 480px;
  margin-top: 54px;
  padding-top: 100px;
  transform: translateX(-50%);
  color: #0070D2;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 34px;
  text-align: left;
  word-break: break-word;
}

.culture-row-g .culture-g-right {
  position: relative;
  flex-direction: column;
}

.culture-row-g .culture-minititle-area {
  position: absolute;
  top: 168px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.culture-row-g .culture-minititle {
  color: #0070D2;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 54px;
  text-align: center;
  margin: 0;
  white-space: pre-line;
}

.culture-row-g .culture-minicontent-area {
  position: absolute;
  top: 168px;
  left: 50%;
  width: 480px;
  margin-top: 54px;
  padding-top: 100px;
  transform: translateX(-50%);
  color: #0070D2;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 34px;
  text-align: left;
  word-break: break-word;
}

.culture-row-h .culture-h-left {
  position: relative;
  flex-direction: column;
}

.culture-row-h .culture-minititle-area {
  position: absolute;
  top: 168px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.culture-row-h .culture-minititle {
  color: #0070D2;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 54px;
  text-align: center;
  margin: 0;
  white-space: pre-line;
}

.culture-row-h .culture-minicontent-area {
  position: absolute;
  top: 168px;
  left: 50%;
  width: 480px;
  margin-top: 54px;
  padding-top: 100px;
  transform: translateX(-50%);
  color: #0070D2;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 34px;
  text-align: left;
  word-break: break-word;
}

.culture-row-i .culture-i-right {
  position: relative;
  flex-direction: column;
}

.culture-row-i .culture-minititle-area {
  position: absolute;
  top: 168px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.culture-row-i .culture-minititle {
  color: #0070D2;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 54px;
  text-align: center;
  margin: 0;
  white-space: pre-line;
}

.culture-row-i .culture-minicontent-area {
  position: absolute;
  top: 168px;
  left: 50%;
  width: 480px;
  margin-top: 54px;
  padding-top: 100px;
  transform: translateX(-50%);
  color: #0070D2;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 34px;
  text-align: left;
  word-break: break-word;
}

.culture-section3 {
  width: 100%;
  height: 1782px;
  background: #F2F2F2;
  margin-top: 120px;
}

.culture-section3-title-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-top: 100px;
}

.culture-section3-title {
  color: #0070D2;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 54px;
  margin: 0;
  text-align: center;
  white-space: nowrap;
}

.culture-br {
  display: none;
}

/* PC端隐藏移动端换行 */
.culture-section3-title-mobile-br {
  display: none;
}

.culture-section3-title.service-label {
  /* 标记最后一行，便于后续定位 */
}

.culture-section3-cards {
  margin-top: 80px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

.culture-card-row {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  margin-bottom: 30px;
}

.culture-card {
  width: 590px;
  height: 454px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  font-weight: bold;
  color: #fff;
  border-radius: 18px;
  margin-right: 20px;
  position: relative;
}

.culture-card:last-child {
  margin-right: 0;
}

.card-x,
.card-y,
.card-z,
.card-p,
.card-q,
.card-w {
  background: none;
}

.culture-card-label {
  position: absolute;
  top: 18px;
  left: 20px;
  text-align: left;
  z-index: 2;
}

.culture-card-label-line {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 34px;
  color: #FFFFFF;
  margin: 0;
  white-space: pre-line;
}

@media (max-width: 480px) {
  html[lang="en"] .culture-card-label-line {
    font-size: 10px;
    line-height: 14px;
  }

  html[lang="en"] .culture-card-label-line:nth-of-type(2) {
    display: none;
  }
}

html[lang="en"] .culture-card-label-line {
  font-size: 20px;
  line-height: 29px;
}

.travel-hero-text {
  position: absolute;
  top: 474px;
  /* 从500px向上移动26px（12px+6px+8px），避免文字顶到页首下边沿 */
  left: 120px;
}

.travel-hero-line {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 52px;
  line-height: 80px;
  color: #FFFFFF;
  margin: 0;
  white-space: nowrap;
}

/* PC端隐藏移动端换行 */
.travel-hero-mobile-br-1,
.travel-hero-mobile-br-2 {
  display: none;
}

.culture-hero-text {
  position: absolute;
  top: 147px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
}

.culture-hero-line {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 52px;
  line-height: 80px;
  color: #FFFFFF;
  margin: 0;
  white-space: nowrap;
}

.ent-hero-text {
  position: absolute;
  top: 600px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
}

.ent-hero-line {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 52px;
  line-height: 80px;
  color: #FFFFFF;
  margin: 0;
  white-space: nowrap;
}

.estate-hero-text {
  position: absolute;
  top: 500px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
}

.estate-hero-line {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 52px;
  line-height: 80px;
  color: #FFFFFF;
  margin: 0;
  white-space: nowrap;
}

/* PC端隐藏移动端换行 */
.estate-hero-mobile-br {
  display: none;
}

.travel-footer-hero {
  position: absolute;
  top: 100px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
}

.travel-footer-hero-line {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 52px;
  line-height: 80px;
  color: #0070D2;
  margin: 0;
  white-space: nowrap;
}

/* 旅行事业页面页中标题区域 */
.travel-main-title-section {
  width: 100%;
  margin-top: 120px;
  text-align: center;
}

.travel-main-section-title {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 54px;
  color: #0070D2;
  margin: 0;
}

/* 旅行事业页面页中描述文字区域 */
.travel-main-desc-section {
  width: 100%;
  margin-top: 50px;
  text-align: center;
}

.travel-main-desc-line {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 32px;
  line-height: 44px;
  color: #0070D2;
  margin: 0;
}

/* 旅行事业页面插画区域 */
.travel-illustration-section {
  width: 100%;
  margin-top: 120px;
  text-align: center;
}

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

/* 旅行事业页面页中1区 */
.travel-section-1 {
  width: 100%;
  height: 930px;
  margin-top: 120px;
  background-color: #F2F2F2;
}

/* 页中1区标题区域 */
.travel-section-1-title-group {
  width: 100%;
  padding-top: 100px;
  text-align: center;
}

.travel-section-1-title-line {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 54px;
  color: #0070D2;
}

/* PC端隐藏移动端换行 */
.travel-section-1-mobile-br-1,
.travel-section-1-mobile-br-2 {
  display: none;
}

/* 页中1区内容区域 */
.travel-section-1-content {
  width: 100%;
  margin-top: 100px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 24px;
}

.travel-card {
  width: 253px;
  height: 468px;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.travel-card-image {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  display: block;
}

.travel-card-title {
  margin-top: 55px;
  text-align: center;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 34px;
  color: #0070D2;
}

.travel-card-desc {
  margin-top: 20px;
  padding: 0 15px;
  text-align: left;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 25px;
  color: #0070D2;
  width: 100%;
  box-sizing: border-box;
}

/* 页中1区下方标题区域 */
.travel-section-after-1-title-group {
  width: 100%;
  margin-top: 120px;
  text-align: center;
}

.travel-section-after-1-title-line {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 54px;
  color: #0070D2;
}

/* PC端隐藏移动端换行 */
.travel-after-1-mobile-br-1,
.travel-after-1-mobile-br-2 {
  display: none;
}

/* 页中2区 */
.travel-section-2 {
  width: 100%;
  height: 880px;
  margin-top: 100px;
}

.travel-section-2-content {
  width: calc(560px * 2 + 80px);
  /* 两个卡片宽度 + 一个间距 */
  height: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 560px);
  grid-template-rows: repeat(2, 400px);
  gap: 80px;
}

.travel-card-2 {
  width: 560px;
  height: 400px;
  position: relative;
  overflow: hidden;
}

.travel-card-2-image {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  display: block;
}

.travel-card-2-text {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  pointer-events: none;
}

.travel-card-2-desc {
  margin-bottom: 30px;
  text-align: center;
  display: flex;
  flex-direction: column-reverse;
}

.travel-card-2-desc-normal {
  flex-direction: column;
  /* 正常顺序，自上而下 */
}

.travel-card-2a .travel-card-2-text {
  bottom: 180px;
  /* 假设图片高度约150px，180px = 150px + 30px，可根据实际调整 */
}

.travel-card-2b .travel-card-2-text {
  bottom: 180px;
  /* 假设图片高度约150px，180px = 150px + 30px，可根据实际调整 */
}

.travel-card-2c .travel-card-2-text {
  top: 50px;
  /* 使用top定位，让圆圈3和圆圈4对齐 */
  bottom: auto;
}

.travel-card-2d .travel-card-2-text {
  top: 50px;
  /* 使用top定位，让圆圈3和圆圈4对齐 */
  bottom: auto;
}

.travel-card-2-desc-line {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 34px;
  color: #0070D2;
  margin: 0;
}

.travel-card-2-desc-line:first-child {
  margin-bottom: 0;
}

.travel-card-2-desc-line:last-child {
  margin-bottom: 0;
}

/* PC端隐藏移动端换行 */
.travel-2a-mobile-br-1,
.travel-2a-mobile-br-2,
.travel-2a-mobile-br-3 {
  display: none;
}

.travel-2b-mobile-br-1,
.travel-2b-mobile-br-2,
.travel-2b-mobile-br-3 {
  display: none;
}

.travel-2c-mobile-br-1,
.travel-2c-mobile-br-2,
.travel-2c-mobile-br-3 {
  display: none;
}

.travel-2d-mobile-br-1,
.travel-2d-mobile-br-2,
.travel-2d-mobile-br-3 {
  display: none;
}

.travel-card-2-number {
  margin-bottom: 25px;
  text-align: center;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 40px;
  line-height: 54px;
  color: #0070D2;
}

/* 页中2区下方主图片区域 */
.travel-section-2-image-section {
  width: 100%;
  margin-top: 120px;
  position: relative;
}

.travel-section-2-main-image {
  display: block;
  width: 100%;
  height: auto;
}

.travel-section-2-image-text {
  position: absolute;
  top: 220px;
  left: 120px;
}

.travel-section-2-image-line {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 52px;
  line-height: 80px;
  color: #FFFFFF;
  margin: 0;
}

/* 页中高度平滑过渡 */
.page-main.culture-main {
  transition: min-height 1s ease;
}

/* 页中3区 */
.travel-section-3 {
  width: 100%;
  margin-top: 120px;
}

.travel-section-3-content {
  width: 1200px;
  min-height: 2846px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.travel-set-item {
  width: 100%;
  position: relative;
}

.travel-set-image {
  width: 100%;
  height: auto;
  display: block;
  transition: border-bottom-right-radius 1s ease;
}

.travel-set-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 20;
}

.travel-set-title1 {
  position: absolute;
  top: 20px;
  right: 34px;
  width: 220px;
  background-color: #FFFFFF;
  border-radius: 20px;
  padding: 10px 15px;
  box-sizing: border-box;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 36px;
  line-height: 48.6px;
  color: #F77490;
  text-align: left;
}

.travel-set-3b .travel-set-title1 {
  color: #83D166;
}

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

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

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

.travel-set-title2 {
  position: absolute;
  right: 34px;
  width: 220px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 36px;
  line-height: 48.6px;
  color: #FFFFFF;
}

/* 标题2的位置通过JavaScript动态计算 */
.travel-set-body {
  position: absolute;
  right: 34px;
  width: 220px;
  top: 326px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 30px;
  color: #FFFFFF;
}

.travel-set-button {
  position: absolute;
  right: 125px;
  bottom: 20px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  transition: transform 0.3s ease;
  z-index: 100;
}

.travel-set-button-icon {
  display: block;
  width: auto;
  height: auto;
}

.travel-set-button.active {
  transform: rotate(180deg);
}

.travel-set-expand-content {
  width: 100%;
  max-height: 0;
  overflow: hidden;
  transition: max-height 1s ease;
}

.travel-set-item.expanded .travel-set-expand-content {
  max-height: 2000px;
  /* 足够大的值，可根据实际内容调整 */
}

.travel-set-3a1 {
  background-color: #F77490;
  width: 100%;
  height: 1104px;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 1s ease;
  box-sizing: border-box;
}

.travel-set-3a.expanded .travel-set-3a1 {
  max-height: 1104px;
}

/* 3a1展开区域内容 */
.travel-set-3a1 {
  position: relative;
  z-index: 1;
}

/* 表头 */
.travel-table-header {
  position: absolute;
  top: 40px;
  left: 40px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 54px;
  color: #FFFFFF;
}

/* Table1和table2的行容器 */
.travel-table-row-1 {
  position: absolute;
  left: 40px;
  display: flex;
  flex-direction: row;
  gap: 60px;
}

/* Table1 */
.travel-table-1 {
  position: relative;
  top: 0;
}

/* Table2 */
.travel-table-2 {
  position: relative;
  top: 0;
}

/* 表格框基础样式 */
.travel-table-box {
  width: 120px;
  height: 54px;
  border: 2px solid #FFFFFF;
  border-radius: 20px;
  background-color: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 34px;
  color: #FFFFFF;
  box-sizing: border-box;
}

.travel-table-2 {
  width: 164px;
}

/* 英文版：3a展开区的"Sightseeing Spot"字号减小20% */
html[lang="en"] .travel-set-3a1 .travel-table-2 {
  font-size: 19px;
  line-height: 27px;
}

/* 英文版：3c展开区的"Sightseeing Spot"字号减小20% */
html[lang="en"] .travel-set-3c1 .travel-table-2 {
  font-size: 19px;
  line-height: 27px;
}

/* PC端英文：特定行的正文允许两行显示，防止溢出 */
@media (min-width: 481px) {

  html[lang="en"] .travel-set-3a1 .travel-text-1,
  html[lang="en"] .travel-set-3a1 .travel-text-4,
  html[lang="en"] .travel-set-3a1 .travel-text-6,
  html[lang="en"] .travel-set-3a1 .travel-text-8 {
    white-space: normal;
    width: 600px;
    text-align: left;
    height: auto;
    min-height: 54px;
    line-height: 30px;
  }

  html[lang="en"] .travel-set-3a1 .travel-text-1 {
    width: 660px;
  }

  html[lang="en"] .travel-set-3e1 .travel-text-1 {
    white-space: normal;
    width: 620px;
    text-align: left;
    height: auto;
    min-height: 54px;
    line-height: 30px;
  }

  html[lang="en"] .travel-set-3e1 .travel-table-detail {
    font-size: 17px;
    line-height: 24px;
    padding-left: 16px;
    padding-right: 8px;
    justify-content: flex-start;
  }
}

/* 详情1和正文1的行容器 */
.travel-table-row-2 {
  position: absolute;
  left: 40px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
}

/* 详情1 */
.travel-table-detail {
  width: 120px;
  height: 54px;
  border-radius: 20px;
  background-color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 34px;
  color: #F77490;
  box-sizing: border-box;
}

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

/* 白线 */
.travel-table-line {
  width: 3px;
  height: 54px;
  background-color: #FFFFFF;
  margin-left: 30px;
  flex-shrink: 0;
}

/* 正文1 */
.travel-table-text {
  height: 54px;
  margin-left: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 22px;
  line-height: 34px;
  color: #FFFFFF;
  text-align: center;
  width: auto;
  box-sizing: border-box;
  white-space: nowrap;
}

/* 动态计算位置 */
.travel-table-row-1 {
  top: calc(40px + 54px + 30px);
  /* 表头上顶边40px + 表头高度54px + 间距30px */
}

.travel-table-row-2 {
  top: calc(40px + 54px + 30px + 54px + 30px);
  /* 表头 + table1 + 间距 */
}

/* 详情2和正文2的行容器 */
.travel-table-row-3 {
  position: absolute;
  left: 40px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  top: calc(40px + 54px + 30px + 54px + 30px + 54px + 20px);
  /* 表头 + table1 + 详情1 + 间距 */
}

/* 详情3到详情10的行容器 - 每个距离上一行20px */
.travel-table-row-4 {
  position: absolute;
  left: 40px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  top: calc(40px + 54px + 30px + 54px + 30px + 54px + 20px + 54px + 20px);
  /* row-3 + 54px + 20px */
}

.travel-table-row-5 {
  position: absolute;
  left: 40px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  top: calc(40px + 54px + 30px + 54px + 30px + 54px + 20px + 54px + 20px + 54px + 20px);
  /* row-4 + 54px + 20px */
}

.travel-table-row-6 {
  position: absolute;
  left: 40px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  top: calc(40px + 54px + 30px + 54px + 30px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px);
  /* row-5 + 54px + 20px */
}

.travel-table-row-7 {
  position: absolute;
  left: 40px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  top: calc(40px + 54px + 30px + 54px + 30px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px);
  /* row-6 + 54px + 20px */
}

.travel-table-row-8 {
  position: absolute;
  left: 40px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  top: calc(40px + 54px + 30px + 54px + 30px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px);
  /* row-7 + 54px + 20px */
}

.travel-table-row-9 {
  position: absolute;
  left: 40px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  top: calc(40px + 54px + 30px + 54px + 30px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px);
  /* row-8 + 54px + 20px */
}

.travel-table-row-10 {
  position: absolute;
  left: 40px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  top: calc(40px + 54px + 30px + 54px + 30px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px);
  /* row-9 + 54px + 20px */
}

.travel-table-row-11 {
  position: absolute;
  left: 40px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  top: calc(40px + 54px + 30px + 54px + 30px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px);
  /* row-10 + 54px + 20px */
}

/* 3b1展开区域 - 详情行位置（没有table1和table2，直接从表头下方开始） */
.travel-table-row-b2 {
  position: absolute;
  left: 40px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  top: calc(40px + 54px + 30px);
  /* 表头上顶边40px + 表头高度54px + 间距30px */
}

.travel-table-row-b3 {
  position: absolute;
  left: 40px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  top: calc(40px + 54px + 30px + 54px + 20px);
  /* row-b2 + 54px + 20px */
}

.travel-table-row-b4 {
  position: absolute;
  left: 40px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  top: calc(40px + 54px + 30px + 54px + 20px + 54px + 20px);
  /* row-b3 + 54px + 20px */
}

.travel-table-row-b5 {
  position: absolute;
  left: 40px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  top: calc(40px + 54px + 30px + 54px + 20px + 54px + 20px + 54px + 20px);
  /* row-b4 + 54px + 20px */
}

.travel-table-row-b6 {
  position: absolute;
  left: 40px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  top: calc(40px + 54px + 30px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px);
  /* row-b5 + 54px + 20px */
}

/* 3b1展开区域 */
.travel-set-3b1 {
  background-color: #83D166;
  width: 100%;
  height: 579px;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 1s ease;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
}

.travel-set-3b.expanded .travel-set-3b1 {
  max-height: 579px;
}

/* 3c1展开区域 */
.travel-set-3c1 {
  background-color: #419AE6;
  width: 100%;
  height: 646px;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 1s ease;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
}

.travel-set-3c.expanded .travel-set-3c1 {
  max-height: 646px;
}

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

/* 3d1展开区域 */
.travel-set-3d1 {
  background-color: #20B2AA;
  width: 100%;
  height: 818px;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 1s ease;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
}

.travel-set-3d.expanded .travel-set-3d1 {
  max-height: 818px;
}

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

/* 3d1展开区域 - 只有table1，没有table2 */
.travel-table-row-d1 {
  position: absolute;
  left: 40px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  top: calc(40px + 54px + 30px);
  /* 表头上顶边40px + 表头高度54px + 间距30px */
}

/* 3d1展开区域 - 详情行位置 */
.travel-table-row-d2 {
  position: absolute;
  left: 40px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  top: calc(40px + 54px + 30px + 54px + 30px);
  /* 表头 + table1 + 间距 */
}

.travel-table-row-d3 {
  position: absolute;
  left: 40px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  top: calc(40px + 54px + 30px + 54px + 30px + 54px + 20px);
  /* row-d2 + 54px + 20px */
}

.travel-table-row-d4 {
  position: absolute;
  left: 40px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  top: calc(40px + 54px + 30px + 54px + 30px + 54px + 20px + 54px + 20px);
  /* row-d3 + 54px + 20px */
}

.travel-table-row-d5 {
  position: absolute;
  left: 40px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  top: calc(40px + 54px + 30px + 54px + 30px + 54px + 20px + 54px + 20px + 54px + 20px);
  /* row-d4 + 54px + 20px */
}

.travel-table-row-d6 {
  position: absolute;
  left: 40px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  top: calc(40px + 54px + 30px + 54px + 30px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px);
  /* row-d5 + 54px + 20px */
}

.travel-table-row-d7 {
  position: absolute;
  left: 40px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  top: calc(40px + 54px + 30px + 54px + 30px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px);
  /* row-d6 + 54px + 20px */
}

.travel-table-row-d8 {
  position: absolute;
  left: 40px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  top: calc(40px + 54px + 30px + 54px + 30px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px + 54px + 20px);
  /* row-d7 + 54px + 20px */
}

/* 3e1展开区域 */
.travel-set-3e1 {
  background-color: #0070D2;
  width: 100%;
  height: 321px;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 1s ease;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
}

.travel-set-3e.expanded .travel-set-3e1 {
  max-height: 321px;
}

/* 3e1的详情框颜色（蓝色）和字号 */
.travel-set-3e1 .travel-table-detail {
  color: #0070D2;
  font-size: 20px;
}

/* 3e1展开区域 - 详情行位置（没有table1和table2，直接从表头下方开始） */
.travel-table-row-e2 {
  position: absolute;
  left: 40px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  top: calc(40px + 54px + 30px);
  /* 表头上顶边40px + 表头高度54px + 间距30px */
}

.travel-table-row-e3 {
  position: absolute;
  left: 40px;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  top: calc(40px + 54px + 30px + 54px + 20px);
  /* row-e2 + 54px + 20px */
}

/* 展开时，在右下角添加一个色块来填补圆角 */
.travel-set-corner-patch {
  position: absolute;
  right: 0;
  width: 30px;
  height: 30px;
  border-radius: 0;
  /* 不要任何圆角 */
  z-index: 9999;
  pointer-events: none;
  opacity: 0;
  transition: none;
  /* 立即显示，不要渐显动画 */
  /* top位置和背景色通过JavaScript动态设置 */
}

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

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

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

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

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

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

.ent-footer-hero {
  position: absolute;
  top: 219px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
}

.ent-footer-hero-line {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 54px;
  color: #FFFFFF;
  margin: 0;
  white-space: nowrap;
}

/* PC端隐藏移动端换行 */
.ent-footer-mobile-br {
  display: none;
}

/* PC端隐藏移动端wrapper */
.estate-footer-hero-mobile-wrapper {
  display: contents;
  /* PC端不显示wrapper，让子元素直接定位 */
}

.estate-footer-hero-1 {
  position: absolute;
  top: 110px;
  left: 55%;
  text-align: left;
}

.estate-footer-hero-1-line {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 54px;
  margin: 0;
  white-space: nowrap;
  color: #FFFFFF;
}

.estate-footer-hero-2 {
  position: absolute;
  top: 298px;
  /* 110 + (54*2) + 80 */
  left: 55%;
  width: 549px;
  color: #FFFFFF;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 34px;
  text-align: left;
  white-space: normal;
  word-break: break-word;
}

/* PC端隐藏移动端换行 */
.estate-footer-mobile-br-1,
.estate-footer-mobile-br-2,
.estate-footer-mobile-br-3 {
  display: none;
}

/* 不动产事业页面页中标题区域 */
.estate-main-title-section {
  width: 100%;
  margin-top: 120px;
  text-align: center;
}

.estate-main-section-title {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 54px;
  color: #0070D2;
  margin: 0;
}

/* PC端隐藏移动端换行 */
.estate-title-mobile-br-1,
.estate-title-mobile-br-2 {
  display: none;
}

/* 不动产事业页面页中1区 */
.estate-section-1 {
  width: 100%;
  height: 1204px;
  margin-top: 100px;
  /* 距离标题区域底边100px */
}

.estate-section-1-container {
  width: 1200px;
  /* 384*3 + 24*2 = 1200 */
  max-width: 100%;
  height: 1204px;
  /* 590*2 + 24 = 1204 */
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 384px);
  grid-template-rows: repeat(2, 590px);
  gap: 24px;
}

.estate-card {
  width: 384px;
  height: 590px;
  position: relative;
}

.estate-card-1a,
.estate-card-1c,
.estate-card-1e {
  background-color: #0070D2;
}

.estate-card-1b,
.estate-card-1d,
.estate-card-1f {
  background-color: #EBEFF4;
}

/* 1a区域内容样式 */
.estate-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0;
  overflow: hidden;
}

.estate-card-icon {
  margin-top: 15px;
  display: block;
  width: auto;
  height: auto;
}

.estate-card-title {
  margin: 20px 0 0 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 24px;
  line-height: 34px;
  font-weight: 600;
  color: #FFFFFF;
  text-align: center;
  width: 100%;
  white-space: pre-line;
}

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

  /* Culture页面页中1区详情区域 - 移动端覆盖PC端gap */
  .culture-section1-detail-area {
    gap: 0 !important;
    /* 强制清除PC端的gap: 24px */
  }

  /* Culture页面页中1区详情块 - 移动端行间距 */
  .culture-detail-block.b {
    margin-bottom: 30px !important;
    /* ab行的下底边距离cd行的上顶边30px（原20px，再增加10px） */
  }

  .culture-detail-block.a {
    margin-right: 8px !important;
    /* a和b之间的间距8px */
  }

  .culture-detail-block.c {
    margin-right: 8px !important;
    /* c和d之间的间距8px */
  }
}

/* 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: none;
}

/* PC端显示PC端的换行 */
.estate-card-title-mobile-br-1d-hide {
  display: inline;
}

/* PC端隐藏移动端换行 */
.estate-card-title-mobile-br-1f-2 {
  display: none;
}

/* PC端显示PC端的换行 */
.estate-card-title-mobile-br-1f-hide {
  display: inline;
}

.estate-card-desc {
  margin: 10px 0 0 0;
  padding: 0 15px;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 18px;
  line-height: 30px;
  font-weight: 400;
  color: #FFFFFF;
  width: 100%;
  box-sizing: border-box;
}

.estate-card-line {
  width: 100%;
  height: 3px;
  background-color: #FFFFFF;
  margin: 15px 0 0 0;
  flex-shrink: 0;
  display: block;
}

.estate-card-item {
  width: calc(100% - 60px);
  /* 左右各30px */
  height: 70px;
  margin: 15px 30px 0 30px;
  display: flex;
  flex-direction: row;
}

.estate-card-item:last-of-type {
  margin-top: 10px;
}

.estate-card-item-title {
  width: 110px;
  height: 70px;
  background-color: #FFFFFF;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding-left: 10px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.estate-card-item-title p {
  margin: 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 16px;
  /* 18px * 0.9 ≈ 16px */
  line-height: 27px;
  /* 30px * 0.9 = 27px */
  color: #0070D2;
  text-align: left;
}

.estate-card-item-desc {
  flex: 1;
  height: 70px;
  display: flex;
  align-items: center;
  padding-left: 15px;
  box-sizing: border-box;
}

.estate-card-item-desc p {
  margin: 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 18px;
  color: #FFFFFF;
  word-break: break-word;
}

/* 1b、1d和1f区域特殊样式（浅色背景） */
.estate-card-1b .estate-card-title,
.estate-card-1d .estate-card-title,
.estate-card-1f .estate-card-title {
  color: #0070D2;
}

.estate-card-1b .estate-card-desc,
.estate-card-1d .estate-card-desc,
.estate-card-1f .estate-card-desc {
  color: #0070D2;
}

.estate-card-1b .estate-card-line,
.estate-card-1d .estate-card-line,
.estate-card-1f .estate-card-line {
  background-color: #0070D2;
}

.estate-card-1b .estate-card-item-title,
.estate-card-1d .estate-card-item-title,
.estate-card-1f .estate-card-item-title {
  background-color: #0070D2;
}

.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: #FFFFFF;
}

.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;
}

/* 1d区域item区域高度增加到100px */
.estate-card-1d .estate-card-item {
  height: 100px;
}

.estate-card-1d .estate-card-item-title {
  height: 100px;
}

.estate-card-1d .estate-card-item-desc {
  height: 100px;
}

/* 1d区域小标题在全局基础上再减少10% */
.estate-card-1d .estate-card-item-title p {
  font-size: 14px;
  /* 16px * 0.9 ≈ 14px */
  line-height: 24px;
  /* 27px * 0.9 ≈ 24px */
}

/* 页中1区下方标题区域 */
.estate-section-after-1-title {
  width: 100%;
  margin-top: 120px;
  /* 距离页中1区底边120px */
  text-align: center;
}

/* PC端文字 - PC端显示 */
.estate-section-after-1-title-pc {
  display: block;
}

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

.estate-section-after-1-title-line {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 54px;
  color: #0070D2;
  margin: 0;
}

/* 页中2区 */
.estate-section-2 {
  width: 100%;
  height: 2720px;
  margin-top: 100px;
  /* 距离"Choose us"下底边100px */
  display: flex;
  flex-direction: column;
}

.estate-section-2-row {
  width: 100%;
  height: 680px;
  /* 2720px / 4 = 680px */
  display: flex;
  flex-direction: row;
}

.estate-section-2-col {
  width: 50%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 24px;
  font-weight: bold;
  color: #333;
}

/* 页中2区图片样式 */
.estate-section-2-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* 包含图片的列样式调整 */
.estate-section-2-a-left,
.estate-section-2-b-right,
.estate-section-2-c-left,
.estate-section-2-d-right {
  padding: 0;
  overflow: hidden;
  align-items: stretch;
}

/* 让不动产第二部分的图片容器也撑满列，避免左右出现空隙 */
.estate-section-2-col picture {
  width: 100%;
  height: 100%;
  display: block;
}

/* 页中2区文字内容样式 */
.estate-section-2-content {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.estate-section-2-title-area {
  position: absolute;
  top: 168px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  width: 100%;
}

.estate-section-2-title-line {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 54px;
  color: #0070D2;
  margin: 0;
  white-space: nowrap;
}

.estate-section-2-text-area {
  position: absolute;
  top: calc(168px + 54px + 54px + 100px);
  /* 标题区上顶边168px + 两行标题高度(54px*2) + 间距100px */
  left: 50%;
  transform: translateX(-50%);
  width: 480px;
  text-align: left;
}

.estate-section-2-text {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 34px;
  color: #0070D2;
  margin: 0;
}

/* 临时颜色区分已移除，所有区域现在都有图片或文字内容 */

/* 1b区域第三个item特殊样式 */
.estate-card-1b .estate-card-item-3 {
  height: 49px;
  margin-top: 10px;
}

.estate-card-1b .estate-card-item-3 .estate-card-item-title {
  height: 49px;
}

.estate-card-1b .estate-card-item-3 .estate-card-item-desc {
  height: 49px;
}