@charset "UTF-8";
*{ margin: 0; padding: 0; outline: none;}
a:focus {
  -moz-outline-style: none;
  outline: none;
}
ul,
ol {
  list-style: none;
}
a {
  text-decoration: none;
}
fieldset,
img {
  border: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.clearfix {
  display: inline-block;
  display: block;
  zoom: 1;
}
:root {
  --animate-delay: 0.5s;
}
@font-face {
  font-family: "lineseedjp_otf_rg";
  src: url("../font/lineseedjp_otf_rg.otf");
}
@font-face {
  font-family: "lineseedjp_otf";
  src: url("../font/lineseedjp_otf.otf");
}

body { position: relative; overflow-x: hidden; font-family: 'lineseedjp_otf_rg'; color: #333; font-size: 18px; line-height: 36px;}

/* 动画通用类 */
.fade-in {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.fade-in.active {
  opacity: 1;
  transform: translateY(0);
}

.fade-up {
  opacity: 1;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.fade-up.active {
  opacity: 1;
  transform: translateY(0);
}

.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }
.delay-4 { transition-delay: 0.4s; }
.delay-5 { transition-delay: 0.5s; }
