@charset "utf-8";
/* CSS Document */

/* ============================================================
  全局变量 & 基础重置
============================================================ */
*, 
*::before, 
*::after{box-sizing: border-box;margin: 0;padding: 0;}
/* 动画增强：当系统用户开启了“减弱动态效果”时，关闭所有过渡动画 */
@media (prefers-reduced-motion: reduce){*{transition: none !important;}}
html{overflow-x: hidden;scroll-behavior: smooth;}  

/* ===== Design tokens（集中管理间距与颜色） ===== */
:root{
  --spacing-4: 4px;
  --spacing-6: 6px;
  --spacing-8: 8px;
  --spacing-12: 12px;
  --spacing-14: 14px;
  --spacing-16: 16px;
  --spacing-18: 18px;
  --spacing-20: 20px;
  --spacing-22: 22px;
  --spacing-24: 24px;
  --spacing-28: 28px;
  --spacing-32: 32px;
  --spacing-40: 40px;
  --spacing-48: 48px;
  --spacing-56: 56px;
  --spacing-64: 64px;
  --spacing-72: 72px;
  --spacing-80: 80px;
  --spacing-88: 88px;
  --spacing-96: 96px;
  --spacing-104: 104px;
  --spacing-112: 112px;
  --spacing-128: 128px;
  --spacing-144: 144px;
  --spacing-160: 160px;
  --spacing-200: 200px;
  --spacing-240: 240px;
  --spacing-480: 480px;
  /* --spacing-296: 296px; */
  --spacing-800: 800px;
  /* --spacing-880: 880px; */
  --spacing-2180: 2180px;

  --spacing--200: -200px;
  /* --size-18: 18px;
  --size-20: 20px;
  --size-22: 22px;
  --size-24: 24px;
  --size-28: 28px;
  --size-32: 32px;
  --size-40: 40px;
  --size-48: 48px;
  --size-56: 56px;
  --size-64: 64px;
  --size-72: 72px; */
}
@media only screen and (min-width: 320px) and (max-width: 768px){
  :root{
    --spacing-4: clamp(1.71px, calc(0.5333vw), 4.10px);
    --spacing-6: clamp(2.56px, calc(0.8000vw), 6.14px);
    --spacing-8: clamp(3.41px, calc(1.0667vw), 8.19px);
    --spacing-12: clamp(5.12px, calc(1.6000vw), 12.29px);
    --spacing-14: clamp(5.97px, calc(1.8667vw), 14.34px);
    --spacing-16: clamp(6.83px, calc(2.1333vw), 16.38px);
    --spacing-18: clamp(7.68px, calc(2.4000vw), 18.43px);
    --spacing-20: clamp(8.53px, calc(2.6667vw), 20.48px);
    --spacing-22: clamp(9.39px, calc(2.9333vw), 22.53px);
    --spacing-24: clamp(10.24px, calc(3.2000vw), 24.58px);
    --spacing-28: clamp(11.95px, calc(3.7333vw), 28.67px);
    --spacing-32: clamp(13.65px, calc(4.2667vw), 32.77px);
    --spacing-40: clamp(17.07px, calc(5.3333vw), 40.96px);
    --spacing-48: clamp(20.48px, calc(6.4000vw), 49.15px);
    --spacing-56: clamp(23.89px, calc(7.4667vw), 57.34px);
    --spacing-64: clamp(27.31px, calc(8.5333vw), 65.54px);
    --spacing-72: clamp(30.72px, calc(9.6000vw), 73.73px);
    --spacing-80: clamp(34.13px, calc(10.6667vw), 81.92px);
    --spacing-88: clamp(37.55px, calc(11.7333vw), 90.11px);
    --spacing-96: clamp(40.96px, calc(12.8000vw), 98.30px);
    --spacing-104: clamp(44.37px, calc(13.8667vw), 106.50px);
    --spacing-112: clamp(47.79px, calc(14.9333vw - 0.00px), 114.69px);
    --spacing-128: clamp(54.61px, calc(17.0667vw), 131.07px);
    --spacing-144: clamp(61.44px, calc(19.2000vw + 0.00px), 147.46px);
    --spacing-160: clamp(68.27px, calc(21.3333vw + 0.00px), 163.84px);
    --spacing-200: clamp(85.33px, calc(26.6667vw + 0.00px), 204.80px);
    --spacing-240: clamp(102.40px, calc(32.0000vw + 0.00px), 245.76px);
    --spacing-480: clamp(204.80px, calc(64.0000vw + 0.00px), 491.52px);
    /* --spacing-296: clamp(252.59px, calc(78.9333vw + 0.00px), 606.21px); */
    --spacing-800: clamp(341.33px, calc(106.6667vw + 0.00px), 819.20px);
    /* --spacing-880: clamp(47.79px, calc(14.9333vw - 0.00px), 114.69px); */
    --spacing-2180: clamp(930.13px, calc(290.6667vw + 0.00px), 2232.32px);

    --spacing--200: clamp(-85.33px, calc(26.6667vw + 0.00px), -204.80px);
    /* --size-18: max(16px, clamp(7.68px, calc(2.4000vw), 18.43px));
    --size-20: max(18px, clamp(8.53px, calc(2.6667vw), 20.48px));
    --size-22: max(20px, clamp(9.39px, calc(2.9333vw), 22.53px));
    --size-24: max(20px, clamp(10.24px, calc(3.2000vw), 24.58px));
    --size-28: max(24px, clamp(11.95px, calc(3.7333vw), 28.67px));
    --size-32: max(28px, clamp(13.65px, calc(4.2667vw), 32.77px));
    --size-40: max(24px, clamp(17.07px, calc(5.3333vw), 40.96px));
    --size-48: max(40px, clamp(20.48px, calc(6.4000vw), 49.15px));
    --size-56: max(48px, clamp(23.89px, calc(7.4667vw), 57.34px));
    --size-64: max(56px, clamp(27.31px, calc(8.5333vw), 65.54px));
    --size-72: max(64px, clamp(30.72px, calc(9.6000vw), 73.73px)); */
  }
}

body{
  min-width: 320px;margin: 0 auto;
  font-family: "Noto Sans JP Local","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif;
  font-optical-sizing: auto;
  font-style: normal;font-size: 16px;/* font-weight: 400; *//* line-height: 1.6; */
  overflow-x: clip; /* 现代浏览器 */
}

.serif{font-family:"Noto Serif JP Local","Hiragino Mincho ProN","Yu Mincho","MS Mincho",serif;}

/* ============================================================ */

ul{list-style:none;}
a{
  border: none;
  outline: none;
  box-shadow: none;
  text-decoration: none; /* 去除下划线 */
  color: inherit;        /* 继承父元素的字体颜色 */
  background: none;      /* 去除背景 */
}
a:hover,
a:focus{
  color: inherit;         /* 鼠标悬停或聚焦时也继承父元素的字体颜色 */
  text-decoration: none;  /* 鼠标悬停或聚焦时去除下划线 */
}
/* 完全去掉 <button> 元素的默认样式 */
button{
  background: none;   /* 去除背景 */
  border: none;       /* 去除边框 */
  padding: 0;         /* 去除内边距 */
  margin: 0;
  font: inherit;      /* 继承字体样式 */
  color: inherit;     /* 继承字体颜色 */
  outline: inherit;   /* 继承轮廓样式 */
  cursor: pointer;    /* 添加鼠标指针样式 */
}
/* a, button, [tabindex], [data-cursor-hover]{
  cursor: none;
} */

picture{width: 100%;display: block;}
img{width:100%;max-width:100%;height:auto;display:block;}
.visually-hidden{
  position: absolute;width: 1px;height: 1px;overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);white-space: nowrap;border: 0;
}

/* table{width: 100%;border-collapse: collapse;}
th, td{
  padding: var(--spacing-12) var(--spacing-8);
  vertical-align: middle;border: var(--border-md)
} */

/* ============================================================ */

.reversed{direction: rtl;}
.reversed > *{direction: ltr;} /* 防止文本也变成 RTL */

@media screen and (max-width: 768px) {.u-show--mobile-only {display: none;}}
@media screen and (min-width: 769px) {.u-show--desktop-only {display: none;}}