/* 株式会社ナリモノ（架空）｜TERASU ご提案デモ ver17 */
.nm-container-2 {
  position: absolute;
}
.nm-container-5 {
  display: block;
  overflow: hidden;
}
.nm-container-5 > span {
  display: block;
  transform: translateY(100%);
  transition: transform 0.6s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.nm-container-5[data-has-scale="true"] > span {
  transform: translateY(100%) scale(1.05);
}
.nm-container-5[data-is-visible="true"] > span {
  transform: translateY(0) scale(1);
  transition: transform 0.6s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.nm-t {
  font-family: var(--ja-bold-font);
  font-weight: 700;
  font-feature-settings: "palt";
  letter-spacing: 0.02em;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="8"] {
  font-size: 8px;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="10"] {
  font-size: 10px;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="11"] {
  font-size: 11px;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="12"] {
  font-size: 12px;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="13"] {
  font-size: 13px;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="14"] {
  font-size: 14px;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="15"] {
  font-size: 15px;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="16"] {
  font-size: 16px;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="18"] {
  font-size: 18px;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="20"] {
  font-size: 20px;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="22"] {
  font-size: 22px;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="23"] {
  font-size: 23px;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="24"] {
  font-size: 24px;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="26"] {
  font-size: 26px;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="30"] {
  font-size: 30px;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="34"] {
  font-size: 34px;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="36"] {
  font-size: 36px;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="40"] {
  font-size: 40px;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="45"] {
  font-size: 45px;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="48"] {
  font-size: 48px;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="50"] {
  font-size: 50px;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="56"] {
  font-size: 56px;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="60"] {
  font-size: 60px;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="80"] {
  font-size: 80px;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="100"] {
  font-size: 100px;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="160"] {
  font-size: 160px;
}
.nm-t[data-mq-xs="true"][data-xs-font-size="300"] {
  font-size: 300px;
}
.nm-t[data-mq-xs="true"][data-xs-font-color="primary"] {
  color: var(--primary-color);
}
.nm-t[data-mq-xs="true"][data-xs-font-color="secondary"] {
  color: var(--secondary-color);
}
.nm-t[data-mq-xs="true"][data-xs-font-color="tertiary"] {
  color: var(--tertiary-color);
}
.nm-t[data-mq-xs="true"][data-xs-font-color="quaternary"] {
  color: var(--quaternary-color);
}
.nm-t[data-mq-xs="true"][data-xs-font-color="quinary"] {
  color: var(--quinary-color);
}
.nm-t[data-mq-xs="true"][data-xs-font-color="senary"] {
  color: var(--senary-color);
}
.nm-t[data-mq-xs="true"][data-xs-font-color="septenary"] {
  color: var(--septenary-color);
}
.nm-t[data-mq-xs="true"][data-xs-font-color="octonary"] {
  color: var(--octonary-color);
}
.nm-t[data-mq-xs="true"][data-xs-font-weight="400"] {
  font-weight: 400;
}
.nm-t[data-mq-xs="true"][data-xs-font-weight="600"] {
  font-weight: 600;
}
.nm-t[data-mq-xs="true"][data-xs-font-weight="700"] {
  font-weight: 700;
}
.nm-t[data-mq-xs="true"][data-xs-font-weight="normal"] {
  font-weight: 400;
}
.nm-t[data-mq-xs="true"][data-xs-font-weight="bold"] {
  font-weight: 700;
}
.nm-t[data-mq-xs="true"][data-xs-line-height="0"] {
  line-height: 0;
}
.nm-t[data-mq-xs="true"][data-xs-line-height="1"] {
  line-height: 1;
}
.nm-t[data-mq-xs="true"][data-xs-line-height="1.2"] {
  line-height: 1.2;
}
.nm-t[data-mq-xs="true"][data-xs-line-height="1.3"] {
  line-height: 1.3;
}
.nm-t[data-mq-xs="true"][data-xs-line-height="1.5"] {
  line-height: 1.5;
}
.nm-t[data-mq-xs="true"][data-xs-line-height="1.7"] {
  line-height: 1.7;
}
.nm-t[data-mq-xs="true"][data-xs-line-height="2"] {
  line-height: 2;
}
.nm-t[data-mq-xs="true"][data-xs-letter-spacing="0.01"] {
  letter-spacing: 0.01em;
}
.nm-t[data-mq-xs="true"][data-xs-letter-spacing="0.02"] {
  letter-spacing: 0.02em;
}
.nm-t[data-mq-xs="true"][data-xs-letter-spacing="0.05"] {
  letter-spacing: 0.05em;
}
@media screen and (min-width: 576px) {
  .nm-t[data-mq-sm="true"][data-sm-font-size="8"] {
    font-size: 8px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-size="10"] {
    font-size: 10px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-size="11"] {
    font-size: 11px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-size="12"] {
    font-size: 12px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-size="13"] {
    font-size: 13px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-size="14"] {
    font-size: 14px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-size="15"] {
    font-size: 15px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-size="16"] {
    font-size: 16px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-size="18"] {
    font-size: 18px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-size="20"] {
    font-size: 20px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-size="22"] {
    font-size: 22px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-size="23"] {
    font-size: 23px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-size="24"] {
    font-size: 24px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-size="26"] {
    font-size: 26px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-size="30"] {
    font-size: 30px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-size="34"] {
    font-size: 34px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-size="36"] {
    font-size: 36px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-size="40"] {
    font-size: 40px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-size="45"] {
    font-size: 45px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-size="48"] {
    font-size: 48px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-size="50"] {
    font-size: 50px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-size="56"] {
    font-size: 56px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-size="60"] {
    font-size: 60px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-size="80"] {
    font-size: 80px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-size="100"] {
    font-size: 100px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-size="160"] {
    font-size: 160px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-size="300"] {
    font-size: 300px;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-color="primary"] {
    color: var(--primary-color);
  }
  .nm-t[data-mq-sm="true"][data-sm-font-color="secondary"] {
    color: var(--secondary-color);
  }
  .nm-t[data-mq-sm="true"][data-sm-font-color="tertiary"] {
    color: var(--tertiary-color);
  }
  .nm-t[data-mq-sm="true"][data-sm-font-color="quaternary"] {
    color: var(--quaternary-color);
  }
  .nm-t[data-mq-sm="true"][data-sm-font-color="quinary"] {
    color: var(--quinary-color);
  }
  .nm-t[data-mq-sm="true"][data-sm-font-color="senary"] {
    color: var(--senary-color);
  }
  .nm-t[data-mq-sm="true"][data-sm-font-color="septenary"] {
    color: var(--septenary-color);
  }
  .nm-t[data-mq-sm="true"][data-sm-font-color="octonary"] {
    color: var(--octonary-color);
  }
  .nm-t[data-mq-sm="true"][data-sm-font-weight="400"] {
    font-weight: 400;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-weight="600"] {
    font-weight: 600;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-weight="700"] {
    font-weight: 700;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-weight="normal"] {
    font-weight: 400;
  }
  .nm-t[data-mq-sm="true"][data-sm-font-weight="bold"] {
    font-weight: 700;
  }
  .nm-t[data-mq-sm="true"][data-sm-line-height="0"] {
    line-height: 0;
  }
  .nm-t[data-mq-sm="true"][data-sm-line-height="1"] {
    line-height: 1;
  }
  .nm-t[data-mq-sm="true"][data-sm-line-height="1.2"] {
    line-height: 1.2;
  }
  .nm-t[data-mq-sm="true"][data-sm-line-height="1.3"] {
    line-height: 1.3;
  }
  .nm-t[data-mq-sm="true"][data-sm-line-height="1.5"] {
    line-height: 1.5;
  }
  .nm-t[data-mq-sm="true"][data-sm-line-height="1.7"] {
    line-height: 1.7;
  }
  .nm-t[data-mq-sm="true"][data-sm-line-height="2"] {
    line-height: 2;
  }
  .nm-t[data-mq-sm="true"][data-sm-letter-spacing="0.01"] {
    letter-spacing: 0.01em;
  }
  .nm-t[data-mq-sm="true"][data-sm-letter-spacing="0.02"] {
    letter-spacing: 0.02em;
  }
  .nm-t[data-mq-sm="true"][data-sm-letter-spacing="0.05"] {
    letter-spacing: 0.05em;
  }
}
@media screen and (min-width: 768px) {
  .nm-t[data-mq-md="true"][data-md-font-size="8"] {
    font-size: 8px;
  }
  .nm-t[data-mq-md="true"][data-md-font-size="10"] {
    font-size: 10px;
  }
  .nm-t[data-mq-md="true"][data-md-font-size="11"] {
    font-size: 11px;
  }
  .nm-t[data-mq-md="true"][data-md-font-size="12"] {
    font-size: 12px;
  }
  .nm-t[data-mq-md="true"][data-md-font-size="13"] {
    font-size: 13px;
  }
  .nm-t[data-mq-md="true"][data-md-font-size="14"] {
    font-size: 14px;
  }
  .nm-t[data-mq-md="true"][data-md-font-size="15"] {
    font-size: 15px;
  }
  .nm-t[data-mq-md="true"][data-md-font-size="16"] {
    font-size: 16px;
  }
  .nm-t[data-mq-md="true"][data-md-font-size="18"] {
    font-size: 18px;
  }
  .nm-t[data-mq-md="true"][data-md-font-size="20"] {
    font-size: 20px;
  }
  .nm-t[data-mq-md="true"][data-md-font-size="22"] {
    font-size: 22px;
  }
  .nm-t[data-mq-md="true"][data-md-font-size="23"] {
    font-size: 23px;
  }
  .nm-t[data-mq-md="true"][data-md-font-size="24"] {
    font-size: 24px;
  }
  .nm-t[data-mq-md="true"][data-md-font-size="26"] {
    font-size: 26px;
  }
  .nm-t[data-mq-md="true"][data-md-font-size="30"] {
    font-size: 30px;
  }
  .nm-t[data-mq-md="true"][data-md-font-size="34"] {
    font-size: 34px;
  }
  .nm-t[data-mq-md="true"][data-md-font-size="36"] {
    font-size: 36px;
  }
  .nm-t[data-mq-md="true"][data-md-font-size="40"] {
    font-size: 40px;
  }
  .nm-t[data-mq-md="true"][data-md-font-size="45"] {
    font-size: 45px;
  }
  .nm-t[data-mq-md="true"][data-md-font-size="48"] {
    font-size: 48px;
  }
  .nm-t[data-mq-md="true"][data-md-font-size="50"] {
    font-size: 50px;
  }
  .nm-t[data-mq-md="true"][data-md-font-size="56"] {
    font-size: 56px;
  }
  .nm-t[data-mq-md="true"][data-md-font-size="60"] {
    font-size: 60px;
  }
  .nm-t[data-mq-md="true"][data-md-font-size="80"] {
    font-size: 80px;
  }
  .nm-t[data-mq-md="true"][data-md-font-size="100"] {
    font-size: 100px;
  }
  .nm-t[data-mq-md="true"][data-md-font-size="160"] {
    font-size: 160px;
  }
  .nm-t[data-mq-md="true"][data-md-font-size="300"] {
    font-size: 300px;
  }
  .nm-t[data-mq-md="true"][data-md-font-color="primary"] {
    color: var(--primary-color);
  }
  .nm-t[data-mq-md="true"][data-md-font-color="secondary"] {
    color: var(--secondary-color);
  }
  .nm-t[data-mq-md="true"][data-md-font-color="tertiary"] {
    color: var(--tertiary-color);
  }
  .nm-t[data-mq-md="true"][data-md-font-color="quaternary"] {
    color: var(--quaternary-color);
  }
  .nm-t[data-mq-md="true"][data-md-font-color="quinary"] {
    color: var(--quinary-color);
  }
  .nm-t[data-mq-md="true"][data-md-font-color="senary"] {
    color: var(--senary-color);
  }
  .nm-t[data-mq-md="true"][data-md-font-color="septenary"] {
    color: var(--septenary-color);
  }
  .nm-t[data-mq-md="true"][data-md-font-color="octonary"] {
    color: var(--octonary-color);
  }
  .nm-t[data-mq-md="true"][data-md-font-weight="400"] {
    font-weight: 400;
  }
  .nm-t[data-mq-md="true"][data-md-font-weight="600"] {
    font-weight: 600;
  }
  .nm-t[data-mq-md="true"][data-md-font-weight="700"] {
    font-weight: 700;
  }
  .nm-t[data-mq-md="true"][data-md-font-weight="normal"] {
    font-weight: 400;
  }
  .nm-t[data-mq-md="true"][data-md-font-weight="bold"] {
    font-weight: 700;
  }
  .nm-t[data-mq-md="true"][data-md-line-height="0"] {
    line-height: 0;
  }
  .nm-t[data-mq-md="true"][data-md-line-height="1"] {
    line-height: 1;
  }
  .nm-t[data-mq-md="true"][data-md-line-height="1.2"] {
    line-height: 1.2;
  }
  .nm-t[data-mq-md="true"][data-md-line-height="1.3"] {
    line-height: 1.3;
  }
  .nm-t[data-mq-md="true"][data-md-line-height="1.5"] {
    line-height: 1.5;
  }
  .nm-t[data-mq-md="true"][data-md-line-height="1.7"] {
    line-height: 1.7;
  }
  .nm-t[data-mq-md="true"][data-md-line-height="2"] {
    line-height: 2;
  }
  .nm-t[data-mq-md="true"][data-md-letter-spacing="0.01"] {
    letter-spacing: 0.01em;
  }
  .nm-t[data-mq-md="true"][data-md-letter-spacing="0.02"] {
    letter-spacing: 0.02em;
  }
  .nm-t[data-mq-md="true"][data-md-letter-spacing="0.05"] {
    letter-spacing: 0.05em;
  }
}
@media screen and (min-width: 992px) {
  .nm-t[data-mq-lg="true"][data-lg-font-size="8"] {
    font-size: 8px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-size="10"] {
    font-size: 10px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-size="11"] {
    font-size: 11px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-size="12"] {
    font-size: 12px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-size="13"] {
    font-size: 13px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-size="14"] {
    font-size: 14px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-size="15"] {
    font-size: 15px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-size="16"] {
    font-size: 16px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-size="18"] {
    font-size: 18px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-size="20"] {
    font-size: 20px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-size="22"] {
    font-size: 22px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-size="23"] {
    font-size: 23px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-size="24"] {
    font-size: 24px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-size="26"] {
    font-size: 26px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-size="30"] {
    font-size: 30px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-size="34"] {
    font-size: 34px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-size="36"] {
    font-size: 36px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-size="40"] {
    font-size: 40px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-size="45"] {
    font-size: 45px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-size="48"] {
    font-size: 48px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-size="50"] {
    font-size: 50px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-size="56"] {
    font-size: 56px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-size="60"] {
    font-size: 60px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-size="80"] {
    font-size: 80px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-size="100"] {
    font-size: 100px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-size="160"] {
    font-size: 160px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-size="300"] {
    font-size: 300px;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-color="primary"] {
    color: var(--primary-color);
  }
  .nm-t[data-mq-lg="true"][data-lg-font-color="secondary"] {
    color: var(--secondary-color);
  }
  .nm-t[data-mq-lg="true"][data-lg-font-color="tertiary"] {
    color: var(--tertiary-color);
  }
  .nm-t[data-mq-lg="true"][data-lg-font-color="quaternary"] {
    color: var(--quaternary-color);
  }
  .nm-t[data-mq-lg="true"][data-lg-font-color="quinary"] {
    color: var(--quinary-color);
  }
  .nm-t[data-mq-lg="true"][data-lg-font-color="senary"] {
    color: var(--senary-color);
  }
  .nm-t[data-mq-lg="true"][data-lg-font-color="septenary"] {
    color: var(--septenary-color);
  }
  .nm-t[data-mq-lg="true"][data-lg-font-color="octonary"] {
    color: var(--octonary-color);
  }
  .nm-t[data-mq-lg="true"][data-lg-font-weight="400"] {
    font-weight: 400;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-weight="600"] {
    font-weight: 600;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-weight="700"] {
    font-weight: 700;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-weight="normal"] {
    font-weight: 400;
  }
  .nm-t[data-mq-lg="true"][data-lg-font-weight="bold"] {
    font-weight: 700;
  }
  .nm-t[data-mq-lg="true"][data-lg-line-height="0"] {
    line-height: 0;
  }
  .nm-t[data-mq-lg="true"][data-lg-line-height="1"] {
    line-height: 1;
  }
  .nm-t[data-mq-lg="true"][data-lg-line-height="1.2"] {
    line-height: 1.2;
  }
  .nm-t[data-mq-lg="true"][data-lg-line-height="1.3"] {
    line-height: 1.3;
  }
  .nm-t[data-mq-lg="true"][data-lg-line-height="1.5"] {
    line-height: 1.5;
  }
  .nm-t[data-mq-lg="true"][data-lg-line-height="1.7"] {
    line-height: 1.7;
  }
  .nm-t[data-mq-lg="true"][data-lg-line-height="2"] {
    line-height: 2;
  }
  .nm-t[data-mq-lg="true"][data-lg-letter-spacing="0.01"] {
    letter-spacing: 0.01em;
  }
  .nm-t[data-mq-lg="true"][data-lg-letter-spacing="0.02"] {
    letter-spacing: 0.02em;
  }
  .nm-t[data-mq-lg="true"][data-lg-letter-spacing="0.05"] {
    letter-spacing: 0.05em;
  }
}
@media screen and (min-width: 1200px) {
  .nm-t[data-mq-xl="true"][data-xl-font-size="8"] {
    font-size: 8px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-size="10"] {
    font-size: 10px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-size="11"] {
    font-size: 11px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-size="12"] {
    font-size: 12px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-size="13"] {
    font-size: 13px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-size="14"] {
    font-size: 14px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-size="15"] {
    font-size: 15px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-size="16"] {
    font-size: 16px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-size="18"] {
    font-size: 18px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-size="20"] {
    font-size: 20px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-size="22"] {
    font-size: 22px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-size="23"] {
    font-size: 23px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-size="24"] {
    font-size: 24px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-size="26"] {
    font-size: 26px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-size="30"] {
    font-size: 30px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-size="34"] {
    font-size: 34px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-size="36"] {
    font-size: 36px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-size="40"] {
    font-size: 40px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-size="45"] {
    font-size: 45px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-size="48"] {
    font-size: 48px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-size="50"] {
    font-size: 50px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-size="56"] {
    font-size: 56px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-size="60"] {
    font-size: 60px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-size="80"] {
    font-size: 80px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-size="100"] {
    font-size: 100px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-size="160"] {
    font-size: 160px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-size="300"] {
    font-size: 300px;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-color="primary"] {
    color: var(--primary-color);
  }
  .nm-t[data-mq-xl="true"][data-xl-font-color="secondary"] {
    color: var(--secondary-color);
  }
  .nm-t[data-mq-xl="true"][data-xl-font-color="tertiary"] {
    color: var(--tertiary-color);
  }
  .nm-t[data-mq-xl="true"][data-xl-font-color="quaternary"] {
    color: var(--quaternary-color);
  }
  .nm-t[data-mq-xl="true"][data-xl-font-color="quinary"] {
    color: var(--quinary-color);
  }
  .nm-t[data-mq-xl="true"][data-xl-font-color="senary"] {
    color: var(--senary-color);
  }
  .nm-t[data-mq-xl="true"][data-xl-font-color="septenary"] {
    color: var(--septenary-color);
  }
  .nm-t[data-mq-xl="true"][data-xl-font-color="octonary"] {
    color: var(--octonary-color);
  }
  .nm-t[data-mq-xl="true"][data-xl-font-weight="400"] {
    font-weight: 400;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-weight="600"] {
    font-weight: 600;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-weight="700"] {
    font-weight: 700;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-weight="normal"] {
    font-weight: 400;
  }
  .nm-t[data-mq-xl="true"][data-xl-font-weight="bold"] {
    font-weight: 700;
  }
  .nm-t[data-mq-xl="true"][data-xl-line-height="0"] {
    line-height: 0;
  }
  .nm-t[data-mq-xl="true"][data-xl-line-height="1"] {
    line-height: 1;
  }
  .nm-t[data-mq-xl="true"][data-xl-line-height="1.2"] {
    line-height: 1.2;
  }
  .nm-t[data-mq-xl="true"][data-xl-line-height="1.3"] {
    line-height: 1.3;
  }
  .nm-t[data-mq-xl="true"][data-xl-line-height="1.5"] {
    line-height: 1.5;
  }
  .nm-t[data-mq-xl="true"][data-xl-line-height="1.7"] {
    line-height: 1.7;
  }
  .nm-t[data-mq-xl="true"][data-xl-line-height="2"] {
    line-height: 2;
  }
  .nm-t[data-mq-xl="true"][data-xl-letter-spacing="0.01"] {
    letter-spacing: 0.01em;
  }
  .nm-t[data-mq-xl="true"][data-xl-letter-spacing="0.02"] {
    letter-spacing: 0.02em;
  }
  .nm-t[data-mq-xl="true"][data-xl-letter-spacing="0.05"] {
    letter-spacing: 0.05em;
  }
}
@media screen and (min-width: 1400px) {
  .nm-t[data-mq-xxl="true"][data-xxl-font-color="primary"] {
    color: var(--primary-color);
  }
  .nm-t[data-mq-xxl="true"][data-xxl-font-color="secondary"] {
    color: var(--secondary-color);
  }
  .nm-t[data-mq-xxl="true"][data-xxl-font-color="tertiary"] {
    color: var(--tertiary-color);
  }
  .nm-t[data-mq-xxl="true"][data-xxl-font-color="quaternary"] {
    color: var(--quaternary-color);
  }
  .nm-t[data-mq-xxl="true"][data-xxl-font-color="quinary"] {
    color: var(--quinary-color);
  }
  .nm-t[data-mq-xxl="true"][data-xxl-font-color="senary"] {
    color: var(--senary-color);
  }
  .nm-t[data-mq-xxl="true"][data-xxl-font-color="septenary"] {
    color: var(--septenary-color);
  }
  .nm-t[data-mq-xxl="true"][data-xxl-font-color="octonary"] {
    color: var(--octonary-color);
  }
  .nm-t[data-mq-xxl="true"][data-xxl-font-weight="400"] {
    font-weight: 400;
  }
  .nm-t[data-mq-xxl="true"][data-xxl-font-weight="600"] {
    font-weight: 600;
  }
  .nm-t[data-mq-xxl="true"][data-xxl-font-weight="700"] {
    font-weight: 700;
  }
  .nm-t[data-mq-xxl="true"][data-xxl-font-weight="normal"] {
    font-weight: 400;
  }
  .nm-t[data-mq-xxl="true"][data-xxl-font-weight="bold"] {
    font-weight: 700;
  }
  .nm-t[data-mq-xxl="true"][data-xxl-line-height="0"] {
    line-height: 0;
  }
  .nm-t[data-mq-xxl="true"][data-xxl-line-height="1"] {
    line-height: 1;
  }
  .nm-t[data-mq-xxl="true"][data-xxl-line-height="1.2"] {
    line-height: 1.2;
  }
  .nm-t[data-mq-xxl="true"][data-xxl-line-height="1.3"] {
    line-height: 1.3;
  }
  .nm-t[data-mq-xxl="true"][data-xxl-line-height="1.5"] {
    line-height: 1.5;
  }
  .nm-t[data-mq-xxl="true"][data-xxl-line-height="1.7"] {
    line-height: 1.7;
  }
  .nm-t[data-mq-xxl="true"][data-xxl-line-height="2"] {
    line-height: 2;
  }
  .nm-t[data-mq-xxl="true"][data-xxl-letter-spacing="0.01"] {
    letter-spacing: 0.01em;
  }
  .nm-t[data-mq-xxl="true"][data-xxl-letter-spacing="0.02"] {
    letter-spacing: 0.02em;
  }
  .nm-t[data-mq-xxl="true"][data-xxl-letter-spacing="0.05"] {
    letter-spacing: 0.05em;
  }
}
.nm-t[data-font-family="ja-bold-font"] {
  font-family: var(--ja-bold-font);
  font-weight: 700;
}
.nm-t[data-font-family="ja-regular-font"] {
  font-family: var(--ja-regular-font);
  font-weight: 400;
}
.nm-t[data-font-family="en-demibold-font"] {
  font-family: var(--en-demibold-font);
  font-weight: 600;
}
.nm-container-9 {
  align-items: center;
  aspect-ratio: 1/1;
  border-radius: 100%;
  display: flex;
  justify-content: center;
  position: relative;
  text-align: center;
  transition: color 0.4s ease-in;
  width: 100px;
}
@media screen and (min-width: 768px) {
  .nm-container-9 {
    width: 150px;
  }
}
@media (hover) {
  .nm-container-9:hover {
    color: var(--primary-color) !important;
    cursor: pointer;
  }
  .nm-container-9:hover:before {
    transform: scale(1.2);
  }
}
.nm-container-9:before {
  background-color: var(--tertiary-color);
  border-radius: 100%;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  width: 100%;
  z-index: 1;
}
.nm-container-9 > span {
  z-index: 2;
}
.nm-container-10 {
  align-items: center;
  background-color: var(--tertiary-color);
  border-radius: 100px;
  display: flex;
  flex-wrap: wrap;
  height: 30px;
  justify-content: center;
  position: relative;
  width: 150px;
}
@media screen and (min-width: 768px) {
  .nm-container-10 {
    height: 40px;
    width: 180px;
  }
}
@media (hover) {
  .nm-container-10:hover .nm-wrap:before {
    transform: translateY(-100%);
  }
  .nm-container-10:hover .nm-wrap:after {
    transform: translateY(0);
  }
  .nm-container-10:hover .nm-view {
    transform: translateY(-100%);
  }
  .nm-container-10:hover .nm-hover {
    transform: translateY(0);
  }
}
.nm-wrap {
  align-items: center;
  display: flex;
  height: 18px;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
  width: 100%;
}
.nm-wrap[data-has-arrow="true"]:after,
.nm-wrap[data-has-arrow="true"]:before {
  content: "";
  height: 100%;
  position: absolute;
  right: 11px;
  top: 0;
  transition: transform 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.07s;
  width: 8px;
}
@media screen and (min-width: 768px) {
  .nm-wrap[data-has-arrow="true"]:after,
  .nm-wrap[data-has-arrow="true"]:before {
    right: 16px;
  }
}
.nm-wrap[data-has-arrow="true"]:after {
  transform: translateY(100%);
}
.nm-hover,
.nm-view {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  transition: transform 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  width: 100%;
}
.nm-hover {
  left: 0;
  position: absolute;
  speak: none;
  top: 0;
  transform: translateY(100%);
}
.nm-container-15 {
  bottom: 0;
  left: 0;
  padding-top: 5px;
  position: absolute;
  transform: translateY(100%);
  width: 100%;
}
.nm-container-16 {
  align-content: start;
  display: grid;
  gap: 5px;
  grid-auto-flow: column;
  grid-template-columns: auto auto;
  grid-template-rows: auto;
  justify-content: start;
}
.nm-container-17 {
  margin-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .nm-container-17 {
    margin-bottom: 60px;
  }
}
.nm-container-18 {
  pointer-events: none;
  position: relative;
}
@keyframes nm-circle {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(0);
  }
  to {
    transform: scale(1);
  }
}
.nm-container-19 {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.nm-container-19[data-has-inner="false"] {
  width: 85%;
}
.nm-container-19[data-has-inner="true"] > .nm-inner {
  margin-left: auto;
  margin-right: auto;
  width: 85%;
}
@media screen and (min-width: 768px) {
  .nm-container-19[data-has-inner="false"][data-md-size="xs"] {
    max-width: var(--md-contents-size-xs);
  }
  .nm-container-19[data-has-inner="false"][data-md-size="sm"] {
    max-width: var(--md-contents-size-sm);
    width: 58%;
  }
  .nm-container-19[data-has-inner="false"][data-md-size="md"] {
    max-width: var(--md-contents-size-md);
    width: 63%;
  }
  .nm-container-19[data-has-inner="false"][data-md-size="lg"] {
    max-width: var(--md-contents-size-lg);
    width: 74%;
  }
  .nm-container-19[data-has-inner="false"][data-md-size="xl"] {
    max-width: var(--md-contents-size-xl);
    width: 89%;
  }
  .nm-container-19[data-has-inner="true"][data-md-size="xs"] > .nm-inner {
    max-width: var(--md-contents-size-xs);
  }
  .nm-container-19[data-has-inner="true"][data-md-size="sm"] > .nm-inner {
    max-width: var(--md-contents-size-sm);
    width: 58%;
  }
  .nm-container-19[data-has-inner="true"][data-md-size="md"] > .nm-inner {
    max-width: var(--md-contents-size-md);
    width: 63%;
  }
  .nm-container-19[data-has-inner="true"][data-md-size="lg"] > .nm-inner {
    max-width: var(--md-contents-size-lg);
    width: 74%;
  }
  .nm-container-19[data-has-inner="true"][data-md-size="xl"] > .nm-inner {
    max-width: var(--md-contents-size-xl);
    width: 89%;
  }
}
.nm-container-20 {
  position: relative;
  width: 100%;
}
.nm-container-20 > form input[type="tel"],
.nm-container-20 > form input[type="text"] {
  background-color: var(--tertiary-color);
  border: 1px solid #0000;
  border-radius: 3px;
  font-family: var(--ja-regular-font);
  font-weight: 400;
  font-size: 16px;
  height: 50px;
  padding: 0 15px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-container-20 > form input[type="tel"],
  .nm-container-20 > form input[type="text"] {
    height: 60px;
    padding: 0 30px;
  }
}
.nm-container-20 > form input[type="tel"][data-is-error="true"],
.nm-container-20 > form input[type="text"][data-is-error="true"] {
  border: 1px solid var(--octonary-color);
}
.nm-container-20 > form input[type="tel"][data-is-error="false"]:focus,
.nm-container-20 > form input[type="text"][data-is-error="false"]:focus {
  border: 1px solid var(--septenary-color);
}
.nm-container-20 > form input[type="tel"]::placeholder,
.nm-container-20 > form input[type="text"]::placeholder {
  color: var(--septenary-color);
}
.nm-container-20 > form textarea {
  background-color: var(--tertiary-color);
  border: 1px solid #0000;
  border-radius: 3px;
  font-family: var(--ja-regular-font);
  font-weight: 400;
  font-size: 16px;
  height: 280px;
  padding: 15px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-container-20 > form textarea {
    height: 400px;
    padding: 20px 30px;
  }
}
.nm-container-20 > form textarea[data-is-error="true"] {
  border: 1px solid var(--octonary-color);
}
.nm-container-20 > form textarea[data-is-error="false"]:focus {
  border: 1px solid var(--septenary-color);
}
.nm-container-20 > form textarea::placeholder {
  color: var(--septenary-color);
}
.nm-container-21 {
  display: flex;
  flex-direction: column;
  gap: 20px 0;
}
@media screen and (min-width: 768px) {
  .nm-container-21 {
    gap: 40px 0;
  }
}
.nm-container-21 > h2 br {
  display: none;
}
@media screen and (min-width: 768px) {
  .nm-container-21 > h2 br {
    display: inline;
  }
}
.nm-container-22 {
  align-items: center;
  display: flex;
  height: 560px;
  justify-content: center;
  position: sticky;
  top: 0;
  width: 100%;
}
.nm-container-22:before {
  background-color: var(--primary-color);
  bottom: 0;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .nm-container-22 {
    align-items: flex-start;
    height: 800px;
    justify-content: flex-start;
  }
}
.nm-beta {
  position: absolute;
}
.nm-beta,
.nm-beta img,
.nm-beta > div {
  height: 100%;
  width: 100%;
}
.nm-beta img {
  object-fit: cover;
  object-position: 50% top;
}
@keyframes nm-loop-text {
  0% {
    background-position: 0;
  }
  to {
    background-position: -342px;
  }
}
@keyframes nm-loop-text-md {
  0% {
    background-position: 0;
  }
  to {
    background-position: -495px;
  }
}
.nm-container-24 {
  display: flex;
  flex-direction: column;
  margin-left: auto;
  margin-right: auto;
  opacity: 0;
  width: 85%;
}
@media screen and (min-width: 768px) {
  .nm-container-24 {
    margin: auto 0;
    max-width: calc(620px + 13%);
    padding-left: 13%;
    width: 100%;
  }
}
.nm-container-24[data-is-visible="true"] {
  opacity: 1;
}
.nm-primary,
.nm-secondary,
.nm-tertiary {
  display: inline-block;
  overflow: hidden;
  position: relative;
}
.nm-primary > span,
.nm-secondary > span,
.nm-tertiary > span {
  display: inline-block;
}
.nm-primary > span {
  padding-top: 3px;
}
.nm-secondary {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .nm-secondary {
    margin-top: 40px;
  }
}
.nm-tertiary {
  margin-top: 10px;
}
.nm-container-25 {
  background-color: var(--quinary-color);
  border-radius: 30px;
  margin-top: 150px;
  padding-top: 80px;
}
@media screen and (min-width: 768px) {
  .nm-container-25 {
    border-radius: 100px;
    margin-top: 300px;
  }
}
.nm-inner-2 {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  width: 85%;
}
@media screen and (min-width: 768px) {
  .nm-inner-2 {
    padding-left: 100px;
    padding-right: 100px;
    width: 100%;
  }
}
@media screen and (min-width: 992px) {
  .nm-inner-2 {
    max-width: var(--md-contents-size-lg);
    padding-left: 0;
    padding-right: 0;
    width: 74%;
  }
  .nm-inner-2[data-is-detail="true"] {
    align-items: center;
    display: flex;
    gap: 0 5%;
    height: 100vh;
  }
}
.nm-header {
  z-index: 100;
}
.nm-detail,
.nm-header {
  position: relative;
}
.nm-detail {
  background-color: var(--quinary-color);
  border-radius: 30px;
  margin-top: -30px;
  padding-bottom: 80px;
  padding-top: 50px;
}
.nm-detail[data-index="2"],
.nm-detail[data-index="4"] {
  background-color: var(--senary-color);
}
@media screen and (min-width: 768px) {
  .nm-detail {
    border-radius: 100px 100px 0 0;
    margin-top: -100px;
    padding-bottom: 200px;
    padding-top: 100px;
  }
}
@media screen and (min-width: 992px) {
  .nm-detail {
    margin-top: 0;
    padding: 0;
  }
  .nm-detail[data-index="1"] .nm-inner-2,
  .nm-detail[data-index="3"] .nm-inner-2,
  .nm-detail[data-index="5"] .nm-inner-2 {
    flex-direction: row-reverse;
  }
}
.nm-detail[data-index="1"] {
  background-color: #0000;
}
@media screen and (min-width: 768px) {
  .nm-detail[data-index="1"] {
    margin-top: -200px;
  }
  .nm-detail[data-index="5"] {
    border-radius: 100px;
    padding-bottom: 100px;
  }
}
@media screen and (min-width: 992px) {
  .nm-detail[data-index="5"] {
    padding: 0;
  }
}
.nm-num {
  align-items: center;
  aspect-ratio: 1/1;
  background-color: var(--primary-color);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  margin-left: auto;
  width: 40px;
}
.nm-detail-text-box {
  margin-top: 30px;
}
.nm-detail-text-box > p + p {
  margin-top: 24px;
}
@media screen and (min-width: 992px) {
  .nm-alpha-2 {
    width: 50%;
  }
}
.nm-alpha-title > h4 {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .nm-alpha-title > h4 {
    margin-top: 120px;
  }
}
@media screen and (min-width: 992px) {
  .nm-alpha-title > h4 {
    flex: 1;
    margin-top: 0;
  }
  .nm-alpha-title {
    align-items: center;
    display: flex;
    gap: 0 20px;
  }
}
.nm-beta-2 {
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .nm-beta-2 {
    margin-left: auto;
    margin-right: auto;
    margin-top: 60px;
    width: 400px;
  }
}
@media screen and (min-width: 992px) {
  .nm-beta-2 {
    margin-top: 0;
    width: 45%;
  }
}
.nm-container-26 {
  margin-left: auto;
  margin-right: auto;
  width: 85%;
}
@media screen and (min-width: 768px) {
  .nm-container-26 {
    gap: 40px 0;
    max-width: 1060px;
    width: 74%;
  }
}
.nm-container-29 {
  display: inline-block;
  padding-top: 4px;
  position: relative;
  width: 56px;
}
.nm-container-29[data-color-type="secondary"] [data-line] {
  background-color: var(--tertiary-color);
}
.nm-container-29 [data-line] {
  background-color: var(--quaternary-color);
  bottom: 0;
  height: 1px;
  left: 0;
  position: absolute;
  transform: scaleX(1);
  width: 100%;
}
@media (hover) {
  .nm-container-29:hover [data-line] {
    animation: nm-privacy-link-navi 0.4s cubic-bezier(0.6, 0.04, 0.98, 0.335);
  }
}
@keyframes nm-privacy-link-navi {
  0% {
    transform: scaleX(1);
    transform-origin: right bottom;
  }
  50% {
    transform: scaleX(0);
    transform-origin: right bottom;
  }
  51% {
    transform: scaleX(0);
    transform-origin: left bottom;
  }
  to {
    transform: scaleX(1);
    transform-origin: left bottom;
  }
}
.nm-container-31 {
  height: 550px;
  position: relative;
  width: 100%;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .nm-container-31 {
    height: 420px;
  }
}
.nm-container-31[data-is-visible="false"] {
  display: none;
}
.nm-container-31[data-next-page-visible="true"] {
  height: 750px;
}
@media screen and (min-width: 768px) {
  .nm-container-31[data-next-page-visible="true"] {
    height: calc(var(--vh, 1vh) * 100);
    min-height: 820px;
  }
}
.nm-container-31[data-next-page-visible="true"] .nm-next-page {
  height: 27%;
}
@media screen and (min-width: 768px) {
  .nm-container-31[data-next-page-visible="true"] .nm-next-page {
    height: 49%;
  }
}
.nm-container-31[data-next-page-visible="true"] .nm-wrap-4 {
  height: 73%;
}
@media screen and (min-width: 768px) {
  .nm-container-31[data-next-page-visible="true"] .nm-wrap-4 {
    height: 51%;
  }
}
.nm-container-31[data-next-page-visible="false"] .nm-next-page {
  display: none;
}
.nm-container-31[data-next-page-visible="false"] .nm-wrap-4 {
  height: 100%;
}
.nm-next-page {
  background-color: var(--primary-color);
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .nm-next-page-link-text {
    display: none;
  }
}
.nm-next-page-link {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 20px 0;
  height: 100%;
  justify-content: center;
  width: 100%;
}
.nm-next-page-link:after {
  content: "";
  height: 48px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-next-page-link:after {
    height: 80px;
  }
}
.nm-next-page-link[data-next-page="SERVICES"]:after {
  animation: nm-services-loop-sp 10s linear infinite;
  background-size: auto 100%;
}
@media screen and (min-width: 768px) {
  .nm-next-page-link[data-next-page="SERVICES"]:after {
    animation: nm-services-loop 10s linear infinite;
  }
}
.nm-next-page-link[data-next-page="CULTURE"]:after {
  animation: nm-culture-loop-sp 10s linear infinite;
  background-size: auto 100%;
}
@media screen and (min-width: 768px) {
  .nm-next-page-link[data-next-page="CULTURE"]:after {
    animation: nm-culture-loop 10s linear infinite;
  }
}
.nm-next-page-link[data-next-page="COMPANY"]:after {
  animation: nm-company-loop-sp 10s linear infinite;
  background-size: auto 100%;
}
@media screen and (min-width: 768px) {
  .nm-next-page-link[data-next-page="COMPANY"]:after {
    animation: nm-company-loop 10s linear infinite;
  }
}
.nm-next-page-link[data-next-page="HISTORY"]:after {
  animation: nm-history-loop-sp 10s linear infinite;
  background-size: auto 100%;
}
@media screen and (min-width: 768px) {
  .nm-next-page-link[data-next-page="HISTORY"]:after {
    animation: nm-history-loop 10s linear infinite;
  }
}
.nm-next-page-link[data-next-page="MEMBERS"]:after {
  animation: nm-members-loop-sp 10s linear infinite;
  background-size: auto 100%;
}
@media screen and (min-width: 768px) {
  .nm-next-page-link[data-next-page="MEMBERS"]:after {
    animation: nm-members-loop 10s linear infinite;
  }
}
.nm-next-page-link[data-next-page="100 GOOD THINGS"]:after {
  animation: nm-goodthings-loop-sp 20s linear infinite;
  background-size: auto 100%;
}
@media screen and (min-width: 768px) {
  .nm-next-page-link[data-next-page="100 GOOD THINGS"]:after {
    animation: nm-goodthings-loop 20s linear infinite;
  }
}
@keyframes nm-culture-loop-sp {
  0% {
    background-position: 0;
  }
  to {
    background-position: 255.61px;
  }
}
@keyframes nm-culture-loop {
  0% {
    background-position: 0;
  }
  to {
    background-position: 426.01px;
  }
}
@keyframes nm-company-loop-sp {
  0% {
    background-position: 0;
  }
  to {
    background-position: 277.3px;
  }
}
@keyframes nm-company-loop {
  0% {
    background-position: 0;
  }
  to {
    background-position: 462.17px;
  }
}
@keyframes nm-history-loop-sp {
  0% {
    background-position: 0;
  }
  to {
    background-position: 244.36px;
  }
}
@keyframes nm-history-loop {
  0% {
    background-position: 0;
  }
  to {
    background-position: 407.27px;
  }
}
@keyframes nm-narilab-loop {
  0% {
    background-position: 0;
  }
  to {
    background-position: 419.63px;
  }
}
@keyframes nm-members-loop-sp {
  0% {
    background-position: 0;
  }
  to {
    background-position: 269.06px;
  }
}
@keyframes nm-members-loop {
  0% {
    background-position: 0;
  }
  to {
    background-position: 448.43px;
  }
}
@keyframes nm-goodthings-loop-sp {
  0% {
    background-position: 0;
  }
  to {
    background-position: 425.73px;
  }
}
@keyframes nm-goodthings-loop {
  0% {
    background-position: 0;
  }
  to {
    background-position: 709.54px;
  }
}
@keyframes nm-services-loop-sp {
  0% {
    background-position: 0;
  }
  to {
    background-position: 264.86px;
  }
}
@keyframes nm-services-loop {
  0% {
    background-position: 0;
  }
  to {
    background-position: 441.44px;
  }
}
.nm-wrap-4 {
  background-size: cover;
  padding-bottom: 52px;
  padding-top: 70px;
  position: relative;
  width: 100%;
  z-index: 101;
}
@media screen and (min-width: 768px) {
  .nm-wrap-4 {
    background-size: cover;
    padding-bottom: 60px;
    padding-top: 100px;
  }
}
.nm-wrap-4 .nm-wrap-inner,
.nm-wrap-4 .nm-wrap-inner > div {
  height: 100%;
}
.nm-top,
.nm-wrap-4 .nm-wrap-inner > div {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.nm-top {
  align-items: center;
  gap: 50px;
  margin-left: auto;
  margin-right: auto;
  width: 330px;
}
@media screen and (min-width: 768px) {
  .nm-top {
    flex-direction: row;
    gap: 0 10px;
    height: auto;
    max-width: 879px;
    width: 100%;
  }
}
.nm-bottom {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  height: 73px;
  justify-content: space-between;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-bottom {
    align-items: flex-end;
    flex-direction: row;
    height: auto;
    justify-content: flex-start;
  }
}
.nm-copy {
  max-width: 382px;
  width: 100%;
}
.nm-copy,
.nm-copy span {
  position: relative;
}
.nm-copy span {
  z-index: 101;
}
.nm-links {
  display: flex;
  gap: 0 10px;
  justify-content: space-between;
  max-width: 424px;
  width: 100%;
}
.nm-page-top {
  background-size: contain;
  bottom: -30px;
  height: 60px;
  position: absolute;
  right: 0;
  transition: all 0.3s ease-in-out;
  width: 60px;
}
@media screen and (min-width: 768px) {
  .nm-page-top {
    bottom: -20px;
  }
}
.nm-container-33 {
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 200;
}
.nm-logo-2 {
  display: block;
  height: 29px;
  left: 30px;
  overflow: hidden;
  position: absolute;
  top: 40px;
  transition-duration: 0.35s;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
  width: 110px;
}
@media screen and (min-width: 768px) {
  .nm-logo-2 {
    left: 80px;
    top: 60px;
  }
}
.nm-logo-2[data-is-show-top="false"] > a {
  transform: translateY(-100%) !important;
  transition: transform 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) 0.35s;
}
.nm-logo-2[data-is-show="false"] > a {
  transform: translateY(-100%);
  transition: transform 0.4s cubic-bezier(0.39, 0.575, 0.565, 1) 0.35s;
}
@media screen and (min-width: 768px) {
  .nm-logo-2[data-is-show="false"] {
    transform: translateY(0);
  }
}
.nm-logo-2 a {
  display: inline-block;
  transform: translateY(0);
  transition: transform 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.nm-hamburger {
  align-items: center;
  border: 2px solid var(--tertiary-color);
  border-radius: 100%;
  display: flex;
  height: 50px;
  justify-content: center;
  position: absolute;
  right: 30px;
  text-indent: -9999px;
  top: 30px;
  width: 50px;
  z-index: 202;
}
@media screen and (min-width: 768px) {
  .nm-hamburger {
    right: 80px;
    top: 50px;
  }
}
.nm-hamburger > span {
  background-color: var(--tertiary-color);
  border-radius: 100%;
  height: 3px;
  width: 3px;
}
.nm-hamburger > span:first-of-type {
  transform: translateX(-3px);
  transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.nm-hamburger > span:nth-of-type(2) {
  transition: transform 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.nm-hamburger > span:nth-of-type(3) {
  transform: translateX(3px);
  transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s;
}
@media (hover) {
  .nm-hamburger:hover > span:first-of-type {
    transform: translateX(3px);
  }
  .nm-hamburger:hover > span:nth-of-type(2) {
    transform: scale(2.7);
  }
  .nm-hamburger:hover > span:nth-of-type(3) {
    transform: translateX(-3px);
  }
  .nm-hamburger:hover[data-is-open="true"] > span:first-of-type {
    transform: translateX(10px) rotate(45deg) scale(1.4);
  }
  .nm-hamburger:hover[data-is-open="true"] > span:nth-of-type(2) {
    opacity: 0;
    transform: scale(0);
  }
  .nm-hamburger:hover[data-is-open="true"] > span:nth-of-type(3) {
    transform: translateX(-10px) rotate(-45deg) scale(1.4);
  }
}
.nm-hamburger[data-is-open="true"] {
  background-color: var(--tertiary-color);
}
.nm-hamburger[data-is-open="true"] > span {
  background-color: var(--quaternary-color);
  border-radius: 0;
  height: 2px;
  width: 10px;
}
.nm-hamburger[data-is-open="true"] > span:first-of-type {
  transform: translateX(10px) rotate(45deg);
}
.nm-hamburger[data-is-open="true"] > span:nth-of-type(2) {
  transform: scale(0);
}
.nm-hamburger[data-is-open="true"] > span:nth-of-type(3) {
  transform: translateX(-10px) rotate(-45deg);
}
.nm-links-2 {
  display: none;
  height: 23px;
  left: 50%;
  overflow: hidden;
  position: absolute;
  top: 63px;
  transform: translateX(-50%);
  width: 593px;
}
@media screen and (min-width: 992px) {
  .nm-links-2 {
    align-items: center;
    display: flex;
    justify-content: space-between;
  }
}
.nm-links-2 li {
  height: 100%;
  overflow: hidden;
  position: relative;
}
.nm-links-2 li a {
  display: inline-block;
  height: 100%;
}
.nm-links-2 li a [data-line] {
  background-color: var(--tertiary-color);
  bottom: 0;
  height: 1px;
  left: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: right bottom;
  transition: transform 0.4s cubic-bezier(0.6, 0.04, 0.98, 0.335);
  width: 100%;
}
.nm-links-2 li a [data-num="0"],
.nm-links-2 li a [data-num="1"] {
  align-items: center;
  display: flex;
  height: 100%;
  transition: transform 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.1s;
}
.nm-links-2 li a [data-num="1"] {
  left: 0;
  position: absolute;
  top: 1px;
  transform: translateY(100%);
}
@media (hover) {
  .nm-links-2 li a:hover [data-line] {
    transform: scaleX(1);
    transform-origin: left bottom;
  }
  .nm-links-2 li a:hover [data-num="0"] {
    transform: translateY(-100%);
  }
  .nm-links-2 li a:hover [data-num="1"] {
    transform: translateY(0);
  }
}
@font-face {
  font-family: swiper-icons;
  font-style: normal;
  font-weight: 400;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA")
    format("woff");
}
:root {
  --swiper-theme-color: #007aff;
}
swiper-container {
  display: block;
  list-style: none;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  padding: 0;
  position: relative;
  z-index: 1;
}
swiper-slide {
  display: block;
  flex-shrink: 0;
  height: 100%;
  position: relative;
  transition-property: transform;
  width: 100%;
}
html {
  box-sizing: border-box;
  tab-size: 4;
  -webkit-text-size-adjust: 100%;
  word-break: normal;
}
*,
:after,
:before {
  background-repeat: no-repeat;
  box-sizing: inherit;
}
:after,
:before {
  text-decoration: inherit;
  vertical-align: inherit;
}
* {
  margin: 0;
  padding: 0;
}
hr {
  color: inherit;
  height: 0;
  overflow: visible;
}
details,
main {
  display: block;
}
summary {
  display: list-item;
}
small {
  font-size: 80%;
}
[hidden] {
  display: none;
}
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}
a {
  background-color: initial;
}
a:active,
a:hover {
  outline-width: 0;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}
pre {
  font-size: 1em;
}
b,
strong {
  font-weight: bolder;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: initial;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
table {
  border-color: inherit;
  text-indent: 0;
}
iframe {
  border-style: none;
}
input {
  border-radius: 0;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
textarea {
  overflow: auto;
  resize: vertical;
}
button,
input,
optgroup,
select,
textarea {
  font: inherit;
}
optgroup {
  font-weight: 700;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
[role="button"],
[type="button"],
[type="reset"],
[type="submit"],
button {
  cursor: pointer;
}
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner,
button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner,
button:-moz-focusring {
  outline: 1px dotted ButtonText;
}
[type="reset"],
[type="submit"],
button,
html [type="button"] {
  -webkit-appearance: button;
}
button,
input,
select,
textarea {
  background-color: initial;
  border-style: none;
}
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline-width: 0;
}
select {
  -moz-appearance: none;
  -webkit-appearance: none;
}
select::-ms-expand {
  display: none;
}
select::-ms-value {
  color: currentColor;
}
legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal;
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}
[disabled] {
  cursor: default;
}
img {
  border-style: none;
}
progress {
  vertical-align: initial;
}
[aria-busy="true"] {
  cursor: progress;
}
[aria-controls] {
  cursor: pointer;
}
[aria-disabled="true"] {
  cursor: default;
}
:root {
  --ja-bold-font: "Zen Kaku Gothic New", sans-serif;
  --ja-regular-font: "Zen Kaku Gothic New", sans-serif;
  --en-demibold-font: "Plus Jakarta Sans", sans-serif;
  --primary-color: #fcc800;
  --secondary-color: #ffd42f;
  --tertiary-color: #fff;
  --quaternary-color: #343434;
  --quinary-color: #f9f9f9;
  --senary-color: #e4e4e4;
  --septenary-color: #afafaf;
  --octonary-color: #e33e1a;
  --nonary-color: #d9d9d9;
  --kuji-primary-color: #f4522f;
  --kuji-secondary-color: #9e9e9e;
  --js-keyframes-width: 100%;
  --js-keyframes-height: 100%;
  --design-size-xs: 390px;
  --design-size-md: 1440px;
  --md-contents-size-xs: 620px;
  --md-contents-size-sm: 840px;
  --md-contents-size-md: 904px;
  --md-contents-size-lg: 1060px;
  --md-contents-size-xl: 1280px;
  --xs-contents-size-xs: 330px;
}
*,
:after,
:before {
  box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-user-select: none;
  user-select: none;
}
form,
input,
select,
textarea {
  -webkit-user-select: auto;
  user-select: auto;
}
:focus {
  outline: none;
}
html {
  height: auto;
  overflow-y: scroll !important;
  scroll-behavior: auto;
}
body,
html {
  min-height: 100%;
}
body {
  background-color: var(--primary-color);
  font-family:
    var(--ja-bold-font), "Open Sans", "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, var(--ja-regular-font), "ヒラギノ角ゴ Pro W3",
    "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",
    sans-serif;
  font-weight:
    700;
  height: 100%;
  line-height: 1.6;
  overflow: hidden;
  position: fixed;
  width: 100%;
}
body[data-loading="true"] {
  cursor: wait;
}
img {
  height: auto;
  pointer-events: none;
  vertical-align: top;
  width: 100%;
}
button {
  appearance: none;
  background-color: #0000;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
}
input[type="text"] {
  background: none;
  border-radius: 0;
  outline: none;
}
a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  text-decoration: none;
}
li {
  list-style: none;
}
svg {
  width: 100%;
}
html.lenis,
svg {
  height: auto;
}
.nm-container-36 {
  display: flex;
  width: 100%;
}
@media screen and (min-width: 992px) {
  .nm-container-36 {
    justify-content: space-between;
  }
}
.nm-container-36 .nm-primary-2,
.nm-container-36 .nm-secondary-2 {
  width: 100%;
}
@media screen and (min-width: 992px) {
  .nm-container-36 .nm-primary-2,
  .nm-container-36 .nm-secondary-2 {
    width: 100%;
  }
  .nm-container-36 .nm-primary-2 {
    max-width: 400px;
  }
  .nm-container-36 .nm-secondary-2 {
    max-width: 510px;
  }
}
.nm-container-36[data-direction="row"] {
  flex-direction: column;
  gap: 30px;
  justify-content: flex-start;
}
@media screen and (min-width: 992px) {
  .nm-container-36[data-direction="row"] {
    flex-direction: row;
    justify-content: space-between;
  }
}
.nm-container-36[data-direction="column"] {
  flex-direction: column;
  gap: 30px;
  justify-content: flex-start;
}
@media screen and (min-width: 992px) {
  .nm-container-36[data-direction="column"] {
    gap: 40px;
  }
}
.nm-container-36[data-direction="column"] .nm-primary-2,
.nm-container-36[data-direction="column"] .nm-secondary-2 {
  width: 100%;
}
@media screen and (min-width: 992px) {
  .nm-container-36[data-direction="column"] .nm-primary-2,
  .nm-container-36[data-direction="column"] .nm-secondary-2 {
    max-width: 100%;
  }
}
.nm-container-36[data-direction="reverse"] {
  flex-direction: column-reverse;
  gap: 50px;
}
@media screen and (min-width: 992px) {
  .nm-container-36[data-direction="reverse"] {
    flex-direction: row-reverse;
  }
}
.nm-container-36[data-direction="row-reverse"] {
  flex-direction: column;
  gap: 50px;
}
@media screen and (min-width: 992px) {
  .nm-container-36[data-direction="row-reverse"] {
    flex-direction: row-reverse;
  }
}
.nm-container-36[data-direction="column-reverse"] {
  flex-direction: column-reverse;
  gap: 50px;
}
@media screen and (min-width: 992px) {
  .nm-container-36[data-direction="column-reverse"] {
    flex-direction: row;
  }
}
.nm-container-37 {
  display: flex;
  justify-content: center;
  margin-top: 100px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-container-37 {
    margin-top: 200px;
  }
}
.nm-wrap-6 {
  background-color: var(--quinary-color);
  border-radius: 30px;
  padding: 100px 30px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-wrap-6 {
    border-radius: 100px;
    max-width: 1280px;
    padding: 120px 110px;
  }
}
.nm-credits-title {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .nm-credits-title {
    text-align: right;
  }
}
.nm-credits-body {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .nm-credits-body {
    margin-top: 100px;
  }
}
.nm-credits-item {
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .nm-credits-item {
    margin-top: 30px;
  }
}
.nm-credits-item h4 {
  margin-bottom: 10px;
}
.nm-link-3 {
  text-decoration: underline;
  text-decoration-color: var(--quaternary-color);
}
@media (hover) {
  .nm-link-3:hover {
    text-decoration: none;
  }
}
.nm-release {
  margin-top: 30px;
}
.nm-visit-site {
  margin-top: 42px;
}
.nm-tags {
  border-top: 2px solid var(--quaternary-color);
  margin-top: 80px;
  padding-top: 20px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-tags {
    margin-top: 100px;
  }
}
.nm-tags ul {
  display: flex;
  flex-wrap: wrap;
  gap: 3px 15px;
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .nm-tags ul {
    margin-top: 62px;
  }
}
.nm-tags ul a {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .nm-container-38 {
    width: 48%;
  }
}
.nm-image-2 {
  aspect-ratio: 620/465;
}
.nm-image-2 .nm-img-item {
  height: 100%;
  position: relative;
  width: 100%;
}
.nm-image-2 img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.nm-link-4 {
  display: block;
}
.nm-link-4 .nm-image-2 {
  isolation: isolate;
  overflow: hidden;
  position: relative;
  transition: border-radius 0.6s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.nm-link-4 .nm-image-2 img {
  transition: transform 0.5s ease-in-out 0.1s;
}
@media (hover) {
  .nm-link-4:hover .nm-image-2 {
    border-radius: 50px;
  }
  .nm-link-4:hover .nm-image-2 img {
    transform: scale(1.2);
  }
}
.nm-link-4 > p {
  margin-top: 10px;
}
.nm-link-4 > p + h3 {
  margin-top: 5px;
}
.nm-container-39 {
  margin-left: auto;
  margin-right: auto;
  width: 84%;
}
@media screen and (min-width: 768px) {
  .nm-container-39 {
    padding: 0 30px;
    width: 100%;
  }
  .nm-container-39,
  .nm-container-39[data-max-width="1060"] {
    max-width: 1120px;
  }
  .nm-container-39[data-max-width="1020"] {
    max-width: 1080px;
  }
  .nm-container-39[data-max-width="840"] {
    max-width: 900px;
  }
  .nm-container-39[data-max-width="620"] {
    max-width: 680px;
  }
  .nm-container-39[data-max-width="400"] {
    max-width: 460px;
  }
}
@keyframes nm-ring-text-xs {
  0% {
    background-position: right 0 top;
  }
  to {
    background-position: right 577px top;
  }
}
@keyframes nm-ring-text-md {
  0% {
    background-position: right 0 center;
  }
  to {
    background-position: right 1054px center;
  }
}
.nm-container-43 {
  position: relative;
}
.nm-body-3 {
  margin-top: 200px;
  position: relative;
}
.nm-projects-header {
  display: flex;
  flex-direction: column;
  gap: 40px 0;
}
@media screen and (min-width: 992px) {
  .nm-projects-header {
    align-items: flex-end;
    display: flex;
    flex-direction: row;
  }
  .nm-projects-header > h2 {
    width: 617px;
  }
  .nm-projects-header > p {
    margin-left: auto;
    width: 400px;
  }
}
.nm-projects-footer {
  display: flex;
  justify-content: center;
  margin-top: 48px;
}
@media screen and (min-width: 768px) {
  .nm-projects-footer {
    margin-top: 90px;
  }
}
.nm-container-45 {
  padding-bottom: 100px;
  position: relative;
}
.nm-intro {
  background-color: var(--services-bg-color, #f9f9f9);
  border-radius: 30px 30px 0 0;
  margin-top: -30px;
  padding-bottom: 100px;
  padding-top: 30px;
  position: relative;
  transition: background-color 0.7s cubic-bezier(0.215, 0.61, 0.355, 1);
  width: 100%;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .nm-intro {
    border-radius: 100px 100px 0 0;
    margin-top: -100px;
    padding-bottom: 200px;
    padding-top: 100px;
  }
}
.nm-intro-inner {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: calc(var(--vh, 1vh) * 100);
  overflow: hidden;
}
.nm-intro-text {
  opacity: 0;
  transition: opacity 0.6s ease-in-out 1s;
  width: 100%;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .nm-intro-text {
    margin-left: auto;
    margin-right: auto;
    margin-top: 50px;
    width: 620px;
  }
}
.nm-dekirukoto {
  background-color: var(--services-bg-color, #f9f9f9);
  margin-top: -1px;
  overflow: hidden;
  padding: 0 30px;
  position: relative;
  transition: background-color 0.7s cubic-bezier(0.215, 0.61, 0.355, 1);
  width: 100%;
}
.nm-dekirukoto > .nm-dekirukoto-title {
  margin-bottom: 40px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .nm-dekirukoto > .nm-dekirukoto-title {
    margin-bottom: 80px;
  }
}
.nm-dekirukoto p {
  font-size: 13px;
}
@media screen and (min-width: 768px) {
  .nm-dekirukoto p {
    font-size: 16px;
  }
}
.nm-accordion-button {
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-accordion-button:hover .nm-plus-icon {
    transform: translateX(50%) rotate(90deg);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .nm-accordion-button:hover .nm-plus-icon {
    transform: translateY(-50%) rotate(180deg);
  }
}
.nm-accordion-button[data-is-bottom="true"] {
  display: none;
  margin-top: 30px;
}
.nm-accordion-button[data-is-bottom="true"][data-is-visible="true"] {
  display: block;
}
@media screen and (min-width: 768px) {
  .nm-accordion-button[data-is-bottom="true"][data-is-visible="true"] {
    display: none;
  }
}
.nm-accordion-button .nm-dekirukoto-section-header {
  align-items: flex-start;
  color: var(--quaternary-color);
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-bottom: 60px;
  text-align: left;
}
.nm-accordion-button .nm-dekirukoto-section-header[data-is-visible="false"] {
  padding-bottom: 0;
}
@media screen and (min-width: 768px) {
  .nm-accordion-button .nm-dekirukoto-section-header {
    gap: 20px;
    padding-bottom: 0;
    padding-right: 80px;
  }
}
.nm-accordion-button .nm-dekirukoto-section-header > h3 {
  position: relative;
}
.nm-accordion-button .nm-dekirukoto-section-header > h3 span {
  position: relative;
  z-index: 1;
}
.nm-accordion-button .nm-dekirukoto-section-header > div {
  position: relative;
}
.nm-accordion-button .nm-dekirukoto-section-header > div p {
  position: relative;
  z-index: 1;
}
.nm-accordion-button .nm-plus-icon {
  aspect-ratio: 1/1;
  bottom: 0;
  position: absolute;
  right: 50%;
  transform: translateX(50%);
  transition: transform 0.6s ease;
  width: 40px;
}
@media screen and (min-width: 768px) {
  .nm-accordion-button .nm-plus-icon {
    bottom: auto;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 60px;
  }
}
.nm-accordion-button .nm-plus-icon[data-is-visible="false"] {
  display: none;
}
@media screen and (min-width: 768px) {
  .nm-accordion-button .nm-plus-icon[data-is-visible="false"] {
    display: block;
  }
}
.nm-dekirukoto-section {
  background-color: #fff;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin: 10px auto 0;
  padding: 30px;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-dekirukoto-section {
    border-radius: 30px;
    gap: 50px;
    margin: 20px auto 0;
    max-width: 1280px;
    padding: 40px;
  }
}
.nm-overview {
  background-color: var(--services-bg-color, #f9f9f9);
  margin-top: -1px;
  overflow: hidden;
  padding-top: 150px;
  position: relative;
  transition: background-color 0.7s cubic-bezier(0.215, 0.61, 0.355, 1);
  width: 100%;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .nm-overview {
    padding-bottom: 200px;
    padding-top: 200px;
  }
}
.nm-overview h2 {
  text-align: center;
}
.nm-overview-list {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 100px;
  margin: 80px auto 0;
  padding: 0 30px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-overview-list {
    gap: 150px;
    margin: 150px auto 0;
  }
}
.nm-overview-list li {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 73px;
  max-width: 1060px;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-overview-list li {
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
  }
}
.nm-overview-list-img {
  max-width: 509px;
  position: relative;
  width: 88%;
}
@media screen and (min-width: 768px) {
  .nm-overview-list-img {
    width: 100%;
  }
}
.nm-overview-list-texts {
  display: flex;
  flex-direction: column;
  gap: 30px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .nm-overview-list-texts {
    max-width: 400px;
  }
}
.nm-overview-list-texts h3,
.nm-overview-list-texts p {
  position: relative;
  z-index: 1;
}
.nm-job {
  align-items: center;
  background-color: var(--services-bg-color, #f9f9f9);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: -1px;
  min-height: calc(var(--vh, 1vh) * 100);
  overflow: hidden;
  padding-bottom: 100px;
  padding-top: 150px;
  position: relative;
  transition: background-color 0.7s cubic-bezier(0.215, 0.61, 0.355, 1);
  width: 100%;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .nm-job {
    justify-content: flex-start;
    padding-bottom: 0;
    padding-top: 0;
  }
}
.nm-job-warp {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 80px;
  justify-content: center;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .nm-job-warp {
    flex-direction: row;
    gap: 230px;
    justify-content: flex-start;
    min-width: calc(6055px + var(--vw, 1vw) * 30);
    padding-left: 190px;
    position: absolute;
  }
}
.nm-job-warp h3 {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .nm-job-warp h3 {
    text-align: left;
    width: 326px;
  }
}
.nm-job-list {
  padding-top: 68px;
  width: 75%;
}
@media screen and (min-width: 768px) {
  .nm-job-list {
    display: flex;
    gap: 80px;
    height: 100%;
    justify-content: space-between;
    max-height: 408px;
    max-width: 100%;
    padding-top: 0;
  }
}
.nm-job-list li {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin-top: -68px;
  padding-right: 60%;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-job-list li {
    margin-top: 0;
    padding-right: 0;
    width: 180px;
  }
}
.nm-job-list li video {
  aspect-ratio: 1/1;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-job-list li video {
    width: 180px;
  }
}
.nm-job-list li:nth-child(2n) {
  padding-left: 60%;
  padding-right: 0;
}
@media screen and (min-width: 768px) {
  .nm-job-list li:nth-child(2n) {
    margin-top: 90px;
    padding-left: 0;
    padding-right: 0;
  }
}
.nm-job-button {
  align-items: center;
  aspect-ratio: 1/1;
  border-radius: 100%;
  display: flex;
  justify-content: center;
  margin-top: -20px;
  position: relative;
  transition: color 0.4s ease-in;
  width: 120px;
}
@media screen and (min-width: 768px) {
  .nm-job-button {
    width: 150px;
  }
}
@media (hover) {
  .nm-job-button:hover {
    color: var(--primary-color) !important;
    cursor: pointer;
  }
  .nm-job-button:hover:before {
    transform: scale(1.2);
  }
}
.nm-job-button:before {
  background-color: var(--tertiary-color);
  border-radius: 100%;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  width: 100%;
  z-index: 1;
}
.nm-job-button > span {
  margin-top: -20px;
  z-index: 2;
}
.nm-job-button-icon {
  aspect-ratio: 1/1;
  background-size: contain;
  bottom: 20px;
  left: 50%;
  position: absolute;
  transform: translateX(-10px);
  width: 20px;
}
.nm-last {
  align-items: center;
  background-color: var(--services-bg-color, #f9f9f9);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: -1px;
  min-height: calc(var(--vh, 1vh) * 100);
  overflow: hidden;
  transition: background-color 0.7s cubic-bezier(0.215, 0.61, 0.355, 1);
  width: 100%;
  z-index: 10;
}
.nm-last,
.nm-last .nm-title {
  position: relative;
}
.nm-last-bottom-slider,
.nm-last-top-slider {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  left: 0;
  position: absolute;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-last-bottom-slider,
  .nm-last-top-slider {
    align-items: center;
    gap: 0;
    grid-template-columns: repeat(40, 1fr);
    grid-template-rows: repeat(1, 1fr);
  }
}
.nm-last-bottom-slider .nm-left-slide,
.nm-last-bottom-slider .nm-right-slide,
.nm-last-top-slider .nm-left-slide,
.nm-last-top-slider .nm-right-slide {
  display: flex;
  height: 100px;
  place-content: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-last-bottom-slider .nm-left-slide,
  .nm-last-bottom-slider .nm-right-slide,
  .nm-last-top-slider .nm-left-slide,
  .nm-last-top-slider .nm-right-slide {
    height: 120px;
  }
}
.nm-last-bottom-slider .nm-left-slide,
.nm-last-top-slider .nm-left-slide {
  animation: nm-last-anime-left 50s linear infinite;
  background-size: auto 100%;
}
@media screen and (min-width: 768px) {
  .nm-last-bottom-slider .nm-left-slide,
  .nm-last-top-slider .nm-left-slide {
    animation: nm-last-anime-left-md 100s linear infinite;
  }
}
.nm-last-bottom-slider .nm-right-slide,
.nm-last-top-slider .nm-right-slide {
  animation: nm-last-anime-right 50s linear infinite;
  background-size: auto 100%;
}
@media screen and (min-width: 768px) {
  .nm-last-bottom-slider .nm-right-slide,
  .nm-last-top-slider .nm-right-slide {
    animation: nm-last-anime-right-md 100s linear infinite;
  }
}
@keyframes nm-last-anime-left {
  0% {
    background-position: 0 0;
  }
  to {
    background-position: -1420px 0;
  }
}
@keyframes nm-last-anime-right {
  0% {
    background-position: 0 0;
  }
  to {
    background-position: 1420px 0;
  }
}
@keyframes nm-last-anime-left-md {
  0% {
    background-position: 0 0;
  }
  to {
    background-position: -1704px 0;
  }
}
@keyframes nm-last-anime-right-md {
  0% {
    background-position: 0 0;
  }
  to {
    background-position: 1704px 0;
  }
}
@media screen and (min-width: 768px) {
  .nm-last-bottom-slider > div:nth-child(2),
  .nm-last-top-slider > div:nth-child(2) {
    display: none;
  }
}
.nm-last-top-slider {
  left: 0;
  top: 40px;
}
@media screen and (min-width: 768px) {
  .nm-last-top-slider {
    top: 100px;
  }
}
.nm-last-bottom-slider {
  bottom: 40px;
  right: 0;
}
@media screen and (min-width: 768px) {
  .nm-last-bottom-slider {
    bottom: 100px;
  }
}
.nm-container-36 {
  display: flex;
  width: 100%;
}
@media screen and (min-width: 992px) {
  .nm-container-36 {
    justify-content: space-between;
  }
}
.nm-container-36 .nm-primary-2,
.nm-container-36 .nm-secondary-2 {
  width: 100%;
}
@media screen and (min-width: 992px) {
  .nm-container-36 .nm-primary-2,
  .nm-container-36 .nm-secondary-2 {
    width: 100%;
  }
  .nm-container-36 .nm-primary-2 {
    max-width: 400px;
  }
  .nm-container-36 .nm-secondary-2 {
    max-width: 510px;
  }
}
.nm-container-36[data-direction="row"] {
  flex-direction: column;
  gap: 30px;
  justify-content: flex-start;
}
@media screen and (min-width: 992px) {
  .nm-container-36[data-direction="row"] {
    flex-direction: row;
    justify-content: space-between;
  }
}
.nm-container-36[data-direction="column"] {
  flex-direction: column;
  gap: 30px;
  justify-content: flex-start;
}
@media screen and (min-width: 992px) {
  .nm-container-36[data-direction="column"] {
    gap: 40px;
  }
}
.nm-container-36[data-direction="column"] .nm-primary-2,
.nm-container-36[data-direction="column"] .nm-secondary-2 {
  width: 100%;
}
@media screen and (min-width: 992px) {
  .nm-container-36[data-direction="column"] .nm-primary-2,
  .nm-container-36[data-direction="column"] .nm-secondary-2 {
    max-width: 100%;
  }
}
.nm-container-36[data-direction="reverse"] {
  flex-direction: column-reverse;
  gap: 50px;
}
@media screen and (min-width: 992px) {
  .nm-container-36[data-direction="reverse"] {
    flex-direction: row-reverse;
  }
}
.nm-container-36[data-direction="row-reverse"] {
  flex-direction: column;
  gap: 50px;
}
@media screen and (min-width: 992px) {
  .nm-container-36[data-direction="row-reverse"] {
    flex-direction: row-reverse;
  }
}
.nm-container-36[data-direction="column-reverse"] {
  flex-direction: column-reverse;
  gap: 50px;
}
@media screen and (min-width: 992px) {
  .nm-container-36[data-direction="column-reverse"] {
    flex-direction: row;
  }
}
.nm-container-37 {
  display: flex;
  justify-content: center;
  margin-top: 100px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-container-37 {
    margin-top: 200px;
  }
}
.nm-wrap-6 {
  background-color: var(--quinary-color);
  border-radius: 30px;
  padding: 100px 30px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-wrap-6 {
    border-radius: 100px;
    max-width: 1280px;
    padding: 120px 110px;
  }
}
.nm-credits-title {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .nm-credits-title {
    text-align: right;
  }
}
.nm-credits-body {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .nm-credits-body {
    margin-top: 100px;
  }
}
.nm-credits-item {
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .nm-credits-item {
    margin-top: 30px;
  }
}
.nm-credits-item h4 {
  margin-bottom: 10px;
}
.nm-link-3 {
  text-decoration: underline;
  text-decoration-color: var(--quaternary-color);
}
@media (hover) {
  .nm-link-3:hover {
    text-decoration: none;
  }
}
.nm-release {
  margin-top: 30px;
}
.nm-visit-site {
  margin-top: 42px;
}
.nm-tags {
  border-top: 2px solid var(--quaternary-color);
  margin-top: 80px;
  padding-top: 20px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-tags {
    margin-top: 100px;
  }
}
.nm-tags ul {
  display: flex;
  flex-wrap: wrap;
  gap: 3px 15px;
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .nm-tags ul {
    margin-top: 62px;
  }
}
.nm-tags ul a {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .nm-container-38 {
    width: 48%;
  }
}
.nm-image-2 {
  aspect-ratio: 620/465;
}
.nm-image-2 .nm-img-item {
  height: 100%;
  position: relative;
  width: 100%;
}
.nm-image-2 img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.nm-link-4 {
  display: block;
}
.nm-link-4 .nm-image-2 {
  isolation: isolate;
  overflow: hidden;
  position: relative;
  transition: border-radius 0.6s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.nm-link-4 .nm-image-2 img {
  transition: transform 0.5s ease-in-out 0.1s;
}
@media (hover) {
  .nm-link-4:hover .nm-image-2 {
    border-radius: 50px;
  }
  .nm-link-4:hover .nm-image-2 img {
    transform: scale(1.2);
  }
}
.nm-link-4 > p {
  margin-top: 10px;
}
.nm-link-4 > p + h3 {
  margin-top: 5px;
}
.nm-container-39 {
  margin-left: auto;
  margin-right: auto;
  width: 84%;
}
@media screen and (min-width: 768px) {
  .nm-container-39 {
    padding: 0 30px;
    width: 100%;
  }
  .nm-container-39,
  .nm-container-39[data-max-width="1060"] {
    max-width: 1120px;
  }
  .nm-container-39[data-max-width="1020"] {
    max-width: 1080px;
  }
  .nm-container-39[data-max-width="840"] {
    max-width: 900px;
  }
  .nm-container-39[data-max-width="620"] {
    max-width: 680px;
  }
  .nm-container-39[data-max-width="400"] {
    max-width: 460px;
  }
}
@keyframes nm-ring-text-xs {
  0% {
    background-position: right 0 top;
  }
  to {
    background-position: right 577px top;
  }
}
@keyframes nm-ring-text-md {
  0% {
    background-position: right 0 center;
  }
  to {
    background-position: right 1054px center;
  }
}
.nm-container-43 {
  position: relative;
}
.nm-container-46 {
  overflow: hidden;
  padding-bottom: 100px;
  padding-top: 230px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .nm-container-46 {
    padding-top: 280px;
  }
}
.nm-tag {
  background-color: var(--quinary-color);
  border-radius: 20px;
  margin-top: 190px;
  padding: 30px;
}
@media screen and (min-width: 768px) {
  .nm-tag {
    margin-top: 280px;
    padding: 40px;
  }
}
.nm-tag-alpha {
  position: relative;
}
@media screen and (min-width: 768px) {
  .nm-tag-alpha {
    padding-right: 100px;
  }
}
.nm-tag-alpha ul {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  width: 100%;
}
.nm-tag-alpha ul li.nm-checkbox label {
  border: 2px solid var(--quaternary-color);
  border-radius: 100px;
  line-height: 1;
  padding: 0 10px 4px;
}
@media screen and (min-width: 768px) {
  .nm-tag-alpha ul li.nm-checkbox label {
    padding: 3px 10px 5px;
  }
}
.nm-tag-alpha ul li.nm-checkbox input[type="checkbox"]:checked + label {
  background-color: var(--quaternary-color);
}
.nm-tag-alpha ul li.nm-checkbox input[type="checkbox"]:checked + label span {
  color: var(--quinary-color) !important;
}
.nm-tag-alpha ul li.nm-dummy {
  height: 22px;
  width: 53px;
}
.nm-tag-button {
  align-items: center;
  bottom: 0;
  display: inline-flex;
  gap: 0 5px;
  position: absolute;
  right: 0;
}
@media (hover) {
  .nm-tag-button:hover .nm-tag-button-icon {
    transform: rotate(1turn);
  }
}
.nm-tag-button[data-is-open="true"] .nm-tag-button-icon > span:last-of-type {
  transform: rotate(90deg) scaleX(0);
}
.nm-tag-button-icon {
  align-items: center;
  background-color: var(--quaternary-color);
  border-radius: 50%;
  display: flex;
  height: 20px;
  justify-content: center;
  position: relative;
  transition: transform 0.65s cubic-bezier(0.19, 1, 0.22, 1);
  width: 20px;
}
.nm-tag-button-icon > span {
  background-color: var(--quinary-color);
  display: block;
  height: 2px;
  position: absolute;
  transition-duration: 0.35s;
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
  width: 8px;
}
.nm-tag-button-icon > span:last-of-type {
  transform: rotate(90deg);
}
.nm-tag-beta {
  border-top: 1px solid var(--nonary-color);
  margin-top: 30px;
  padding-top: 30px;
}
.nm-tag-beta[data-is-open="true"] {
  opacity: 1;
  transition: opacity 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s;
}
.nm-tag-beta[data-is-open="false"] {
  height: 0;
  margin: 0;
  opacity: 0;
  padding: 0;
  pointer-events: none;
}
.nm-tag-beta ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 3px;
  width: 100%;
}
.nm-tag-beta ul li.nm-checkbox label {
  border-radius: 100px;
  line-height: 1;
  padding: 0 6px 5px;
}
@media screen and (min-width: 768px) {
  .nm-tag-beta ul li.nm-checkbox label {
    padding: 1px 6px 3px;
  }
}
.nm-tag-beta ul li.nm-checkbox input[type="checkbox"]:checked + label {
  background-color: var(--quaternary-color);
}
.nm-tag-beta ul li.nm-checkbox input[type="checkbox"]:checked + label span {
  color: var(--quinary-color) !important;
}
.nm-tag-beta ul li.nm-dummy {
  height: 22px;
  width: 53px;
}
.nm-works {
  margin-top: 80px;
  min-height: 300px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .nm-works {
    margin-top: 100px;
  }
}
.nm-works-alpha {
  display: flex;
  flex-direction: column;
  gap: 50px 0;
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .nm-works-alpha {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 80px 4%;
    margin-top: 140px;
  }
}
.nm-works-beta {
  display: flex;
  justify-content: center;
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .nm-works-beta {
    margin-top: 100px;
  }
}
.nm-works-beta button {
  align-items: center;
  aspect-ratio: 1/1;
  border-radius: 100%;
  display: flex;
  justify-content: center;
  position: relative;
  transition: color 0.4s ease-in;
  width: 100px;
}
@media screen and (min-width: 768px) {
  .nm-works-beta button {
    width: 150px;
  }
}
@media (hover) {
  .nm-works-beta button:hover {
    color: var(--primary-color) !important;
    cursor: pointer;
  }
  .nm-works-beta button:hover:before {
    transform: scale(1.2);
  }
}
.nm-works-beta button:before {
  background-color: var(--tertiary-color);
  border-radius: 100%;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  width: 100%;
  z-index: 1;
}
.nm-works-beta button > span {
  z-index: 2;
}
.nm-checkbox {
  position: relative;
}
.nm-checkbox input[type="checkbox"] {
  display: none;
  position: absolute;
}
.nm-checkbox label {
  box-sizing: border-box;
  cursor: pointer;
  position: relative;
  transition: background-color 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
@media (hover) {
  .nm-checkbox label:hover {
    background-color: var(--quaternary-color);
  }
  .nm-checkbox label:hover > span {
    color: var(--tertiary-color) !important;
  }
}
.nm-checkbox label span {
  display: inline-block;
  transition: color 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.nm-container-36 {
  display: flex;
  width: 100%;
}
@media screen and (min-width: 992px) {
  .nm-container-36 {
    justify-content: space-between;
  }
}
.nm-container-36 .nm-primary-2,
.nm-container-36 .nm-secondary-2 {
  width: 100%;
}
@media screen and (min-width: 992px) {
  .nm-container-36 .nm-primary-2,
  .nm-container-36 .nm-secondary-2 {
    width: 100%;
  }
  .nm-container-36 .nm-primary-2 {
    max-width: 400px;
  }
  .nm-container-36 .nm-secondary-2 {
    max-width: 510px;
  }
}
.nm-container-36[data-direction="row"] {
  flex-direction: column;
  gap: 30px;
  justify-content: flex-start;
}
@media screen and (min-width: 992px) {
  .nm-container-36[data-direction="row"] {
    flex-direction: row;
    justify-content: space-between;
  }
}
.nm-container-36[data-direction="column"] {
  flex-direction: column;
  gap: 30px;
  justify-content: flex-start;
}
@media screen and (min-width: 992px) {
  .nm-container-36[data-direction="column"] {
    gap: 40px;
  }
}
.nm-container-36[data-direction="column"] .nm-primary-2,
.nm-container-36[data-direction="column"] .nm-secondary-2 {
  width: 100%;
}
@media screen and (min-width: 992px) {
  .nm-container-36[data-direction="column"] .nm-primary-2,
  .nm-container-36[data-direction="column"] .nm-secondary-2 {
    max-width: 100%;
  }
}
.nm-container-36[data-direction="reverse"] {
  flex-direction: column-reverse;
  gap: 50px;
}
@media screen and (min-width: 992px) {
  .nm-container-36[data-direction="reverse"] {
    flex-direction: row-reverse;
  }
}
.nm-container-36[data-direction="row-reverse"] {
  flex-direction: column;
  gap: 50px;
}
@media screen and (min-width: 992px) {
  .nm-container-36[data-direction="row-reverse"] {
    flex-direction: row-reverse;
  }
}
.nm-container-36[data-direction="column-reverse"] {
  flex-direction: column-reverse;
  gap: 50px;
}
@media screen and (min-width: 992px) {
  .nm-container-36[data-direction="column-reverse"] {
    flex-direction: row;
  }
}
.nm-container-37 {
  display: flex;
  justify-content: center;
  margin-top: 100px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-container-37 {
    margin-top: 200px;
  }
}
.nm-wrap-6 {
  background-color: var(--quinary-color);
  border-radius: 30px;
  padding: 100px 30px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-wrap-6 {
    border-radius: 100px;
    max-width: 1280px;
    padding: 120px 110px;
  }
}
.nm-credits-title {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .nm-credits-title {
    text-align: right;
  }
}
.nm-credits-body {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .nm-credits-body {
    margin-top: 100px;
  }
}
.nm-credits-item {
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .nm-credits-item {
    margin-top: 30px;
  }
}
.nm-credits-item h4 {
  margin-bottom: 10px;
}
.nm-link-3 {
  text-decoration: underline;
  text-decoration-color: var(--quaternary-color);
}
@media (hover) {
  .nm-link-3:hover {
    text-decoration: none;
  }
}
.nm-release {
  margin-top: 30px;
}
.nm-visit-site {
  margin-top: 42px;
}
.nm-tags {
  border-top: 2px solid var(--quaternary-color);
  margin-top: 80px;
  padding-top: 20px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-tags {
    margin-top: 100px;
  }
}
.nm-tags ul {
  display: flex;
  flex-wrap: wrap;
  gap: 3px 15px;
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .nm-tags ul {
    margin-top: 62px;
  }
}
.nm-tags ul a {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .nm-container-38 {
    width: 48%;
  }
}
.nm-image-2 {
  aspect-ratio: 620/465;
}
.nm-image-2 .nm-img-item {
  height: 100%;
  position: relative;
  width: 100%;
}
.nm-image-2 img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.nm-link-4 {
  display: block;
}
.nm-link-4 .nm-image-2 {
  isolation: isolate;
  overflow: hidden;
  position: relative;
  transition: border-radius 0.6s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.nm-link-4 .nm-image-2 img {
  transition: transform 0.5s ease-in-out 0.1s;
}
@media (hover) {
  .nm-link-4:hover .nm-image-2 {
    border-radius: 50px;
  }
  .nm-link-4:hover .nm-image-2 img {
    transform: scale(1.2);
  }
}
.nm-link-4 > p {
  margin-top: 10px;
}
.nm-link-4 > p + h3 {
  margin-top: 5px;
}
.nm-container-39 {
  margin-left: auto;
  margin-right: auto;
  width: 84%;
}
@media screen and (min-width: 768px) {
  .nm-container-39 {
    padding: 0 30px;
    width: 100%;
  }
  .nm-container-39,
  .nm-container-39[data-max-width="1060"] {
    max-width: 1120px;
  }
  .nm-container-39[data-max-width="1020"] {
    max-width: 1080px;
  }
  .nm-container-39[data-max-width="840"] {
    max-width: 900px;
  }
  .nm-container-39[data-max-width="620"] {
    max-width: 680px;
  }
  .nm-container-39[data-max-width="400"] {
    max-width: 460px;
  }
}
@keyframes nm-ring-text-xs {
  0% {
    background-position: right 0 top;
  }
  to {
    background-position: right 577px top;
  }
}
@keyframes nm-ring-text-md {
  0% {
    background-position: right 0 center;
  }
  to {
    background-position: right 1054px center;
  }
}
.nm-container-43 {
  position: relative;
}
@keyframes nm-change-image {
  0% {
    opacity: 0;
  }
  15% {
    opacity: 1;
  }
  25% {
    opacity: 1;
  }
  40% {
    opacity: 0;
  }
  to {
    opacity: 0;
  }
}
.nm-container-60 {
  display: grid;
  gap: 80px;
  grid-template-columns: repeat(1, 1fr);
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-container-60 {
    gap: 150px;
  }
}
.nm-content-2 {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(1, 1fr);
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-content-2 {
    gap: 80px;
  }
}
.nm-content-2 iframe {
  aspect-ratio: 16/9;
  height: auto;
  width: 100%;
}
.nm-content-texts {
  padding-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .nm-content-texts {
    padding-bottom: 40px;
  }
}
.nm-body-5 {
  color: var(--tertiary-color);
  font-size: 13px;
  font-style: normal;
  letter-spacing: 0.65px;
  line-height: 170%;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-body-5 {
    font-size: 16px;
    font-style: normal;
    letter-spacing: 0.8px;
    line-height: 170%;
  }
}
.nm-body-5 a {
  color: var(--tertiary-color);
  text-decoration: underline;
}
@media (hover) {
  .nm-body-5 a:hover {
    text-decoration: none;
  }
}
.nm-container-64 {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 30px;
  justify-content: center;
  margin-top: 80px;
  overflow: hidden;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-container-64 {
    gap: 50px;
    margin-top: 150px;
  }
}
.nm-animation {
  animation: nm-ring-text-xs-2 10s linear infinite;
  background-size: auto 30px;
  display: flex;
  height: 40px;
  justify-content: center;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-animation {
    animation: nm-ring-text-md-2 10s linear infinite;
    background-size: auto 74px;
    height: 100px;
    padding-top: 0;
  }
}
@keyframes nm-ring-text-xs-2 {
  0% {
    background-position: right 0 top;
  }
  to {
    background-position: right 577px top;
  }
}
@keyframes nm-ring-text-md-2 {
  0% {
    background-position: right 0 center;
  }
  to {
    background-position: right 1054px center;
  }
}
.nm-body-6 {
  width: 84%;
}
@media screen and (min-width: 768px) {
  .nm-body-6 {
    max-width: 620px;
    width: 100%;
  }
}
.nm-container-65 {
  background-color: var(--work-bg-color, #0000);
  min-height: calc(var(--vh, 1vh) * 100);
  padding-bottom: 30px;
  position: relative;
  transition: background-color 0.7s cubic-bezier(0.215, 0.61, 0.355, 1);
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-container-65 {
    padding-bottom: 100px;
  }
}
.nm-header-3 {
  align-items: center;
  display: flex;
  height: 480px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-header-3 {
    height: 725px;
  }
}
.nm-main-visual {
  overflow: hidden;
  position: relative;
  transition: transform 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275) 1ms;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-main-visual {
    aspect-ratio: 1440/750;
  }
}
.nm-main-visual .nm-target {
  height: 100%;
  transform: scale(0.8);
  width: 100%;
}
.nm-main-visual .nm-image-11 {
  height: 100%;
  position: relative;
  width: 100%;
}
.nm-main-visual img,
.nm-main-visual video {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.nm-overview-3 {
  margin-top: 100px;
}
@media screen and (min-width: 768px) {
  .nm-overview-3 {
    margin-top: 200px;
  }
}
.nm-overview-right {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.nm-overview-right > span {
  height: 2px;
  width: 10px;
}
.nm-block-line,
.nm-overview-right > span {
  background-color: var(--tertiary-color);
}
.nm-block-line {
  border-radius: 100px;
  display: block;
  height: 6px;
  margin: 80px auto;
  width: 40px;
}
@media screen and (min-width: 768px) {
  .nm-block-line {
    margin: 200px auto;
  }
}
.nm-works-2 {
  margin: 100px auto 0;
  overflow: hidden;
  padding-top: 20px;
}
@media screen and (min-width: 768px) {
  .nm-works-2 {
    margin: 200px auto 0;
  }
}
.nm-works-2 h3 {
  display: block;
  padding-top: 20px;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-works-2 h3 {
    padding-left: 0;
  }
}
.nm-works-2 h3:before {
  border-top: 2px solid var(--tertiary-color);
  content: "";
  left: 50%;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-works-2 h3:before {
    left: 0;
    transform: translateX(0);
  }
}
.nm-works-swiper {
  overflow: visible;
  padding-top: 33px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-works-swiper {
    max-width: 1280px;
    padding: 60px 0;
  }
}
.nm-works-item {
  width: 244px;
}
@media screen and (min-width: 768px) {
  .nm-works-item {
    width: 400px;
  }
}
.nm-works-item a {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.nm-works-item a .nm-image-11 {
  isolation: isolate;
  overflow: hidden;
  position: relative;
  transition: border-radius 0.6s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.nm-works-item a .nm-image-11 img {
  transition: transform 0.5s ease-in-out 0.1s;
}
@media (hover) {
  .nm-works-item a:hover .nm-image-11 {
    border-radius: 50px;
  }
  .nm-works-item a:hover .nm-image-11 img {
    transform: scale(1.2);
  }
}
.nm-body-7,
.nm-container-66 {
  background-color: var(--primary-color);
}
.nm-body-7 {
  border-radius: 30px 30px 0 0;
  margin-top: -30px;
  overflow: hidden;
  padding-bottom: 50px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .nm-body-7 {
    border-radius: 100px 100px 0 0;
    margin-top: -100px;
    padding-bottom: 0;
  }
}
.nm-vision-container {
  background-color: var(--primary-color);
  position: relative;
}
.nm-vision-container {
  margin-left: auto;
  margin-right: auto;
  padding-top: 150px;
  width: 85%;
}
@media screen and (min-width: 768px) {
  .nm-vision-container {
    padding-top: 300px;
    width: 63%;
  }
}
.nm-vision-header {
  display: flex;
  flex-direction: column;
  gap: 24px 0;
  justify-content: center;
  text-align: center;
}
.nm-vision-body {
  margin-top: 60px;
}
.nm-vision-list {
  display: flex;
  flex-direction: column;
  gap: 20px 0;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .nm-vision-list {
    gap: 30px 0;
    width: 514px;
  }
}
.nm-vision-list > li {
  align-items: center;
  display: flex;
  gap: 0 15px;
}
.nm-vision-list > li > p {
  flex: 1;
}
.nm-vision-num {
  align-items: center;
  aspect-ratio: 1/1;
  border: 1px solid var(--tertiary-color);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  width: 40px;
}
.nm-we-do {
  margin-left: auto;
  margin-right: auto;
  margin-top: 150px;
  width: 80%;
}
@media screen and (min-width: 768px) {
  .nm-we-do {
    margin-top: 300px;
    max-width: 904px;
    width: 90%;
  }
}
.nm-we-do-header {
  position: relative;
}
.nm-we-do-path {
  bottom: -4px;
  height: 11px;
  right: -8px;
  width: 75px;
}
@media screen and (min-width: 768px) {
  .nm-we-do-path {
    bottom: -19px;
    height: 31px;
    right: 0;
    width: 204px;
  }
}
.nm-we-do-title {
  display: flex;
  flex-direction: column;
  gap: 3px 0;
  justify-content: flex-end;
  margin-left: auto;
  width: 176px;
}
@media screen and (min-width: 768px) {
  .nm-we-do-title {
    width: 377px;
  }
}
.nm-we-do-title > span {
  display: block;
}
.nm-we-do-title > span:last-of-type {
  margin-left: 40px;
}
@media screen and (min-width: 768px) {
  .nm-we-do-title > span:last-of-type {
    margin-left: 100px;
  }
}
.nm-we-do-body {
  display: flex;
  flex-direction: column;
  gap: 40px 0;
  margin-top: 45px;
}
@media screen and (min-width: 768px) {
  .nm-we-do-body {
    gap: 64px 0;
    margin-top: 58px;
  }
}
.nm-we-think-path {
  bottom: -6px;
  height: 19px;
  left: 0;
  width: 124px;
}
@media screen and (min-width: 768px) {
  .nm-we-think-path {
    bottom: -10px;
    height: 39px;
    left: 96px;
    width: 250px;
  }
}
@media screen and (min-width: 992px) {
  .nm-we-think-path {
    left: 6px;
  }
}
.nm-we-think-title {
  display: flex;
  flex-direction: column;
  gap: 3px 0;
  width: 248px;
}
@media screen and (min-width: 768px) {
  .nm-we-think-title {
    width: 432px;
  }
}
.nm-we-think-title > span {
  display: block;
}
.nm-we-think-title > span:first-of-type {
  margin-left: 54px;
}
@media screen and (min-width: 768px) {
  .nm-we-think-title > span:first-of-type {
    margin-left: 100px;
  }
}
.nm-about-container {
  margin-top: 100px;
  padding-bottom: 10px;
}
.nm-about-container > .nm-about + .nm-about {
  margin-top: 108px;
}
@media screen and (min-width: 768px) {
  .nm-about-container > .nm-about + .nm-about {
    margin-top: 200px;
  }
  .nm-about-container {
    margin-top: 370px;
    padding-bottom: 20px;
  }
}
@media screen and (min-width: 992px) {
  .nm-about-container {
    margin-top: 140vh;
  }
}
.nm-about {
  position: relative;
}
@media screen and (min-width: 768px) {
  .nm-about {
    align-items: center;
    display: flex;
    gap: 0 40px;
    width: 100%;
  }
}
.nm-about[data-index="1"] .nm-about-icon {
  right: -28px;
  top: -40px;
  width: 104px;
}
@media screen and (min-width: 992px) {
  .nm-about[data-index="1"] .nm-about-icon {
    max-width: 195px;
    right: -10%;
    top: -70px;
    width: 39%;
  }
}
.nm-about[data-index="2"] .nm-about-icon {
  bottom: -10px;
  left: 10px;
  width: 47px;
}
@media screen and (min-width: 992px) {
  .nm-about[data-index="2"] .nm-about-icon {
    bottom: auto;
    left: 50px;
    max-width: 100px;
    top: -70px;
    width: 20%;
  }
}
.nm-about[data-index="3"] .nm-about-icon {
  right: -28px;
  top: -40px;
  width: 104px;
}
@media screen and (min-width: 992px) {
  .nm-about[data-index="3"] .nm-about-icon {
    max-width: 195px;
    top: -70px;
    width: 39%;
  }
}
.nm-about[data-index="4"] .nm-about-icon {
  bottom: -40px;
  left: 15px;
  width: 84px;
}
@media screen and (min-width: 992px) {
  .nm-about[data-index="4"] .nm-about-icon {
    left: 50px;
    max-width: 156px;
    top: -70px;
    width: 32%;
  }
}
.nm-about-alpha > p {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .nm-about-alpha > p {
    margin-top: 30px;
  }
  .nm-about-alpha {
    width: 50%;
  }
}
.nm-about-beta {
  margin-top: 40px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .nm-about-beta {
    flex: 1;
    margin-top: 0;
  }
}
.nm-about-button-container {
  bottom: -50px;
  position: absolute;
  right: 0;
}
@media screen and (min-width: 768px) {
  .nm-about-button-container {
    margin-top: 30px;
    position: static;
  }
}
.nm-about-icon {
  font-size: 0;
  line-height: 0;
  position: absolute;
  z-index: 100;
}
.nm-container-67 {
  overflow: hidden;
  padding-top: 230px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .nm-container-67 {
    padding-top: 280px;
  }
}
.nm-body-8 {
  margin-top: 120px;
}
@media screen and (min-width: 768px) {
  .nm-body-8 {
    margin-top: 232px;
  }
}
.nm-summary {
  margin-top: 100px;
}
@media screen and (min-width: 992px) {
  .nm-summary {
    display: flex;
    gap: 0 11%;
    margin-top: 200px;
  }
  .nm-summary-header {
    width: 326px;
  }
}
.nm-summary-body {
  margin-top: 50px;
}
@media screen and (min-width: 768px) {
  .nm-summary-body {
    margin-top: 100px;
  }
}
@media screen and (min-width: 992px) {
  .nm-summary-body {
    flex: 1;
    margin-top: 10px;
  }
}
.nm-summary-body > .nm-summary-detail + .nm-summary-detail {
  margin-top: 50px;
}
@media screen and (min-width: 768px) {
  .nm-summary-body > .nm-summary-detail + .nm-summary-detail {
    margin-top: 86px;
  }
}
.nm-summary-detail {
  border-top: 2px solid var(--tertiary-color);
  padding-top: 20px;
}
.nm-summary-detail-body {
  display: flex;
  flex-direction: column;
  gap: 20px 0;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .nm-summary-detail-body {
    margin-top: 52px;
  }
}
.nm-summary-detail-list {
  display: flex;
}
.nm-summary-detail-list > dt {
  width: 122px;
}
@media screen and (min-width: 768px) {
  .nm-summary-detail-list > dt {
    width: 40%;
  }
}
.nm-summary-detail-list > dd {
  flex: 1;
}
.nm-offices {
  margin-left: auto;
  margin-right: auto;
  margin-top: 100px;
  width: 85%;
}
@media screen and (min-width: 768px) {
  .nm-offices {
    margin-top: 200px;
    max-width: 1060px;
    width: 74%;
  }
}
.nm-offices-body {
  display: flex;
  flex-direction: column;
  gap: 60px 0;
  margin-top: 50px;
}
@media screen and (min-width: 768px) {
  .nm-offices-body {
    gap: 80px 0;
    margin-top: 100px;
  }
}
.nm-offices-detail {
  position: relative;
}
.nm-offices-detail > h4 {
  margin-top: 20px;
  position: relative;
  z-index: 100;
}
.nm-offices-detail > p {
  margin-top: 10px;
  position: relative;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .nm-offices-detail > p {
    margin-top: 20px;
  }
}
.nm-offices-decoration {
  position: absolute;
  right: -80px;
  top: -80px;
  width: 157px;
  will-change: transform;
}
@media screen and (min-width: 768px) {
  .nm-offices-decoration {
    height: 400px;
    right: 0;
    top: -200px;
    width: 400px;
  }
}
.nm-offices-detail-image {
  position: relative;
}
@media screen and (min-width: 768px) {
  .nm-offices-detail-image {
    align-items: flex-end;
    display: flex;
    gap: 0 6%;
  }
  .nm-offices-detail-image > li:first-of-type {
    width: 79%;
  }
}
.nm-offices-detail-image > li:last-of-type {
  bottom: -40px;
  position: absolute;
  right: -9%;
  width: 118px;
}
@media screen and (min-width: 768px) {
  .nm-offices-detail-image > li:last-of-type {
    position: static;
    width: 14%;
  }
}
.nm-map-button {
  margin-top: 20px;
}
.nm-awards {
  background-color: var(--quinary-color);
  border-radius: 30px;
  margin-top: 100px;
  padding-bottom: 140px;
  padding-top: 80px;
}
@media screen and (min-width: 768px) {
  .nm-awards {
    border-radius: 100px 100px 0 0;
    margin-top: 200px;
    padding-bottom: 250px;
    padding-top: 120px;
  }
}
.nm-awards-header {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .nm-awards-header {
    text-align: right;
  }
}
.nm-awards-body {
  margin-top: 74px;
}
@media screen and (min-width: 768px) {
  .nm-awards-body {
    margin-top: 105px;
  }
}
.nm-awards-body > h4 {
  margin-top: 50px;
}
@media screen and (min-width: 768px) {
  .nm-awards-body > h4 {
    margin-top: 80px;
  }
  .nm-awards-list-container {
    display: flex;
    gap: 0 75px;
  }
}
.nm-clients {
  background-color: var(--quaternary-color);
  border-radius: 30px;
  margin-top: -60px;
  padding-bottom: 140px;
  padding-top: 80px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .nm-clients {
    border-radius: 100px;
    margin-top: -100px;
    padding-bottom: 250px;
    padding-top: 120px;
  }
}
.nm-clients-header {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .nm-clients-header {
    text-align: right;
  }
}
.nm-clients-body {
  margin-top: 74px;
}
@media screen and (min-width: 768px) {
  .nm-clients-body {
    margin-top: 100px;
  }
}
.nm-clients-list-container {
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .nm-clients-list-container {
    display: flex;
    gap: 0 107px;
  }
}
.nm-partners-body {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .nm-partners-body {
    margin-top: 80px;
  }
}
.nm-partners-banner:first-child {
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .nm-partners-banner:first-child {
    margin-top: 40px;
  }
}
.nm-partners-banner:not(:first-child) {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .nm-partners-banner:not(:first-child) {
    margin-top: 50px;
  }
}
.nm-container-68 {
  padding-bottom: calc(var(--vh, 1vh) * 100);
}
.nm-container-68 {
  position: relative;
  width: 100%;
}
@keyframes nm-history-kv {
  0% {
    clip-path: circle(100%);
  }
  to {
    clip-path: circle(0);
  }
}
.nm-container-69 {
  overflow: hidden;
  padding-top: 230px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .nm-container-69 {
    padding-top: 280px;
  }
}
.nm-body-9 {
  margin-top: 155px;
}
@media screen and (min-width: 768px) {
  .nm-body-9 {
    margin-top: 283px;
  }
}
.nm-about-2 {
  background-color: var(--quinary-color);
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  gap: 20px 0;
  padding: 50px 30px;
  width: 85%;
}
@media screen and (min-width: 768px) {
  .nm-about-2 {
    padding: 80px;
  }
}
.nm-details-2 {
  display: flex;
  flex-direction: column;
  gap: 60px 0;
  margin-top: 100px;
}
@media screen and (min-width: 768px) {
  .nm-details-2 {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 60px 0;
    justify-content: space-between;
    margin-top: 150px;
  }
}
.nm-detail-2 > h3 {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .nm-detail-2 > h3 {
    margin-top: 30px;
  }
  .nm-detail-2 {
    width: 31%;
  }
}
.nm-detail-text {
  margin-top: 10px;
}
.nm-past-details {
  background-color: var(--quaternary-color);
  border-radius: 30px;
  margin-top: 100px;
  padding-bottom: 100px;
  padding-top: 80px;
}
@media screen and (min-width: 768px) {
  .nm-past-details {
    border-radius: 100px;
    margin-top: 200px;
    padding-bottom: 200px;
    padding-top: 150px;
  }
}
.nm-past-details-header {
  text-align: center;
}
.nm-past-details-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 6%;
  margin-top: 50px;
}
@media screen and (min-width: 768px) {
  .nm-past-details-inner {
    gap: 50px 4%;
    margin-top: 100px;
  }
}
.nm-past-detail {
  width: 47%;
}
@media screen and (min-width: 768px) {
  .nm-past-detail {
    display: flex;
    justify-content: space-between;
  }
  .nm-past-detail > * {
    width: 46%;
  }
}
.nm-past-detail-beta,
.nm-past-detail-beta > p {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .nm-past-detail-beta > p {
    margin-top: 20px;
  }
  .nm-past-detail-beta {
    margin-top: 0;
  }
}
.nm-container-70 {
  overflow: hidden;
  padding-bottom: 50px;
  padding-top: 230px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .nm-container-70 {
    padding-bottom: 100px;
    padding-top: 280px;
  }
}
.nm-body-10 {
  display: grid;
  grid-gap: 30px 4%;
  grid-template-columns: repeat(auto-fill, 48%);
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  margin-top: 155px;
}
@media screen and (min-width: 768px) {
  .nm-body-10 {
    grid-gap: 40px;
    grid-template-columns: repeat(auto-fill, 180px);
    margin-top: 284px;
    max-width: 1280px;
  }
}
.nm-article {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nm-article {
    max-width: 180px;
  }
}
.nm-article-link .nm-image-13 {
  isolation: isolate;
  overflow: hidden;
  position: relative;
  transition: border-radius 0.6s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.nm-article-link .nm-image-13 img {
  transition: transform 0.5s ease-in-out 0.1s;
}
@media (hover) {
  .nm-article-link:hover .nm-image-13 {
    border-radius: 50px;
  }
  .nm-article-link:hover .nm-image-13 img {
    transform: scale(1.2);
  }
}
.nm-title-3 {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .nm-title-3 {
    margin-top: 20px;
  }
}
.nm-container-71 {
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 100px;
  padding-top: 190px;
  position: relative;
  width: 85%;
}
@media screen and (min-width: 768px) {
  .nm-container-71 {
    max-width: 1280px;
    padding-bottom: 200px;
    padding-left: 40px;
    padding-right: 40px;
    width: 100%;
  }
}
.nm-image-14 {
  margin-left: auto;
  margin-right: auto;
  width: 157px;
}
@media screen and (min-width: 768px) {
  .nm-image-14 {
    width: 180px;
  }
  .nm-main-container {
    display: flex;
    gap: 0 150px;
    margin-left: auto;
    margin-right: auto;
    max-width: 1060px;
  }
}
.nm-main-2 {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .nm-main-2 {
    flex: 1;
    margin-top: 0;
  }
}
.nm-header-sub {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 10px;
  overflow-wrap: break-word;
}
@media screen and (min-width: 768px) {
  .nm-header-sub {
    gap: 30px;
  }
}
.nm-header-sub .nm-occupation {
  display: inline-block;
  position: relative;
}
.nm-footer-2 {
  margin-left: auto;
  margin-right: auto;
  margin-top: 40px;
  width: 330px;
}
@media screen and (min-width: 768px) {
  .nm-footer-2 {
    margin-top: 140px;
    width: 380px;
  }
}
.nm-page-button-list {
  display: grid;
  gap: 24px;
  grid-template-columns: 50px 180px 50px;
  grid-template-rows: 1fr;
}
@media screen and (min-width: 768px) {
  .nm-page-button-list {
    gap: 20px;
    grid-template-columns: 60px 220px 60px;
  }
}
.nm-prev-next-button {
  align-items: center;
  border: 2px solid var(--tertiary-color);
  border-radius: 50%;
  display: flex;
  height: 50px;
  justify-content: center;
  transition: background-color 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  width: 50px;
}
@media (hover) {
  .nm-prev-next-button:hover {
    background-color: var(--tertiary-color);
  }
  .nm-prev-next-button:hover svg {
    fill: var(--primary-color);
  }
  .nm-prev-next-button:hover > span > span:last-of-type {
    transform: translateX(0);
  }
  .nm-prev-next-button:hover > span[data-icon-type="prev"] > span:first-of-type {
    transform: translateX(-110%);
  }
  .nm-prev-next-button:hover > span[data-icon-type="next"] > span:first-of-type {
    transform: translateX(110%);
  }
}
@media screen and (min-width: 768px) {
  .nm-prev-next-button {
    height: 60px;
    width: 60px;
  }
}
.nm-prev-next-button > span {
  display: block;
  overflow: hidden;
  position: relative;
  width: 10px;
}
@media screen and (min-width: 768px) {
  .nm-prev-next-button > span {
    width: 14px;
  }
}
.nm-prev-next-button > span[data-icon-type="prev"] > span:last-of-type {
  transform: translateX(110%);
}
.nm-prev-next-button > span[data-icon-type="next"] > span:last-of-type {
  transform: translateX(-110%);
}
.nm-prev-next-button > span > span {
  display: block;
  font-size: 0;
  line-height: 0;
  top: 0;
  transition: all 0.4s ease-in-out;
}
.nm-prev-next-button > span > span:last-of-type {
  position: absolute;
}
.nm-prev-next-button svg {
  fill: var(--tertiary-color);
  transition: fill 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
.nm-top-button {
  align-items: center;
  border: 2px solid var(--tertiary-color);
  border-radius: 100px;
  display: flex;
  height: 50px;
  justify-content: center;
  transition: background-color 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  width: 180px;
}
.nm-top-button > span {
  transition: color 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
@media screen and (min-width: 768px) {
  .nm-top-button {
    border-radius: 300px;
    height: 60px;
    width: 220px;
  }
}
@media (hover) {
  .nm-top-button:hover {
    background-color: var(--tertiary-color);
  }
  .nm-top-button:hover > span {
    color: var(--primary-color) !important;
  }
}
.nm-body-11 {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .nm-body-11 {
    margin-top: 32px;
  }
  .nm-information {
    align-items: center;
    display: flex;
    gap: 0 30px;
  }
}
.nm-office-text {
  align-items: center;
  display: inline-flex;
  gap: 0 10px;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .nm-office-text {
    margin-top: 0;
  }
}
.nm-map-icon {
  font-size: 0;
  line-height: 0;
  width: 10px;
}
.nm-link-list {
  display: flex;
  gap: 0 8px;
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .nm-link-list {
    margin-top: 0;
  }
}
.nm-text-3 {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .nm-text-3 {
    margin-top: 80px;
  }
}
.nm-featured-works {
  border-top: 2px solid var(--tertiary-color);
  margin-top: 60px;
  padding-top: 20px;
}
@media screen and (min-width: 768px) {
  .nm-featured-works {
    margin-top: 100px;
  }
}
.nm-featured-works-body {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 2%;
  margin-top: 36px;
}
@media screen and (min-width: 768px) {
  .nm-featured-works-body {
    gap: 60px 3.5%;
  }
}
.nm-featured-works-detail {
  width: 49%;
}
@media screen and (min-width: 768px) {
  .nm-featured-works-detail {
    max-width: none;
    width: 31%;
  }
}
.nm-featured-works-detail > * + * {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .nm-featured-works-detail > * + * {
    margin-top: 20px;
  }
}
.nm-featured-works-detail img {
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
@media (hover) {
  .nm-featured-works-detail:hover img {
    border-radius: 50px;
    display: block;
  }
}
.nm-container-72 {
  overflow: hidden;
  padding-bottom: 100px;
  padding-top: 230px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .nm-container-72 {
    padding-bottom: 200px;
    padding-top: 280px;
  }
}
.nm-body-12 {
  margin-top: 155px;
}
@media screen and (min-width: 768px) {
  .nm-body-12 {
    margin-top: 283px;
  }
}
.nm-details-3 {
  display: flex;
  flex-direction: column;
  gap: 60px 0;
  margin-top: 100px;
}
@media screen and (min-width: 768px) {
  .nm-details-3 {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 80px 2%;
    margin-top: 150px;
  }
}
.nm-detail-3 > h4 {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .nm-detail-3 {
    width: 32%;
  }
}
.nm-detail-date {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .nm-detail-date {
    margin-top: 30px;
  }
}
.nm-detail-text-2 {
  margin-top: 10px;
}
.nm-detail-link {
  margin-top: 20px;
}
.nm-container-74 {
  overflow: hidden;
  padding-top: 230px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .nm-container-74 {
    padding-top: 280px;
  }
}
.nm-body-13 {
  margin-top: 150px;
}
@media screen and (min-width: 768px) {
  .nm-body-13 {
    margin-top: 284px;
  }
}
.nm-description-2 {
  position: relative;
}
.nm-description-text-container {
  display: flex;
  flex-direction: column;
  gap: 24px 0;
  margin-left: auto;
  margin-right: auto;
  margin-top: 100px;
  position: relative;
  width: 85%;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .nm-description-text-container {
    margin-top: 200px;
    width: 640px;
  }
}
.nm-job-illust {
  margin-top: 162px;
}
@media screen and (min-width: 768px) {
  .nm-job-illust {
    margin-top: 225px;
  }
}
.nm-recommendation {
  border-top: 1px solid var(--tertiary-color);
  margin-left: auto;
  margin-right: auto;
  margin-top: 150px;
  padding-top: 20px;
  width: 85%;
}
@media screen and (min-width: 768px) {
  .nm-recommendation {
    border-top: none;
    margin-top: 300px;
    width: 81%;
  }
}
@media screen and (min-width: 992px) {
  .nm-recommendation {
    display: flex;
    gap: 0 90px;
    max-width: 1060px;
    width: 74%;
  }
}
.nm-recommendation-header {
  display: flex;
  flex-direction: column;
  gap: 5px 0;
}
@media screen and (min-width: 768px) {
  .nm-recommendation-header {
    gap: 10px 0;
  }
}
@media screen and (min-width: 992px) {
  .nm-recommendation-header {
    width: 240px;
  }
}
.nm-recommendation-list {
  display: flex;
  flex-direction: column;
  gap: 20px 0;
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .nm-recommendation-list {
    border-top: 1px solid var(--tertiary-color);
    gap: 30px 0;
    margin-top: 80px;
    padding-top: 30px;
  }
}
@media screen and (min-width: 992px) {
  .nm-recommendation-list {
    flex: 1;
    margin-top: 0;
  }
}
.nm-recommendation-item {
  align-items: center;
  display: flex;
  gap: 0 10px;
}
.nm-recommendation-item > p:last-of-type {
  flex: 1;
}
@media screen and (min-width: 768px) {
  .nm-recommendation-item {
    gap: 0 20px;
  }
}
.nm-job-description {
  border-top: 1px solid var(--tertiary-color);
  margin-left: auto;
  margin-right: auto;
  margin-top: 82px;
  padding-top: 20px;
  width: 85%;
}
@media screen and (min-width: 768px) {
  .nm-job-description {
    border-top: none;
    margin-top: 100px;
    width: 81%;
  }
}
@media screen and (min-width: 992px) {
  .nm-job-description {
    display: flex;
    gap: 0 90px;
    max-width: 1060px;
    width: 74%;
  }
}
.nm-job-description-header {
  display: flex;
  flex-direction: column;
  gap: 5px 0;
}
@media screen and (min-width: 768px) {
  .nm-job-description-header {
    gap: 10px 0;
  }
}
@media screen and (min-width: 992px) {
  .nm-job-description-header {
    width: 240px;
  }
}
.nm-job-description-body {
  display: flex;
  flex-direction: column;
  gap: 24px 0;
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .nm-job-description-body {
    border-top: 1px solid var(--tertiary-color);
    gap: 40px 0;
    margin-top: 80px;
    padding-top: 30px;
  }
}
@media screen and (min-width: 992px) {
  .nm-job-description-body {
    flex: 1;
    margin-top: 0;
  }
}
.nm-job-description-detail {
  display: flex;
  gap: 0 30px;
}
@media screen and (min-width: 768px) {
  .nm-job-description-detail {
    gap: 0 150px;
  }
}
.nm-job-description-detail > dt {
  width: 68px;
}
.nm-job-description-detail > dd {
  flex: 1;
}
.nm-job-description-detail > dd > p + p {
  margin-top: 16px;
}
.nm-job-details {
  margin-top: 160px;
  position: relative;
}
.nm-job-details > .nm-job-detail:last-of-type {
  border-radius: 30px;
}
@media screen and (min-width: 768px) {
  .nm-job-details > .nm-job-detail:last-of-type {
    border-radius: 100px;
  }
}
.nm-job-detail {
  background-color: var(--quinary-color);
  border-radius: 30px 30px 0 0;
  margin-top: -30px;
  padding-top: 80px;
  position: relative;
}
.nm-job-detail[data-index="1"] {
  margin-top: 0;
}
.nm-job-detail[data-index="1"],
.nm-job-detail[data-index="3"] {
  background-color: var(--quaternary-color);
}
@media screen and (min-width: 768px) {
  .nm-job-detail {
    border-radius: 100px 100px 0 0;
    margin-top: -200px;
    min-height: calc(var(--vh, 1vh) * 100);
    padding-bottom: 300px;
    padding-top: 200px;
  }
  .nm-job-detail-inner {
    display: flex;
    flex-direction: row-reverse;
    gap: 0 14%;
    margin-left: auto;
    margin-right: auto;
    max-width: 1060px;
    width: 74%;
  }
  .nm-job-detail-alpha {
    flex: 1;
  }
}
.nm-job-detail-header {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  width: 85%;
}
@media screen and (min-width: 768px) {
  .nm-job-detail-header {
    width: 100%;
  }
}
.nm-job-detail-title {
  display: flex;
  flex-direction: column;
}
.nm-job-detail-body {
  margin-left: auto;
  margin-right: auto;
  margin-top: 40px;
  width: 85%;
}
@media screen and (min-width: 768px) {
  .nm-job-detail-body {
    width: 100%;
  }
}
.nm-job-detail-list {
  display: flex;
  flex-direction: column;
  gap: 15px 0;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .nm-job-detail-list {
    gap: 15px 0;
  }
}
.nm-job-detail-button {
  display: flex;
  gap: 0 10px;
  text-align: left;
}
@media (hover) {
  .nm-job-detail-button:hover .nm-job-detail-button-text {
    text-decoration: none;
  }
}
.nm-job-detail-button-text {
  flex: 1;
  text-decoration: underline;
}
.nm-job-detail-attention {
  color: var(--septenary-color);
  margin-top: 40px;
}
.nm-job-detail-image {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .nm-job-detail-image {
    margin-top: 0;
    width: 38%;
  }
}
.nm-container-75 {
  overflow: hidden;
  padding-bottom: 200px;
  position: relative;
  width: 100%;
}
.nm-container-75 > header {
  padding-bottom: 130px;
  padding-top: 230px;
}
@media screen and (min-width: 768px) {
  .nm-container-75 > header {
    padding-bottom: 206px;
    padding-top: 280px;
  }
}
.nm-form-list {
  margin-left: auto;
  margin-right: auto;
  width: 84%;
}
@media screen and (min-width: 768px) {
  .nm-form-list {
    max-width: 620px;
  }
}
.nm-form-list ul {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media screen and (min-width: 768px) {
  .nm-form-list ul {
    gap: 60px;
  }
}
.nm-form-list li {
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .nm-form-list li {
    gap: 20px;
  }
}
.nm-conf-button {
  display: flex;
  justify-content: center;
  margin-top: 45px;
}
.nm-container-76 {
  overflow: hidden;
  padding-bottom: 100px;
  padding-top: 150px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .nm-container-76 {
    padding-bottom: 224px;
    padding-top: 276px;
  }
}
.nm-inner-7 {
  margin-left: auto;
  margin-right: auto;
  width: 85%;
}
@media screen and (min-width: 768px) {
  .nm-inner-7 {
    max-width: 840px;
    width: 59%;
  }
}
.nm-header-4 {
  text-align: center;
}
.nm-body-14 {
  display: flex;
  flex-direction: column;
  gap: 60px 0;
  margin-top: 150px;
}
@media screen and (min-width: 768px) {
  .nm-body-14 {
    gap: 80px 0;
    margin-top: 206px;
  }
}
.nm-detail-body {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .nm-detail-body {
    margin-top: 40px;
  }
}
.nm-detail-list-2 > li {
  padding-left: 1em;
  position: relative;
}
.nm-detail-list-2 > li:before {
  background-color: var(--tertiary-color);
  border-radius: 50%;
  content: "";
  display: inline-block;
  height: 4px;
  left: 0;
  position: absolute;
  top: 0.65em;
  width: 4px;
}
@media screen and (min-width: 768px) {
  .nm-detail-list-2 > li:before {
    top: 0.75em;
  }
}
.nm-container-77 {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: calc(var(--vh, 1vh) * 100);
  overflow-y: auto;
  position: relative;
  width: 100%;
}
.nm-container-77[data-is-vishible="false"] {
  display: none;
}
.nm-input-id {
  gap: 30px;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .nm-input-id {
    gap: 40px;
    height: calc(var(--vh, 1vh) * 100);
    min-height: 760px;
  }
}
.nm-input-id .nm-header-5 {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .nm-input-id .nm-header-5 {
    height: 85px;
  }
}
.nm-input-id input {
  text-align: center;
}
.nm-input-id form {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 40px;
  justify-content: center;
}
.nm-input-id .nm-input {
  position: relative;
  width: 180px;
}
@media screen and (min-width: 768px) {
  .nm-input-id .nm-input {
    width: 230px;
  }
}
.nm-input-id .nm-input .nm-error {
  bottom: 0;
  left: 50%;
  line-height: 1.2;
  text-align: center;
  transform: translate(-50%, 98%);
  width: 300px;
}
.nm-input-id .nm-button-4 {
  position: relative;
}

/* ---- nm ---- */
/* ナリモノ自前の CSS（base.css の後に読む・build で元の名前は nm- に付け替わる） */
:root {
  --vw: 1vw; --vh: 1vh;
  --primary-color: #ffc62a; --secondary-color: #ffd65c;
  --nm-yellow: #ffc62a; --nm-ink: #141414; --nm-cream: #faf7ef; --nm-red: #e8452c;
  /* 黄色の地の文字は墨（D-036）。元の白（--tertiary-color）は、暗い地・写真の上だけで白に戻す（.nr-on-dark） */
  --tertiary-color: #141414;
  --nr-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --nr-pop: cubic-bezier(0.34, 1.56, 0.64, 1);
}
body { overflow: visible; position: static; height: auto; background: var(--nm-yellow); }
/* 和文の改行は文節で（C-013・C-008）。見出しは行の長さをそろえ、本文は最後の行を短くしすぎない */
#nm-root { word-break: auto-phrase; line-break: strict; text-wrap: pretty; }
#nm-root :is(h1, h2, h3, h4, h5) { text-wrap: balance; }
main.nr-main { display: block; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: clip; }
.lenis [data-lenis-prevent] { overscroll-behavior: contain; }
::selection { background: var(--nm-ink); color: var(--nm-yellow); }

/* ---------- ヘッダー ---------- */
.nr-logo.nm-logo-2 { width: auto; height: auto; overflow: visible; top: 26px; left: 24px; }
.nr-logo__word { display: inline-block; font-family: "Bagel Fat One", var(--en-demibold-font); font-size: 26px; line-height: 1; letter-spacing: 0.01em; color: #fff; transition: transform .5s var(--nr-pop); }
.nr-logo a:hover .nr-logo__word { transform: rotate(-4deg) scale(1.04); }
body[data-menu="open"] .nr-logo__word { color: var(--nm-yellow); }
@media (min-width: 768px) {
  .nr-logo.nm-logo-2 { top: 50px; left: 80px; }
  .nr-logo__word { font-size: 32px; }
}
.nm-links-2 li a [data-line] { height: 3px; border-radius: 3px; bottom: 1px; }
.nm-links-2 li a[aria-current="page"] [data-line] { transform: scaleX(1); }

.nr-sound { position: absolute; top: 34px; right: 84px; z-index: 202; display: none; align-items: center; gap: 8px; height: 40px; padding: 0 14px 0 12px; border: 2px solid #fff; border-radius: 999px; color: #fff; cursor: pointer; transition: background-color .3s, color .3s; }
.nr-sound__icon { display: inline-flex; align-items: flex-end; gap: 2px; height: 12px; }
.nr-sound__icon i { display: block; width: 3px; height: 4px; border-radius: 2px; background: #fff; transition: height .3s; }
.nr-sound[aria-pressed="true"] { background: #fff; }
.nr-sound[aria-pressed="true"] .nr-sound__icon i { background: var(--nm-ink); animation: nr-bounce .9s ease-in-out infinite; }
.nr-sound[aria-pressed="true"] .nr-sound__icon i:nth-child(2) { animation-delay: -.3s; }
.nr-sound[aria-pressed="true"] .nr-sound__icon i:nth-child(3) { animation-delay: -.6s; }
.nr-sound[aria-pressed="true"] .nm-t { color: var(--nm-ink) !important; }
.nr-sound .nm-t b { font-weight: inherit; }
@media (min-width: 768px) { .nr-sound { display: inline-flex; top: 54px; right: 148px; } }
@media (hover: hover) { .nr-sound:hover { background: #fff; } .nr-sound:hover .nm-t { color: var(--nm-ink) !important; } .nr-sound:hover .nr-sound__icon i { background: var(--nm-ink); } }

.nr-burger.nm-hamburger { border-radius: 14px; gap: 3px; align-items: flex-end; padding-bottom: 15px; transition: background-color .3s, border-color .3s; }
.nr-burger.nm-hamburger > span { width: 3px; border-radius: 2px; transform: none !important; transition: height .4s var(--nr-pop), transform .4s var(--nr-ease), opacity .3s; }
.nr-burger > span:nth-of-type(1) { height: 10px; }
.nr-burger > span:nth-of-type(2) { height: 18px; }
.nr-burger > span:nth-of-type(3) { height: 13px; }
@media (hover: hover) {
  .nr-burger:hover > span:nth-of-type(1) { height: 18px; }
  .nr-burger:hover > span:nth-of-type(2) { height: 8px; }
  .nr-burger:hover > span:nth-of-type(3) { height: 16px; }
}
.nr-burger[data-is-open="true"] { background: var(--nm-yellow); border-color: var(--nm-yellow); align-items: center; padding-bottom: 0; }
.nr-burger[data-is-open="true"] > span { position: absolute; background: var(--nm-ink) !important; height: 22px !important; }
.nr-burger[data-is-open="true"] > span:nth-of-type(1) { transform: rotate(45deg) !important; }
.nr-burger[data-is-open="true"] > span:nth-of-type(2) { opacity: 0; }
.nr-burger[data-is-open="true"] > span:nth-of-type(3) { transform: rotate(-45deg) !important; }

/* 下へスクロール中はロゴ・メニュー文字を隠す（メニューボタンは残す） */
.nm-container-33 .nr-logo, .nm-container-33 .nm-links-2, .nm-container-33 .nr-sound { transition: transform .5s var(--nr-ease), opacity .4s; }
.nm-container-33.nr-hide .nr-logo, .nm-container-33.nr-hide .nm-links-2, .nm-container-33.nr-hide .nr-sound { transform: translateY(-160%); opacity: 0; }
.nm-container-33.nr-hide .nm-links-2 { transform: translate(-50%, -260%); }
.nm-container-33.nr-dark .nr-burger.nm-hamburger { background: var(--nm-ink); border-color: var(--nm-ink); }
/* 上へ戻した時に出るヘッダーには黄色の地を敷く（本文・目次タブとの重なり防止：監修2周目1） */
.nm-container-33:before { content: ""; position: absolute; left: 0; top: 0; width: 100vw; height: 96px; background: rgba(255,198,42,.96); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); box-shadow: 0 1px 0 rgba(20,20,20,.12); transform: translateY(-101%); transition: transform .5s var(--nr-ease); pointer-events: none; }
@media (min-width: 768px) { .nm-container-33:before { height: 124px; } }
.nm-container-33.nr-dark:not(.nr-hide):before { transform: none; }
body[data-menu="open"] .nm-container-33:before { transform: none; background: var(--nm-ink); box-shadow: none; backdrop-filter: none; }

/* ---------- メニュー ---------- */
.nr-menu { position: fixed; inset: 0; z-index: 199; background: var(--nm-ink); color: #fff; clip-path: circle(0 at calc(100% - 55px) 55px); transition: clip-path .8s var(--nr-ease); overflow-y: auto; visibility: hidden; }
@media (min-width: 768px) { .nr-menu { clip-path: circle(0 at calc(100% - 105px) 75px); } }
body[data-menu="open"] .nr-menu { clip-path: circle(150% at calc(100% - 105px) 75px); visibility: visible; }
body[data-menu="open"] { overflow: hidden; }
.nr-menu__inner { display: grid; gap: 48px; padding: 120px 24px 160px; max-width: 1280px; margin: 0 auto; }
@media (min-width: 992px) { .nr-menu__inner { grid-template-columns: 1.4fr 1fr; padding: 170px 80px 200px; align-items: start; } }
.nr-menu__main li { border-top: 1px solid rgba(255,255,255,.18); }
.nr-menu__main li:last-child { border-bottom: 1px solid rgba(255,255,255,.18); }
.nr-menu__main a { display: grid; grid-template-columns: 44px 1fr auto; align-items: baseline; gap: 12px; padding: 16px 0; transition: color .3s, padding .4s var(--nr-ease); }
.nr-menu__no { font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; color: rgba(255,255,255,.5); letter-spacing: .1em; }
.nr-menu__en { font-family: var(--en-demibold-font); font-weight: 600; font-size: 38px; line-height: 1; letter-spacing: .01em; color: var(--nm-yellow); }
.nr-menu__ja { font-family: var(--ja-bold-font); font-weight: 700; font-size: 13px; color: rgba(255,255,255,.7); }
@media (min-width: 768px) { .nr-menu__en { font-size: 64px; } .nr-menu__a { padding: 20px 0; } }
@media (hover: hover) { .nr-menu__main a:hover { padding-left: 18px; } .nr-menu__main a:hover .nr-menu__en { color: #fff; } }
.nr-menu__main a[aria-current="page"] .nr-menu__en { color: #fff; }
.nr-menu__label { font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .14em; color: rgba(255,255,255,.5); margin-bottom: 18px; }
.nr-menu__side li a { display: inline-block; padding: 9px 0; font-family: var(--ja-bold-font); font-weight: 700; font-size: 16px; color: #fff; background: linear-gradient(var(--nm-yellow), var(--nm-yellow)) 0 100% / 0 2px no-repeat; transition: background-size .4s var(--nr-ease); }
@media (hover: hover) { .nr-menu__side li a:hover { background-size: 100% 2px; } }
.nr-menu__note { margin-top: 32px; font-size: 12px; line-height: 1.8; color: rgba(255,255,255,.55); font-family: var(--ja-regular-font); }
.nr-menu__big { position: absolute; left: 0; right: 0; bottom: -0.18em; font-family: "Bagel Fat One", sans-serif; font-size: 21vw; line-height: 1; text-align: center; color: rgba(255,198,42,.08); pointer-events: none; white-space: nowrap; }

/* ---------- 見出しの3本のイコライザー ---------- */
.nr-h { position: relative; }
.nr-h__eq { display: inline-flex; align-items: flex-end; gap: .06em; height: .62em; margin-right: .22em; vertical-align: baseline; }
.nr-h__eq i { display: block; width: .09em; border-radius: .05em; background: currentColor; height: 40%; animation: nr-bounce 1.1s ease-in-out infinite; }
.nr-h__eq i:nth-child(2) { animation-delay: -.35s; height: 100%; }
.nr-h__eq i:nth-child(3) { animation-delay: -.7s; height: 65%; }
@keyframes nr-bounce { 0%, 100% { transform: scaleY(.45); } 50% { transform: scaleY(1); } }
.nr-h__eq i { transform-origin: bottom; }

/* ---------- LISTEN ボタン（元の白い丸の VIEW を置き換え） ---------- */
.nr-listen.nm-container-9 { display: inline-flex; width: auto; aspect-ratio: auto; height: 60px; padding: 0 30px 0 24px; gap: 12px; border-radius: 999px; background: var(--nm-ink); overflow: hidden; isolation: isolate; transition: transform .5s var(--nr-pop); }
.nr-listen.nm-container-9:before { display: none; }
.nr-listen:after { content: ""; position: absolute; inset: 0; z-index: -1; background: #fff; border-radius: inherit; transform: translateX(-101%); transition: transform .55s var(--nr-ease); }
.nr-listen .nm-t { color: var(--nm-yellow) !important; letter-spacing: .14em; transition: color .3s; font-family: var(--en-demibold-font); font-weight: 600; }
.nr-eq { display: inline-flex; align-items: center; gap: 3px; height: 18px; }
.nr-eq i { display: block; width: 3px; height: 100%; border-radius: 2px; background: var(--nm-yellow); transform: scaleY(.3); transition: background-color .3s; }
.nr-eq i:nth-child(2) { transform: scaleY(.7); } .nr-eq i:nth-child(3) { transform: scaleY(.45); } .nr-eq i:nth-child(4) { transform: scaleY(.9); } .nr-eq i:nth-child(5) { transform: scaleY(.5); }
@media (min-width: 768px) { .nr-listen.nm-container-9 { display: inline-flex; width: auto; height: 68px; padding: 0 36px 0 28px; } }
@media (hover: hover) {
  .nr-listen:hover { transform: scale(1.04); }
  .nr-listen:hover:after { transform: translateX(0); }
  .nr-listen:hover .nm-t { color: var(--nm-ink) !important; }
  .nr-listen:hover .nr-eq i { background: var(--nm-ink); animation: nr-bounce .6s ease-in-out infinite; }
  .nr-listen:hover .nr-eq i:nth-child(2) { animation-delay: -.2s; } .nr-listen:hover .nr-eq i:nth-child(3) { animation-delay: -.4s; }
  .nr-listen:hover .nr-eq i:nth-child(4) { animation-delay: -.1s; } .nr-listen:hover .nr-eq i:nth-child(5) { animation-delay: -.5s; }
}

/* ---------- FV（イコライザー越しの写真） ---------- */
.nr-fv { position: relative; height: 380vh; }
.nr-fv__pin { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; background: var(--nm-yellow); }
.nr-fv__eq { position: absolute; inset: 0; }
.nr-bar { position: absolute; top: 0; height: 100%; border-radius: 999px 999px 0 0; overflow: hidden; will-change: transform; background: #e9b21c; }
.nr-bar__shot { position: absolute; top: 0; height: 100%; background-size: cover; background-position: center; will-change: transform, opacity; transition: opacity .7s ease; }
.nr-bar__shot[data-ph] { background-color: #ece5d3; background-image: none !important; }
.nr-fv__word { position: absolute; z-index: 3; left: 3.2vw; bottom: 2.4vw; margin: 0; font-family: "Bagel Fat One", sans-serif; font-size: 18.4vw; line-height: .8; color: #fff; letter-spacing: -.005em; pointer-events: none; white-space: nowrap; will-change: transform, opacity; text-shadow: 0 .02em .12em rgba(20,20,20,.12); }
.nr-fv__tag { position: absolute; z-index: 3; right: 3.2vw; bottom: calc(2.4vw + 15.6vw); text-align: right; will-change: opacity; --tertiary-color: #fff; }
.nr-fv__tag p:not(.nr-fv__motto) { display: inline-block; padding: 8px 12px; border-radius: 12px; background: rgba(20,20,20,.55); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.nr-fv__track { position: absolute; z-index: 3; right: 24px; top: 92px; display: flex; gap: 14px; margin: 0; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .14em; color: #fff; }
.nr-fv__track span { padding: 6px 10px; border: 1.5px solid #fff; border-radius: 999px; background: rgba(20,20,20,.45); }
@media (min-width: 768px) { .nr-fv__track { font-size: 14px; } }
.nr-fv__time { font-variant-numeric: tabular-nums; }
@media (min-width: 768px) { .nr-fv__track { top: auto; bottom: calc(2.4vw + 15.6vw); right: auto; left: 3.4vw; } }
.nr-fv__hello { position: absolute; left: 50%; top: 50%; width: min(88vw, 1000px); transform: translate(-50%, -46%); opacity: 0; pointer-events: none; }
.nr-fv__copy.nm-t { display: block; margin-bottom: 40px; font-size: clamp(56px, 10vw, 150px); line-height: .92; letter-spacing: -.01em; }
.nr-fv__text { max-width: 640px; }
.nr-fv__motto.nm-t { display: block; margin: 0 0 12px; text-shadow: 0 2px 14px rgba(20,20,20,.45), 0 0 2px rgba(20,20,20,.35); }
.nr-fv__copy span { display: inline-block; }
.nr-fv__text p + p { margin-top: 1em; }
.nr-fv__scroll { position: absolute; left: 50%; bottom: 22px; transform: translateX(-50%); display: none; }
@media (min-width: 768px) { .nr-fv__scroll { display: none; } }

/* ---------- 事例：プレイリスト ---------- */
.nr-body { position: relative; }
.nr-works { padding-top: 120px; }
@media (min-width: 768px) { .nr-works { padding-top: 220px; } }
.nr-playlist { display: grid; gap: 56px; margin-top: 56px; }
@media (min-width: 768px) { .nr-playlist { grid-template-columns: repeat(2, 1fr); gap: 80px 40px; margin-top: 110px; } .nr-track:nth-child(2n) { margin-top: 90px; } }
@media (min-width: 1200px) { .nr-playlist { grid-template-columns: repeat(3, 1fr); gap: 90px 40px; } .nr-track:nth-child(2n) { margin-top: 0; } .nr-track:nth-child(3n+2) { margin-top: 120px; } .nr-track:nth-child(3n) { margin-top: 40px; } }
.nr-track .nm-image-2 { border-radius: 22px; aspect-ratio: 4/3; }
.nr-track .nm-link-4 .nm-image-2 { transition: border-radius .7s var(--nr-ease); }
@media (hover: hover) { .nr-track .nm-link-4:hover .nm-image-2 { border-radius: 50% 50% 22px 22px / 34% 34% 22px 22px; } .nr-track .nm-link-4:hover .nm-image-2 img { transform: scale(1.08); } }
.nr-track .nr-track__meta { position: static; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; margin: 16px 0 12px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .1em; color: var(--nm-ink); }
@media (min-width: 768px) { .nr-track .nr-track__meta { font-size: 14px; } .nr-track .nr-track__no { font-size: 14px; } }
.nr-track .nr-track__no { position: static; display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--nm-ink); color: var(--nm-yellow); font-size: 12px; transition: transform .5s var(--nr-pop); }
.nr-track .nr-track__wave { position: static; display: block; width: auto; height: 22px; background: rgba(20,20,20,.28); -webkit-mask: var(--wave) center / 100% 100% no-repeat; mask: var(--wave) center / 100% 100% no-repeat; opacity: .9; }
.nr-track__wave:before { content: ""; display: block; height: 100%; width: 0; background: var(--nm-red); transition: width 1.6s linear; mix-blend-mode: normal; }
@media (hover: hover) { .nr-track a:hover .nr-track__wave:before { width: 100%; } .nr-track a:hover .nr-track__no { transform: rotate(-12deg) scale(1.1); } }
.nr-track .nr-track__time { position: static; font-variant-numeric: tabular-nums; }
.nr-track .nm-link-4 > p.nm-t { margin-top: 0; }
.nr-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.nr-tags span { padding: 4px 10px; border: 1.5px solid var(--nm-ink); border-radius: 999px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .1em; color: var(--nm-ink); }
@media (min-width: 768px) { .nr-tags span { font-size: 14px; } }
.nr-more { display: flex; justify-content: center; margin-top: 48px; }
@media (min-width: 768px) { .nr-more { margin-top: 64px; } }
/* 事例のジャケット：黄色い写真が地に溶けないよう墨の細い枠（監修30） */
.nr-track .nm-image-2 { box-shadow: 0 0 0 2px var(--nm-ink); }
.nr-head.nm-projects-header > p { max-width: 400px; }

/* ---------- サービス：チャンネル ---------- */
.nr-services { position: relative; margin-top: 140px; padding: 110px 0 120px; background: var(--nm-cream); border-radius: 40px 40px 0 0; }
@media (min-width: 768px) { .nr-services { margin-top: 220px; padding: 110px 0 190px; border-radius: 80px 80px 0 0; } }
.nr-services__inner { position: relative; display: grid; gap: 56px; }
@media (min-width: 992px) { .nr-services__inner { grid-template-columns: 0.9fr 1.3fr; gap: 64px; align-items: start; } .nr-services__head { position: sticky; top: 150px; } }
.nr-services__head .nm-t + .nm-t { margin-top: 28px; }
.nr-services__btn { margin-top: 40px; }
.nr-services__illust { display: block; width: 150px; height: 150px; margin-top: 40px; animation: nr-sway 3.2s ease-in-out infinite; transform-origin: 50% 90%; }
@media (min-width: 992px) { .nr-services__illust { width: 200px; height: 200px; margin-top: 60px; } }
@keyframes nr-sway { 0%, 100% { transform: rotate(-4deg); } 50% { transform: rotate(4deg) translateY(-4px); } }
.nr-ch { border-bottom: 2px solid var(--nm-ink); }
.nr-ch__row { border-top: 2px solid var(--nm-ink); }
.nr-ch .nr-ch__row > a { position: relative; display: grid; text-align: left; flex-direction: initial; align-items: initial; justify-content: initial; grid-template-columns: 54px 1fr; gap: 6px 14px; padding: 24px 4px; color: var(--nm-ink); isolation: isolate; }
.nr-ch__row a:before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--nm-yellow); transform: scaleY(0); transform-origin: bottom; transition: transform .45s var(--nr-ease); }
.nr-ch__no { grid-row: span 2; padding-top: 4px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .1em; }
@media (min-width: 768px) { .nr-ch__no { font-size: 14px; } .nr-ch__name small { font-size: 14px; } .nr-culture__rules li span { font-size: 14px; } }
.nr-ch__name b { display: block; font-family: var(--ja-bold-font); font-weight: 700; font-size: 21px; line-height: 1.4; letter-spacing: .03em; }
.nr-ch__name small { display: block; margin-top: 4px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .12em; color: #6d675b; }
.nr-ch__txt { font-family: var(--ja-regular-font); font-weight: 400; font-size: 14px; line-height: 1.8; }
.nr-ch__meter { display: none; }
@media (min-width: 768px) {
  .nr-ch .nr-ch__row > a { grid-template-columns: 72px 1fr 1.25fr 64px; align-items: center; padding: 34px 8px; }
  .nr-ch__no { grid-row: auto; padding-top: 0; }
  .nr-ch__name b { font-size: 26px; }
  .nr-ch__meter { display: flex; align-items: flex-end; height: 34px; gap: 3px; justify-self: end; }
  .nr-ch__meter i { display: block; width: 6px; height: 30%; border-radius: 2px; background: var(--nm-ink); transform-origin: bottom; transition: height .4s var(--nr-pop); }
  .nr-ch__meter i:nth-child(2) { height: 55%; } .nr-ch__meter i:nth-child(3) { height: 20%; } .nr-ch__meter i:nth-child(4) { height: 42%; }
}
@media (hover: hover) {
  .nr-ch__row a:hover:before { transform: scaleY(1); }
  .nr-ch__row a:hover .nr-ch__meter i { height: 100%; animation: nr-bounce .5s ease-in-out infinite; }
  .nr-ch__row a:hover .nr-ch__meter i:nth-child(2) { animation-delay: -.2s; } .nr-ch__row a:hover .nr-ch__meter i:nth-child(3) { animation-delay: -.35s; } .nr-ch__row a:hover .nr-ch__meter i:nth-child(4) { animation-delay: -.1s; }
}
.nr-ch__float { position: absolute; left: 0; top: 0; width: 300px; aspect-ratio: 3/2; border-radius: 18px; overflow: hidden; pointer-events: none; opacity: 0; transform: translate(-50%, -50%) scale(.6) rotate(-6deg); transition: opacity .3s, transform .5s var(--nr-pop); z-index: 3; display: none; box-shadow: 0 18px 40px rgba(20,20,20,.18); }
@media (hover: hover) and (min-width: 992px) { .nr-ch__float { display: block; } }
.nr-ch__float.is-on { opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(-3deg); }
.nr-ch__float img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .25s; }
.nr-ch__float img.is-on { opacity: 1; }

/* ---------- カルチャー：開く写真 ---------- */
.nr-culture { position: relative; height: 230vh; background: var(--nm-cream); }
.nr-culture__pin { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; }
.nr-culture__frame { position: absolute; inset: 0; clip-path: inset(var(--ci, 14%) var(--cx, 10%) round var(--cr, 48px)); background: #d9cfb8; will-change: clip-path; }
.nr-culture__frame img { width: 100%; height: 100%; object-fit: cover; transform: scale(var(--cs, 1.15)); will-change: transform; }
.nr-culture__frame:after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20,20,20,.5), rgba(20,20,20,0) 62%), linear-gradient(180deg, rgba(20,20,20,0) 20%, rgba(20,20,20,.78)); opacity: var(--co, 0); }
.nr-culture__body { position: absolute; left: 7.5%; right: 7.5%; bottom: 9vh; opacity: var(--co, 0); transform: translateY(calc((1 - var(--co, 0)) * 40px)); }
.nr-culture__rules { display: flex; flex-wrap: wrap; gap: 10px 10px; margin: 26px 0 28px; }
.nr-culture__body > p.nm-t { display: block; }
.nr-culture__rules li { display: inline-flex; align-items: center; gap: 10px; padding: 10px 18px 10px 10px; border-radius: 999px; background: rgba(255,255,255,.16); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); color: #fff; font-family: var(--ja-bold-font); font-weight: 700; font-size: 15px; transition: background-color .4s, color .4s, transform .5s var(--nr-pop); }
.nr-culture__rules li span { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #fff; color: var(--nm-ink); font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; }
.nr-culture__rules li.is-on { background: var(--nm-yellow); color: var(--nm-ink); transform: rotate(-2deg) scale(1.04); }
@media (min-width: 768px) { .nr-culture__rules li { font-size: 20px; padding: 12px 24px 12px 12px; } .nr-culture__rules li span { width: 34px; height: 34px; font-size: 14px; } }
.nr-culture__btn { margin-top: 30px; }

/* ---------- 擬音の帯 ---------- */
.nr-onoma { position: relative; overflow: hidden; padding: 70px 0 60px; background: var(--nm-yellow); }
@media (min-width: 768px) { .nr-onoma { padding: 120px 0 90px; } }
.nr-onoma__track { display: flex; width: max-content; animation: nr-marquee 46s linear infinite; }
.nr-onoma__set { display: flex; align-items: center; gap: 0.38em; padding-right: 0.38em; font-size: 64px; }
@media (min-width: 768px) { .nr-onoma__set { font-size: 128px; } }
.nr-onoma b { display: inline-block; font-family: "Dela Gothic One", var(--ja-bold-font); font-weight: 400; line-height: 1; color: var(--nm-ink); letter-spacing: -.06em; transform-origin: 50% 90%; animation: nr-hop 2.4s var(--nr-pop) infinite; }
.nr-onoma b[data-o="1"] { transform: rotate(-8deg); font-size: 1.15em; }
.nr-onoma b[data-o="2"] { transform: rotate(6deg) translateY(-.12em); font-size: .82em; animation-delay: -.4s; }
.nr-onoma b[data-o="3"] { transform: rotate(-3deg) translateY(.1em); font-size: .7em; animation-delay: -.8s; }
.nr-onoma b[data-o="4"] { transform: rotate(9deg); font-size: 1.05em; animation-delay: -1.2s; }
.nr-onoma b[data-o="5"] { transform: rotate(-12deg) translateY(-.08em); font-size: .74em; animation-delay: -1.6s; }
.nr-onoma b[data-o="6"] { transform: rotate(4deg) translateY(.06em); font-size: .96em; animation-delay: -2s; }
.nr-onoma em { display: inline-block; font-family: var(--en-demibold-font); font-weight: 800; font-style: italic; font-size: .22em; letter-spacing: .02em; color: var(--nm-ink); transform: rotate(-6deg); padding: 0 .4em; border: .08em solid var(--nm-ink); border-radius: 999px; line-height: 1.6; }
@keyframes nr-marquee { to { transform: translateX(-50%); } }
@keyframes nr-hop { 0%, 70%, 100% { translate: 0 0; scale: 1; } 78% { translate: 0 -.08em; scale: 1.06 .94; } 86% { translate: 0 0; scale: .96 1.04; } }
.nr-onoma:hover .nr-onoma__track { animation-play-state: paused; }

/* ---------- フッター ---------- */
.nr-foot[data-next-page-visible="false"] { height: auto; }
.nr-foot .nr-foot__wrap { background: linear-gradient(transparent 79px, #fff 79px); padding-top: 160px; padding-bottom: 40px; }
@media (min-width: 768px) { .nr-foot .nr-foot__wrap { padding-top: 200px; padding-bottom: 44px; } }
.nr-foot__edge { position: absolute; left: 0; top: 0; width: 100%; height: 120px; display: block; }
.nr-foot__edge path { fill: #fff; }
.nr-foot__top.nm-top { gap: 40px; }
.nr-foot__copy .nr-foot__en { margin-top: 12px; }
.nr-pads { gap: 18px !important; justify-content: center !important; }
@media (min-width: 768px) { .nr-pads { justify-content: flex-end !important; gap: 24px !important; } }
.nr-pad { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; width: calc(50% - 9px); max-width: 200px; aspect-ratio: 1; height: auto; border-radius: 26px; box-shadow: 0 10px 0 var(--pad-shadow), inset 0 -4px 0 rgba(0,0,0,.08); transition: transform .12s ease-out, box-shadow .12s ease-out; }
@media (min-width: 768px) { .nr-pad { width: 200px; height: 200px; border-radius: 32px; } }
.nr-pad--yellow { background: var(--nm-yellow); --pad-shadow: #d9a311; }
.nr-pad--ink { background: var(--nm-ink); --pad-shadow: #000; }
.nr-pad__ja { font-family: var(--ja-bold-font); font-weight: 700; font-size: 14px; letter-spacing: .06em; }
.nr-pad--yellow .nr-pad__ja { color: var(--nm-ink); } .nr-pad--ink .nr-pad__ja { color: rgba(255,255,255,.82); }
.nr-pad__led { position: absolute; top: 16px; right: 16px; width: 8px; height: 8px; border-radius: 50%; background: rgba(20,20,20,.25); transition: background-color .2s, box-shadow .2s; }
.nr-pad--ink .nr-pad__led { background: rgba(255,255,255,.25); }
.nr-pad.is-hit, .nr-pad:active { transform: translateY(8px); box-shadow: 0 2px 0 var(--pad-shadow), inset 0 -2px 0 rgba(0,0,0,.08); }
@media (hover: hover) { .nr-pad:hover .nr-pad__led { background: var(--nm-red); box-shadow: 0 0 0 4px rgba(232,69,44,.25); } }
.nr-foot__bottom.nm-bottom { gap: 18px 32px; height: auto; margin-top: 90px; align-items: flex-start; flex-direction: column; flex-wrap: nowrap; }
@media (min-width: 768px) { .nr-foot__bottom.nm-bottom { flex-direction: row; align-items: flex-end; flex-wrap: wrap; margin-top: 110px; } }
.nr-foot__logo { font-family: "Bagel Fat One", sans-serif; font-size: 44px; line-height: 1; color: var(--nm-ink); margin-right: 12px; }
@media (min-width: 768px) { .nr-foot__logo { font-size: 58px; } }
.nr-foot__addr li { font-family: var(--ja-regular-font); font-weight: 400; font-size: 13px; line-height: 1.9; color: var(--nm-ink); }
.nr-foot__addr b { display: inline-block; width: 80px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .12em; }
@media (min-width: 768px) { .nr-foot__addr li { font-size: 14px; } .nr-foot__addr b { width: 92px; font-size: 14px; } .nr-foot__note { font-size: 14px; } }
.nr-foot__note { width: 100%; padding-right: 70px; font-family: var(--ja-regular-font); font-size: 12px; color: var(--nm-ink); order: 9; }
.nr-top.nm-page-top { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; background: var(--nm-ink); bottom: 0; right: 0; transition: transform .4s var(--nr-pop); }
.nr-top svg { width: 20px; height: 20px; fill: none; stroke: var(--nm-yellow); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
@media (hover: hover) { .nr-top.nm-page-top:hover { background: var(--nm-ink); transform: translateY(-6px); } }
.nr-foot[data-next-page-visible="true"] { height: auto; min-height: 0; }
.nr-foot[data-next-page-visible="true"] .nm-next-page { height: 240px; overflow: hidden; }
.nr-foot[data-next-page-visible="true"] .nm-wrap-4 { height: auto; }
@media (min-width: 768px) { .nr-foot[data-next-page-visible="true"] .nm-next-page { height: 320px; } }
.nr-next.nm-next-page-link { gap: 22px; justify-content: center; color: var(--nm-ink); transition: background-color .45s var(--nr-ease), color .45s var(--nr-ease); }
.nr-next.nm-next-page-link:after { display: none; }
.nr-next__head { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; justify-content: center; padding: 0 16px; }
.nr-next .nr-next__label.nm-t { display: inline-block; padding: 6px 12px; border: 1.5px solid currentColor; border-radius: 999px; color: inherit; }
.nr-next .nr-next__title { display: inline-block; font-family: var(--ja-bold-font); font-weight: 700; font-size: 16px; letter-spacing: .06em; color: inherit; }
@media (min-width: 768px) { .nr-next .nr-next__title { font-size: 20px; } }
.nr-next__marq { display: flex; width: 100%; overflow: hidden; white-space: nowrap; }
.nr-next__row { display: inline-flex; flex: none; align-items: center; gap: .32em; padding-right: .32em; font-family: "Bagel Fat One", var(--en-demibold-font); font-size: 56px; line-height: 1; animation: nr-marq 16s linear infinite; }
@media (min-width: 768px) { .nr-next__row { font-size: 112px; } }
.nr-next__arrow { font-family: var(--en-demibold-font); font-weight: 600; transition: transform .45s var(--nr-pop); }
.nr-next__wave { width: 1.6em; height: .6em; flex: none; }
.nr-next__wave path { fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
@keyframes nr-marq { to { transform: translateX(-100%); } }
@media (hover: hover) {
  .nr-next.nm-next-page-link:hover { background: var(--nm-ink); color: var(--nm-yellow); }
  .nr-next:hover .nr-next__row { animation-duration: 7s; }
  .nr-next:hover .nr-next__arrow { transform: translateX(.18em); }
}

/* ---------- 名刺サウンドの案内 ---------- */
.nr-card-cta { position: fixed; right: 16px; bottom: 16px; z-index: 150; display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 52px; height: 52px; padding: 0; border-radius: 999px; background: #fff; color: var(--nm-ink); font-family: var(--ja-bold-font); font-weight: 700; font-size: 12px; box-shadow: 0 8px 24px rgba(20,20,20,.12); transition: transform .4s var(--nr-pop), opacity .3s; }
.nr-card-cta__txt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (min-width: 768px) { .nr-card-cta { width: auto; height: auto; padding: 8px 16px 8px 8px; } .nr-card-cta__txt { position: static; width: auto; height: auto; clip: auto; overflow: visible; } }
.nr-card-cta__eq { display: inline-flex; align-items: flex-end; gap: 2px; width: 32px; height: 32px; padding: 8px 7px; border-radius: 50%; background: var(--nm-yellow); }
.nr-card-cta__eq i { flex: 1; height: 100%; border-radius: 1px; background: var(--nm-ink); transform-origin: bottom; animation: nr-bounce 1s ease-in-out infinite; }
.nr-card-cta__eq i:nth-child(2) { animation-delay: -.3s; } .nr-card-cta__eq i:nth-child(3) { animation-delay: -.6s; }
@media (min-width: 768px) { .nr-card-cta { right: 24px; bottom: 24px; font-size: 14px; } }
@media (hover: hover) { .nr-card-cta:hover { transform: translateY(-4px) rotate(-2deg); } }
body.is-foot .nr-card-cta, body.is-fv .nr-card-cta, body.is-down .nr-card-cta, body.is-busy .nr-card-cta { opacity: 0; pointer-events: none; transform: translateY(20px); }

/* ---------- 音の波紋（マウスの追従を置き換え） ---------- */
.nr-cursor { position: fixed; left: 0; top: 0; z-index: 300; pointer-events: none; display: none; }
@media (hover: hover) and (pointer: fine) { .nr-cursor { display: block; } }
.nr-cursor__dot { position: absolute; left: 0; top: 0; width: 12px; height: 12px; margin: -6px 0 0 -6px; border-radius: 50%; background: var(--nm-ink); transition: width .35s var(--nr-pop), height .35s var(--nr-pop), margin .35s var(--nr-pop), border-radius .35s; display: flex; align-items: center; justify-content: center; gap: 6px; overflow: hidden; }
.nr-cursor__dot b { font-family: var(--en-demibold-font); font-weight: 600; font-size: 11px; letter-spacing: .14em; color: var(--nm-yellow); opacity: 0; transition: opacity .2s; white-space: nowrap; }
.nr-cursor__dot .nr-eq { height: 12px; opacity: 0; } .nr-cursor__dot .nr-eq i { width: 2px; animation: nr-bounce .6s ease-in-out infinite; } .nr-cursor__dot .nr-eq i:nth-child(2n) { animation-delay: -.3s; }
.nr-cursor.is-label .nr-cursor__dot { width: 96px; height: 40px; margin: -20px 0 0 -48px; border-radius: 999px; }
.nr-cursor.is-label .nr-cursor__dot b, .nr-cursor.is-label .nr-cursor__dot .nr-eq { opacity: 1; }
.nr-ring { position: fixed; z-index: 299; pointer-events: none; width: 16px; height: 16px; margin: -8px 0 0 -8px; border: 2px solid var(--nm-ink); border-radius: 50%; animation: nr-ring .9s var(--nr-ease) forwards; }
@keyframes nr-ring { to { transform: scale(7); opacity: 0; border-width: .5px; } }
@media (hover: hover) and (pointer: fine) { body.has-cursor, body.has-cursor a, body.has-cursor button { cursor: none; } }

/* ---------- 共通：写真の仮枠 ---------- */
img[data-ph] { background: #ece5d3; }

@media (prefers-reduced-motion: reduce) {
  .nr-onoma__track, .nr-h__eq i, .nr-onoma b, .nr-services__illust, .nr-card-cta__eq i, .nr-next__row { animation: none !important; }
}

/* ---------- 制作中のページ ---------- */
.nr-wip { min-height: 100vh; display: grid; place-items: center; padding: 180px 0 120px; text-align: center; }
.nr-wip .nm-t + .nm-t { margin-top: 18px; }
.nr-wip__eq { display: inline-flex; align-items: flex-end; gap: 6px; height: 54px; margin-bottom: 28px; }
.nr-wip__eq i { display: block; width: 10px; height: 100%; border-radius: 5px; background: #fff; transform-origin: bottom; animation: nr-bounce 1s ease-in-out infinite; }
.nr-wip__eq i:nth-child(2) { animation-delay: -.2s; } .nr-wip__eq i:nth-child(3) { animation-delay: -.5s; } .nr-wip__eq i:nth-child(4) { animation-delay: -.7s; } .nr-wip__eq i:nth-child(5) { animation-delay: -.35s; }
.nr-wip__back { margin-top: 44px; }

/* ---- ヘッダー：明るい面の上では墨の文字（app.js の nr-light） ---- */
.nm-container-33 .nr-logo__word, .nm-container-33 .nm-links-2 .nm-t, .nm-container-33 .nr-sound .nm-t { transition: color .3s; }
.nm-container-33.nr-light-logo .nr-logo__word { color: var(--nm-ink); }
.nm-container-33.nr-light-nav .nm-links-2 .nm-t { color: var(--nm-ink) !important; }
.nm-container-33.nr-light-nav .nm-links-2 [data-line] { background: var(--nm-ink); }
.nm-container-33.nr-light-sound .nr-sound { border-color: var(--nm-ink); }
.nm-container-33.nr-light-sound .nr-sound .nm-t { color: var(--nm-ink) !important; }
.nm-container-33.nr-light-sound .nr-sound .nr-sound__icon i { background: var(--nm-ink); }
.nm-container-33.nr-light-sound .nr-sound[aria-pressed="true"] { background: var(--nm-ink); }
.nm-container-33.nr-light-sound .nr-sound[aria-pressed="true"] .nm-t { color: #fff !important; }
.nm-container-33.nr-light-sound .nr-sound[aria-pressed="true"] .nr-sound__icon i { background: #fff; }
.nm-container-33.nr-light-burger .nr-burger.nm-hamburger { background: var(--nm-ink); border-color: var(--nm-ink); }
body[data-menu="open"] .nm-container-33.nr-light-logo .nr-logo__word { color: var(--nm-yellow); }
/* メニューの中の SOUND（スマホではヘッダーに出ないので、ここで切り替える） */
.nr-sound.nr-sound--menu { position: static; display: inline-flex; margin-top: 28px; border-color: rgba(255,255,255,.7); }
.nr-sound--menu .nr-sound__label { font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .08em; color: #fff; }
.nr-sound--menu[aria-pressed="true"] .nr-sound__label { color: var(--nm-ink); }
@media (hover: hover) { .nr-sound--menu:hover .nr-sound__label { color: var(--nm-ink); } }

/* ---- 読みやすさの下限（H-005・和文）：スマホの本文は16px、和文の小さなラベルは12px まで ---- */
@media (max-width: 767px) {
  .nm-t[data-font-family^="ja"][data-xs-font-size="10"],
  .nm-t[data-font-family^="ja"][data-xs-font-size="11"] { font-size: 12px !important; }
  :is(p, dd, li).nm-t[data-font-family="ja-regular-font"]:is([data-xs-font-size="13"], [data-xs-font-size="14"], [data-xs-font-size="15"]) { font-size: 16px !important; }
}
@media (min-width: 768px) {
  .nm-t[data-font-family^="ja"][data-mq-md="true"]:is([data-md-font-size="10"], [data-md-font-size="11"]),
  .nm-t[data-font-family^="ja"][data-mq-md="false"]:is([data-xs-font-size="10"], [data-xs-font-size="11"]) { font-size: 12px !important; }
}

/* 暗い地・写真の上：白文字に戻す（D-036） */
.nr-on-dark, .nm-container-33 { --tertiary-color: #fff; }
/* ヘッダーの文字色の判定の瞬間だけ、写真も当たり判定に入れる（app.js） */
.nr-probing * { pointer-events: auto !important; }
@media (min-width: 768px) { .nr-foot__note { font-size: 14px; } }
@media (min-width: 768px) { .nr-track .nr-track__no { font-size: 14px; } .nr-ch__name small { font-size: 14px; } .nr-ch__no { font-size: 14px; } }

/* 語のかたまりを1行に（監修2周目3） */
.nr-nw { white-space: nowrap; }
/* 初見監修 H1：メニューを開いた時の閉じるボタンは、暗い地・明るい地の指定より強く黄色の地＋墨の×にする（墨の地の上で消えていた） */
body[data-menu="open"] .nm-container-33 .nr-burger.nm-hamburger[data-is-open="true"] { background: var(--nm-yellow); border-color: var(--nm-yellow); }
body[data-menu="open"] .nm-container-33 .nr-burger.nm-hamburger[data-is-open="true"] > span { background: var(--nm-ink) !important; }
/* 初見監修 M2：Make it ring. を2行に割ってずらし、間にイコライザー。PC はあいさつ文を右の段へ（元の「見出し＋下に本文」の並びを崩す） */
.nr-fv__copy.nm-t { display: flex; flex-wrap: wrap; align-items: flex-end; column-gap: .16em; }
.nr-fv__copy > span:first-child { flex-basis: 100%; }
.nr-fv__ringeq { display: inline-flex; align-items: flex-end; gap: .07em; height: .62em; margin-bottom: .1em; }
.nr-fv__ringeq i { width: .09em; border-radius: 99px; background: var(--nm-ink); height: 40%; animation: nr-bounce .6s ease-in-out infinite; }
.nr-fv__ringeq i:nth-child(2) { height: 90%; animation-delay: -.2s; } .nr-fv__ringeq i:nth-child(3) { height: 60%; animation-delay: -.45s; } .nr-fv__ringeq i:nth-child(4) { height: 100%; animation-delay: -.1s; } .nr-fv__ringeq i:nth-child(5) { height: 50%; animation-delay: -.3s; }
@media (min-width: 1024px) {
  .nr-fv__hello { width: min(90vw, 1240px); }
  .nr-fv__copy.nm-t { margin-bottom: 0; }
  .nr-fv__copy .nr-fv__ringeq { margin-left: 9%; }
  .nr-fv__text { position: absolute; right: 0; bottom: .2em; width: min(40%, 480px); }
}
@media (prefers-reduced-motion: reduce) { .nr-fv__ringeq i { animation: none; } }
.nr-fv__ringeq i { transform-origin: bottom; }
/* 初見監修 M4：FV の合言葉は白い壁の写真の上で読めなかった → 墨の帯に黄色の文字（どの写真の上でも読める） */
.nr-fv__motto.nm-t { --tertiary-color: var(--nm-yellow); width: fit-content; margin: 0 0 10px auto; padding: 6px 16px 7px; border-radius: 999px; background: rgba(20,20,20,.78); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); text-shadow: none; }
/* 初見監修 M7：メニューを開いている間はロゴを必ず出し（黄色）、後ろに墨の帯を敷いて、メニューの大きな文字と重ねない */
body[data-menu="open"] .nm-container-33.nr-hide .nr-logo { transform: none; opacity: 1; }
/* ver5 初見監修 中2：メニューボタンが音量の操作に見えた → 「MENU ılı」の横長に（開くと CLOSE ×）。PC の SOUND はその分左へ */
.nr-burger.nm-hamburger { width: 100px; padding: 0 16px 15px 18px; justify-content: space-between; }
.nr-burger.nm-hamburger::before { content: "MENU"; text-indent: 0; align-self: flex-end; margin: 0 auto -1px 0; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; line-height: 1; letter-spacing: .14em; color: #fff; }
.nr-burger.nm-hamburger[data-is-open="true"]::before { content: "CLOSE"; color: var(--nm-ink); align-self: center; margin-bottom: 0; }
.nr-burger.nm-hamburger[data-is-open="true"] > span { right: 26px; top: 14px; }
@media (min-width: 768px) {
  .nr-burger.nm-hamburger { width: 116px; padding-left: 20px; }
  .nr-burger.nm-hamburger::before { font-size: 14px; }
  .nr-sound { right: 214px; }
}
/* ver5 初見監修 中4：SP は名刺サウンドの丸を出さない（本文の行末を隠していた。名刺サウンドはメニューから行ける） */
@media (max-width: 767px) { .nr-card-cta { display: none !important; } }
/* ver5 初見監修 中1：フッターの「白い波＋黄と墨の2つのパッド」が元の流れと同じ → 縁はイコライザーの棒、相談は幅いっぱいのパッド1本、採用は文字リンク */
.nr-foot__top.nm-top { width: 100%; flex-direction: column; align-items: stretch; gap: 32px; }
@media (min-width: 768px) { .nr-foot__top.nm-top { flex-direction: row; align-items: flex-end; gap: 56px; } .nr-foot__copy { flex: 0 0 auto; } .nr-pads { flex: 1 1 auto; } }
.nr-foot__sub { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin-top: 24px; color: var(--nm-ink); font-family: var(--ja-bold-font); font-weight: 700; font-size: 14px; letter-spacing: .06em; }
.nr-foot__sub b { font-family: var(--en-demibold-font); font-weight: 600; letter-spacing: .12em; background: linear-gradient(var(--nm-yellow), var(--nm-yellow)) 0 100% / 100% 6px no-repeat; transition: background-size .3s var(--nr-ease); }
@media (hover: hover) { .nr-foot__sub:hover b { background-size: 100% 100%; } }
.nr-pad.nr-pad--wide { width: 100%; max-width: none; height: 104px; aspect-ratio: auto; flex-direction: row; justify-content: flex-start; align-items: center; gap: 16px; padding: 0 24px; border-radius: 24px; }
.nr-pad--wide .nm-t { font-size: 30px !important; line-height: 1 !important; }
.nr-pad--wide .nr-pad__ja { font-size: 14px; }
.nr-pad--wide .nr-pad__arrow { margin-left: auto; font-family: var(--en-demibold-font); font-weight: 600; font-size: 30px; line-height: 1; color: var(--nm-ink); transition: transform .4s var(--nr-pop); }
@media (hover: hover) { .nr-pad--wide:hover .nr-pad__arrow { transform: translateX(10px); } }
@media (min-width: 768px) { .nr-pad.nr-pad--wide { height: 136px; padding: 0 44px; border-radius: 32px; gap: 24px; } .nr-pad--wide .nm-t { font-size: 56px !important; } .nr-pad--wide .nr-pad__ja { font-size: 16px; } .nr-pad--wide .nr-pad__arrow { font-size: 48px; } }
.nr-foot__top .nr-pads.nm-links { width: 100%; min-width: 0; margin: 0; }
.nr-pad--wide .nr-pad__ja { white-space: nowrap; }
@media (min-width: 768px) { .nr-foot__top .nr-pads.nm-links { flex: 1 1 0; } }
.nr-foot__top.nm-top { max-width: none; }
.nr-foot__top .nr-pads.nm-links { max-width: none; }
@media (min-width: 768px) and (max-width: 1199px) { .nr-foot__top.nm-top { flex-direction: column; align-items: stretch; gap: 36px; } .nr-foot__top .nr-pads.nm-links { flex: 0 0 auto; } }
@media (max-width: 767px) {
  .nr-pad.nr-pad--wide { position: relative; flex-direction: column; align-items: flex-start; justify-content: center; gap: 8px; padding: 0 64px 0 22px; }
  .nr-pad--wide .nr-pad__arrow { position: absolute; right: 22px; top: 50%; margin: -15px 0 0; }
}
/* 下へ進む間（ヘッダーが隠れている間）は MENU の文字をたたんで棒だけに（右上の固定ボタンが中身を隠す幅を減らす・ver5 初見監修 中4） */
.nr-burger.nm-hamburger { transition: background-color .3s, border-color .3s, width .4s var(--nr-ease), padding .4s var(--nr-ease); }
.nr-burger.nm-hamburger::before { transition: opacity .25s; }
.nm-container-33.nr-hide .nr-burger.nm-hamburger:not([data-is-open="true"]) { width: 50px; padding-left: 0; padding-right: 0; justify-content: center; }
.nm-container-33.nr-hide .nr-burger.nm-hamburger:not([data-is-open="true"])::before { position: absolute; opacity: 0; }
.nr-burger.nm-hamburger[data-is-open="true"] { padding: 0 0 0 14px; justify-content: flex-start; }
.nr-burger.nm-hamburger[data-is-open="true"]::before { margin: 0; }
.nr-burger.nm-hamburger[data-is-open="true"] > span { right: 20px; top: 14px; }
@media (min-width: 768px) { .nr-burger.nm-hamburger[data-is-open="true"] { padding-left: 18px; } .nr-burger.nm-hamburger[data-is-open="true"] > span { right: 24px; } }
.nr-burger.nm-hamburger[data-is-open="true"] { width: 108px; }
@media (min-width: 768px) { .nr-burger.nm-hamburger[data-is-open="true"] { width: 128px; } }
/* ver6 初見監修 中3：SP は下へ進む間 MENU ボタンを上へ隠す（本文・入力欄に重ねない）。上へ戻すと黄色い帯と一緒に出る */
@media (max-width: 767px) {
  .nr-burger.nm-hamburger { transition: background-color .3s, border-color .3s, width .4s var(--nr-ease), padding .4s var(--nr-ease), transform .3s var(--nr-ease); }
  .nm-container-33.nr-hide .nr-burger.nm-hamburger:not([data-is-open="true"]) { transform: translateY(-90px); }
}
/* ver7 初見監修 高1：SP でメニューの中を指・ホイールで動かせるように（Lenis 停止中も中だけはスクロール）。SP は余白を詰めて1画面に多く入れる */
.nr-menu { overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
@media (max-width: 767px) {
  .nr-menu__inner { padding: 88px 24px 120px; gap: 36px; }
  .nr-menu__main a { padding: 12px 0; }
}
/* ver7 初見監修 低9：メニューの和文の添え字は割らない */
.nr-menu__ja { white-space: nowrap; }
/* 2026-10-12 大串『写真で顔が隠れちゃってる』：トップ CULTURE の文字を人のいない所へ。
   PC＝写真の上4割（窓と吸音板の前・人がいない）に収める。ボタンは見出しの右横（ソファの人の顔から離す）、見出しは画面の高さに合わせて縮める（1024×768・1280×720 でも顔にかからない）
   SP＝切り抜きの左端を写真の60%に固定（ソファの3人が必ず入り、床の人は必ず外れる＝顔が半分で切れない）。文字は床の上に詰めて置く */
@media (min-width: 768px) {
  .nr-culture__body { top: max(9vh, 64px); bottom: auto; right: auto; max-width: 820px; display: flex; flex-wrap: wrap; align-items: center; column-gap: 24px; }
  .nr-culture__body > h2 { flex: 0 0 auto; font-size: min(80px, 10vh) !important; }
  .nr-culture__btn { order: 1; margin-top: 0; }
  .nr-culture__rules { order: 2; flex: 0 0 100%; margin: 14px 0; }
  .nr-culture__body > p { order: 3; flex: 0 0 100%; }
  .nr-culture__frame:after { background: linear-gradient(180deg, rgba(20,20,20,.68), rgba(20,20,20,.32) 34%, rgba(20,20,20,0) 50%), linear-gradient(90deg, rgba(20,20,20,.4), rgba(20,20,20,0) 55%); }
}
@media (max-width: 767px) {
  .nr-culture__frame img { object-position: -90vh 50%; object-position: -90svh 50%; }
  .nr-culture__body { bottom: max(4vh, 24px); }
  .nr-culture__rules { gap: 8px; margin: 14px 0; }
  .nr-culture__rules li { padding: 8px 16px 8px 8px; }
  .nr-culture__btn { margin-top: 14px; }
}
/* 2026-10-12 大串の付箋『ナビバーのデザイン、複数案欲しい』→【案の決定】menu：レコードの裏ジャケ。クリームの地・回るレコード＋曲目の一覧（点線と曲の長さ）・B-SIDE は SIDE B（ほかの案と切り替えの仕組みは外した） */
body[data-menu="open"] .nm-container-33:before { background: var(--nm-cream); }
body[data-menu="open"] .nr-logo__word { color: var(--nm-ink) !important; }
body[data-menu="open"] .nm-container-33 .nr-burger.nm-hamburger[data-is-open="true"] { background: var(--nm-ink); border-color: var(--nm-ink); }
body[data-menu="open"] .nm-container-33 .nr-burger.nm-hamburger[data-is-open="true"] > span { background: var(--nm-yellow) !important; }
body[data-menu="open"] .nr-burger.nm-hamburger::before { color: var(--nm-yellow) !important; }
body .nr-menu__side li a { color: var(--nm-ink); background-image: linear-gradient(var(--nm-red), var(--nm-red)); }
body .nr-menu__label { color: rgba(20,20,20,.55); }
body .nr-menu__note { color: rgba(20,20,20,.62); }
body .nr-sound--menu { color: var(--nm-ink); border-color: var(--nm-ink); }
body .nr-sound--menu .nr-sound__icon i { background: var(--nm-ink); }
@keyframes nrSpin { to { transform: rotate(360deg); } }
body .nr-menu { background: var(--nm-cream); color: var(--nm-ink); }
body .nr-menu__big { display: none; }
body .nr-menu::before { content: "NARIMONO"; position: absolute; z-index: 0; display: grid; place-items: center; width: 74vw; aspect-ratio: 1; right: -30vw; bottom: -26vw; border-radius: 50%; font-family: "Bagel Fat One", sans-serif; font-size: 5vw; color: var(--nm-ink); background: radial-gradient(circle, var(--nm-cream) 0 1.6%, var(--nm-ink) 1.8% 2.4%, var(--nm-yellow) 2.6% 29%, #141414 29.4%), repeating-radial-gradient(circle, #141414 0 3px, #262626 3px 5px); background-blend-mode: normal; animation: nrSpin 9s linear infinite; pointer-events: none; }
body .nr-menu::before { background: radial-gradient(circle, var(--nm-cream) 0 1.6%, var(--nm-ink) 1.8% 2.4%, var(--nm-yellow) 2.6% 29%, transparent 29.4%), conic-gradient(from 20deg, transparent, rgba(255,255,255,.1) 8%, transparent 16%, transparent 50%, rgba(255,255,255,.08) 58%, transparent 66%), repeating-radial-gradient(circle, #141414 0 3px, #2a2a2a 3px 5px); }
body .nr-menu__inner { position: relative; z-index: 1; }
body .nr-menu__main::before { content: "SIDE A"; display: block; margin-bottom: 14px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 13px; letter-spacing: .14em; color: rgba(20,20,20,.55); }
body .nr-menu__main li { border: 0; }
body .nr-menu__main a { grid-template-columns: 34px auto 1fr auto; column-gap: 12px; padding: 10px 0; }
body .nr-menu__main a::before { content: ""; order: 2; align-self: center; height: 0; border-bottom: 3px dotted rgba(20,20,20,.35); }
body .nr-menu__no { order: 0; color: rgba(20,20,20,.55); }
body .nr-menu__en { order: 1; color: var(--nm-ink); font-size: 32px; }
body .nr-menu__ja { order: 3; color: var(--nm-ink); font-size: 14px; }
body .nr-menu__main a[aria-current="page"] .nr-menu__en { color: var(--nm-red); }
body .nr-menu__main a:hover { padding-left: 0; }
body .nr-menu__main a:hover .nr-menu__en { color: var(--nm-red); }
body .nr-menu__side { padding: 22px 24px; border-radius: 20px; background: rgba(250,247,239,.92); }
body .nr-menu__label { font-size: 0; }
body .nr-menu__label::before { content: "SIDE B"; font-size: 13px; }
@media (min-width: 992px) {
  body .nr-menu::before { width: 50vw; left: -16vw; right: auto; top: 50%; bottom: auto; margin-top: -25vw; font-size: 3.4vw; }
  body .nr-menu__inner { grid-template-columns: 1.35fr 1fr; gap: 56px; padding: 150px 72px 120px calc(34vw + 56px); max-width: none; }
  body .nr-menu__main a { grid-template-columns: 34px auto 1fr auto 46px; padding: 12px 0; }
  body .nr-menu__main a::after { content: "3:12"; order: 4; text-align: right; font-family: var(--en-demibold-font); font-weight: 600; font-size: 14px; color: rgba(20,20,20,.55); }
  body .nr-menu__main li:nth-child(2) a::after { content: "4:05"; }
  body .nr-menu__main li:nth-child(3) a::after { content: "2:48"; }
  body .nr-menu__main li:nth-child(4) a::after { content: "3:30"; }
  body .nr-menu__main li:nth-child(5) a::after { content: "2:15"; }
  body .nr-menu__main li:nth-child(6) a::after { content: "0:30"; }
  body .nr-menu__en { font-size: clamp(30px, 3.2vw, 46px); }
  body .nr-menu__side { margin-top: 30px; }
}
body[data-menu="open"] .nm-container-33 .nm-links-2, body[data-menu="open"] .nm-container-33 .nr-sound { opacity: 0; visibility: hidden; }
body .nr-sound--menu .nr-sound__label, body .nr-sound--menu .nr-sound__label b { color: var(--nm-ink) !important; }
@media (max-width: 991px) {
  body .nr-menu__inner { padding-top: 112px; }
  body .nr-menu::before { display: none; }
  body .nr-menu__side { padding: 0; background: none; }
  body .nr-menu__inner::after { content: "NARIMONO"; display: grid; place-items: center; justify-self: center; width: 78vw; aspect-ratio: 1; border-radius: 50%; font-family: "Bagel Fat One", sans-serif; font-size: 6.4vw; color: var(--nm-ink); background: radial-gradient(circle, var(--nm-cream) 0 1.6%, var(--nm-ink) 1.8% 2.4%, var(--nm-yellow) 2.6% 29%, transparent 29.4%), conic-gradient(from 20deg, transparent, rgba(255,255,255,.1) 8%, transparent 16%, transparent 50%, rgba(255,255,255,.08) 58%, transparent 66%), repeating-radial-gradient(circle, #141414 0 3px, #2a2a2a 3px 5px); animation: nrSpin 9s linear infinite; }
}


/* ver16 レスポンシブの仕上げ（hp-flow Step 9）：スマホ幅で小さなリンク・ボタンの押せる範囲を44px前後まで広げる（見た目は変えない・透明の当たり判定だけ） */
@media (max-width: 767px) {
  .nr-foot__sub, .nm-tag-button { position: relative; }
  .nr-foot__sub::after { content: ""; position: absolute; inset: -11px 0; }
  .nm-tag-button::after { content: ""; position: absolute; inset: -12px -6px; }
  footer a.nm-container-29::after { content: ""; position: absolute; inset: -7px -6px; }
  .nr-pv-link { padding-block: 10px; }
}

/* ---- careers.css ---- */
/* 採用（careers）｜制作役D。範囲は main[data-page="careers"] と nr-ca- に限る */
main[data-page="careers"] .nr-ca { overflow: clip; padding-top: 140px; padding-bottom: 140px; }
@media (min-width: 768px) { main[data-page="careers"] .nr-ca { padding-top: 190px; padding-bottom: 220px; } }
main[data-page="careers"] .nr-nw { white-space: nowrap; }
.nr-ca-note { opacity: .85; }

/* ---------- 見出し（監修1周目：左寄せ1列の大きな英字＋右にマイク。円はやめた） ---------- */
main[data-page="careers"] .nr-ca-hero { position: relative; display: block; width: 88%; max-width: 1240px; margin: 0 auto; }
.nr-ca-hero__text { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
main[data-page="careers"] .nr-ca-hero__text > .nm-t:not(.nr-ca-hero__en) { padding-right: 104px; }
.nr-ca-hero__en { display: flex; align-items: center; margin: 0 0 4px; font-family: var(--en-demibold-font); font-weight: 800; font-size: clamp(54px, 16.5vw, 68px); line-height: .9; letter-spacing: -.035em; color: var(--nm-ink); white-space: nowrap; }
.nr-ca-hero__en .nr-h__eq { height: .5em; }
.nr-ca-mic { position: absolute; right: 0; bottom: -6px; width: 92px; margin: 0; }
.nr-ca-mic svg { display: block; width: 100%; height: auto; overflow: visible; }
.nr-ca-mic__body { fill: var(--nm-ink); }
.nr-ca-mic__grille { fill: #2c2c2c; }
.nr-ca-mic__mesh { fill: none; stroke: rgba(255,198,42,.55); stroke-width: 3; stroke-linecap: round; }
.nr-ca-mic__band { fill: var(--nm-red); }
.nr-ca-mic__led { fill: var(--nm-yellow); animation: nr-ca-led 1.6s steps(2, jump-none) infinite; }
.nr-ca-mic__yoke { fill: none; stroke: var(--nm-ink); stroke-width: 12; stroke-linecap: round; }
.nr-ca-mic__cable { fill: none; stroke: var(--nm-ink); stroke-width: 6; stroke-linecap: round; }
.nr-ca-mic__head { transform-box: view-box; transform-origin: 120px 156px; transform: rotate(var(--tilt, -4deg)); transition: transform .5s var(--nr-ease); }
.nr-ca-mic__level rect { fill: var(--nm-ink); transform-box: fill-box; transform-origin: center; animation: nr-ca-lv 1.2s ease-in-out infinite; }
.nr-ca-mic__level rect:nth-child(3n+2) { animation-delay: -.4s; } .nr-ca-mic__level rect:nth-child(3n) { animation-delay: -.8s; }
.nr-ca-mic__tag { display: none; }
@keyframes nr-ca-led { 0% { opacity: 1; } 50% { opacity: .25; } }
@keyframes nr-ca-lv { 0%, 100% { transform: scaleX(.45); opacity: .5; } 50% { transform: scaleX(1); opacity: 1; } }
@media (min-width: 768px) {
  main[data-page="careers"] .nr-ca-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 0 48px; }
  .nr-ca-hero__text { gap: 22px; }
  main[data-page="careers"] .nr-ca-hero__text > .nm-t:not(.nr-ca-hero__en) { padding-right: 0; }
  .nr-ca-hero__en { font-size: clamp(96px, 9vw, 128px); }
  .nr-ca-mic { position: relative; right: auto; bottom: auto; width: clamp(170px, 16vw, 230px); }
  .nr-ca-mic__tag { display: flex; align-items: center; gap: 10px; margin-top: 18px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 13px; letter-spacing: .14em; color: var(--nm-ink); }
  .nr-ca-mic__tag b { padding: 4px 10px; border-radius: 999px; background: var(--nm-red); color: #fff; font-weight: 800; }
}

/* ---------- 波形の縁と墨の帯（見出しと本文の境目） ---------- */
.nr-ca-edge { display: block; width: 100%; height: 72px; margin-top: 36px; }
.nr-ca-edge path { fill: var(--nm-ink); }
.nr-ca-edge--bottom { margin-top: -1px; transform: scaleY(-1); }
main[data-page="careers"] .nr-ca .nm-body-13 { margin-top: 0; }
.nr-ca-deck { margin-top: -1px; padding: 18px 0 30px; background: var(--nm-ink); }
.nr-ca-deck .nr-ca-tape__item--ink { background: var(--nm-yellow); color: var(--nm-ink); }
.nr-ca-deck .nr-ca-tape__item--ink span { color: var(--nm-ink); }
.nr-ca-deck .nr-ca-tape__item--red, .nr-ca-deck .nr-ca-tape__item--red span { color: var(--nm-ink); }
@media (min-width: 768px) { .nr-ca-edge { height: 120px; margin-top: 56px; } .nr-ca-deck { padding: 24px 0 48px; } }

/* ---------- テープの帯 ---------- */
.nr-ca-tape { position: relative; padding: 34px 0 10px; overflow: hidden; }
.nr-ca-tape__ruler { position: absolute; left: 0; right: 0; top: 0; height: 18px; background:
  repeating-linear-gradient(90deg, rgba(255,255,255,.9) 0 2px, transparent 2px 120px) 0 0 / 100% 18px no-repeat,
  repeating-linear-gradient(90deg, rgba(255,255,255,.55) 0 1px, transparent 1px 24px) 0 10px / 100% 8px no-repeat; }
.nr-ca-tape__track { display: flex; width: max-content; will-change: transform; }
.nr-ca-tape__set { display: flex; align-items: flex-start; gap: 22px; padding-right: 22px; }
.nr-ca-tape__item { position: relative; flex: none; border-radius: 22px; overflow: hidden; }
.nr-ca-tape__item:nth-child(2n) { margin-top: 44px; }
.nr-ca-tape__item--photo { width: 250px; aspect-ratio: 3/2; background: #ece5d3; }
.nr-ca-tape__item--photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--nr-ease); }
.nr-ca-tape__item--tile { display: flex; flex-direction: column; justify-content: space-between; width: 170px; height: 170px; padding: 18px; }
.nr-ca-tape__item--tile span { font-family: var(--ja-bold-font); font-weight: 700; font-size: 11px; line-height: 1.6; letter-spacing: .05em; }
.nr-ca-tape__item--ink { background: var(--nm-ink); color: var(--nm-yellow); }
.nr-ca-tape__item--ink span { color: #fff; }
.nr-ca-tape__item--cream { background: var(--nm-cream); color: var(--nm-ink); }
.nr-ca-tape__item--red { background: var(--nm-red); color: #fff; }
.nr-ca-tape__item--white { background: #fff; color: var(--nm-ink); }
.nr-ca-onoma { display: block; font-family: "Dela Gothic One", var(--ja-bold-font); font-weight: 400; line-height: 1; letter-spacing: -.05em; font-size: 46px; transform: rotate(-6deg); transform-origin: 0 100%; }
.nr-ca-tape__big { font-family: var(--en-demibold-font); font-weight: 800; font-size: 64px; line-height: .9; letter-spacing: -.02em; }
.nr-ca-tape__wave { display: block; height: 46px; background: var(--nm-ink); -webkit-mask: var(--wave) center / 100% 100% no-repeat; mask: var(--wave) center / 100% 100% no-repeat; }
.nr-ca-tape__cap { position: absolute; left: 12px; bottom: 12px; padding: 5px 10px; border-radius: 999px; background: #fff; color: var(--nm-ink); font-family: var(--ja-bold-font); font-weight: 700; font-size: 10px; letter-spacing: .06em; }
.nr-ca-tape__head { position: absolute; top: 0; bottom: 0; left: 50%; width: 2px; margin: 0; background: var(--nm-red); pointer-events: none; z-index: 2; }
.nr-ca-tape__head span { position: absolute; top: 0; left: 50%; transform: translateX(-50%); padding: 3px 9px; border-radius: 999px; background: var(--nm-red); color: #fff; font-family: var(--en-demibold-font); font-weight: 600; font-size: 10px; letter-spacing: .14em; }
.nr-ca-tape__head span:before { content: ""; display: inline-block; width: 0; height: 0; margin-right: 5px; border-left: 6px solid #fff; border-top: 4px solid transparent; border-bottom: 4px solid transparent; }
@media (min-width: 768px) {
  .nr-ca-tape { padding-top: 44px; }
  .nr-ca-tape__set { gap: 40px; padding-right: 40px; }
  .nr-ca-tape__item:nth-child(2n) { margin-top: 80px; }
  .nr-ca-tape__item--photo { width: 480px; }
  .nr-ca-tape__item--tile { width: 300px; height: 300px; padding: 28px; }
  .nr-ca-tape__item--tile span { font-size: 14px; }
  .nr-ca-onoma { font-size: 84px; }
  .nr-ca-tape__big { font-size: 120px; }
  .nr-ca-tape__wave { height: 90px; }
  .nr-ca-tape__cap { left: 16px; bottom: 16px; font-size: 12px; padding: 6px 12px; }
}
@media (hover: hover) { .nr-ca-tape__item--photo:hover img { transform: scale(1.06); } }

/* ---------- 歌詞のように光る文章 ---------- */
.nr-ca-lyric > p { opacity: .55; transform: translateX(-6px); transition: opacity .6s ease, transform .8s var(--nr-ease); }
.nr-ca-lyric > p.is-on { opacity: 1; transform: none; }
.nr-ca-lyric > p:before { content: ""; display: block; width: 26px; height: 3px; margin-bottom: 14px; border-radius: 2px; background: #fff; transform: scaleX(.3); transform-origin: left; transition: transform .6s var(--nr-ease); }
.nr-ca-lyric > p.is-on:before { transform: scaleX(1); }

/* ---------- 1日の流れ（録音ソフトの画面） ---------- */
.nr-ca-day { margin-top: 140px; padding: 90px 0 100px; background: var(--nm-ink); border-radius: 40px; color: #fff; }
.nr-ca-day__inner { width: 88%; max-width: 1180px; margin: 0 auto; }
.nr-ca-day__head { display: grid; gap: 22px; }
.nr-ca-day__now { display: flex; align-items: baseline; gap: 14px; margin: 8px 0 0; padding: 14px 18px; border-radius: 16px; background: rgba(255,255,255,.08); }
.nr-ca-day__clock { font-family: var(--en-demibold-font); font-weight: 600; font-size: 34px; line-height: 1; color: var(--nm-yellow); font-variant-numeric: tabular-nums; }
.nr-ca-day__what { font-family: var(--ja-bold-font); font-weight: 700; font-size: 15px; }
.nr-ca-day__daw { position: relative; margin-top: 44px; }
.nr-ca-day__ruler, .nr-ca-day__lanes, .nr-ca-day__playhead { display: none; }
.nr-ca-day__clips { display: grid; gap: 0; border-left: 2px solid rgba(255,255,255,.2); }
.nr-ca-day__clips li { position: relative; display: grid; grid-template-columns: 56px 1fr; gap: 10px; padding: 12px 0 12px 18px; opacity: .55; transition: opacity .4s; }
.nr-ca-day__clips li:before { content: ""; position: absolute; left: -7px; top: 18px; width: 12px; height: 12px; border-radius: 50%; background: var(--c); }
.nr-ca-day__clips li[data-c="y"] { --c: var(--nm-yellow); } .nr-ca-day__clips li[data-c="w"] { --c: #fff; } .nr-ca-day__clips li[data-c="r"] { --c: var(--nm-red); }
.nr-ca-day__clips li.is-on { opacity: 1; }
.nr-ca-day__clips time { font-family: var(--en-demibold-font); font-weight: 600; font-size: 13px; letter-spacing: .06em; color: var(--nm-yellow); }
.nr-ca-day__clips b { font-family: var(--ja-bold-font); font-weight: 700; font-size: 14px; line-height: 1.6; }
@media (min-width: 768px) {
  .nr-ca-day { margin-top: 240px; padding: 140px 0 150px; border-radius: 80px; }
  .nr-ca-day__head { grid-template-columns: 1fr 1fr; align-items: end; column-gap: 60px; }
  .nr-ca-day__head > p.nm-t { grid-column: 2; grid-row: 1; align-self: end; }
  .nr-ca-day__now { grid-column: 1 / -1; padding: 18px 26px; }
  .nr-ca-day__clock { font-size: 56px; }
  .nr-ca-day__what { font-size: 22px; }
  .nr-ca-day__daw { margin-top: 56px; padding-left: 92px; }
  .nr-ca-day__ruler { display: flex; justify-content: space-between; margin: 0 -6px 12px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 11px; color: rgba(255,255,255,.55); letter-spacing: .08em; }
  .nr-ca-day__ruler span { width: 12px; text-align: center; }
  .nr-ca-day__clips { position: relative; display: block; height: 228px; border-left: 0; background: repeating-linear-gradient(90deg, rgba(255,255,255,.08) 0 1px, transparent 1px 10%), linear-gradient(rgba(255,255,255,.04), rgba(255,255,255,.04)); border-radius: 14px; }
  .nr-ca-day__clips li { position: absolute; display: flex; flex-direction: column; gap: 4px; top: calc((var(--lane) - 1) * 76px + 6px); left: var(--l); width: max-content; min-width: calc(var(--w) - 4px); max-width: calc(var(--room) - 4px); height: 66px; padding: 8px 10px; overflow: hidden; border-radius: 10px; background: var(--c); color: var(--nm-ink); opacity: .78; transition: opacity .3s, transform .4s var(--nr-pop), box-shadow .3s; }
  .nr-ca-day__clips li:before { display: none; }
  .nr-ca-day__clips li time { font-size: 11px; color: inherit; opacity: .75; }
  .nr-ca-day__clips li b { font-size: 12px; line-height: 1.3; white-space: normal; word-break: auto-phrase; }
  .nr-ca-day__clips li.is-right { left: auto; right: var(--r); }
  .nr-ca-day__clips li.is-on { opacity: 1; transform: translateY(-3px); box-shadow: 0 8px 0 rgba(0,0,0,.35); }
  .nr-ca-day__lanes { display: grid; grid-auto-rows: 76px; position: absolute; left: 0; top: 30px; width: 80px; padding-top: 8px; }
  .nr-ca-day__lanes li { display: flex; align-items: center; height: 66px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 11px; letter-spacing: .14em; color: rgba(255,255,255,.55); }
  .nr-ca-day__playhead { display: block; position: absolute; top: 22px; bottom: -10px; left: calc(92px + (100% - 92px) * var(--p, .05)); width: 2px; margin-left: -1px; background: var(--nm-red); }
  .nr-ca-day__playhead:before { content: ""; position: absolute; top: -8px; left: -6px; border-left: 7px solid transparent; border-right: 7px solid transparent; border-top: 10px solid var(--nm-red); }
}

/* ---------- 働き方：積み重なる5トラック ---------- */
main[data-page="careers"] .nr-ca-ws { margin-top: 140px; padding: 80px 0 90px; background: var(--nm-cream); border-radius: 40px; }
.nr-ca-ws .nm-header .nm-inner-2 { display: grid; gap: 18px; }
.nr-ca-ws__stack { margin-top: 50px; }
main[data-page="careers"] .nr-ca-ws__card { position: relative; width: 90%; max-width: 1180px; margin: 0 auto 20px; padding: 30px 24px 34px; border-radius: 30px; background: #fff; box-shadow: 0 -6px 24px rgba(20,20,20,.06); }
main[data-page="careers"] .nr-ca-ws__card[data-index="2"], main[data-page="careers"] .nr-ca-ws__card[data-index="4"] { background: #fff4d2; }
main[data-page="careers"] .nr-ca-ws__in { display: grid; gap: 26px; width: auto; max-width: none; height: auto; padding: 0; margin: 0; }
main[data-page="careers"] .nr-ca-ws__card .nm-alpha-2, main[data-page="careers"] .nr-ca-ws__card .nm-beta-2 { width: auto; margin: 0; }
.nr-ca-ws__no { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 18px; padding: 7px 14px 7px 10px; border-radius: 999px; background: var(--nm-ink); color: var(--nm-yellow); font-family: var(--en-demibold-font); font-weight: 600; font-size: 13px; letter-spacing: .14em; }
.nr-ca-ws__no .nr-eq { height: 12px; }
.nr-ca-ws__no .nr-eq i { width: 2px; animation: nr-bounce .9s ease-in-out infinite; }
.nr-ca-ws__no .nr-eq i:nth-child(2) { animation-delay: -.3s; } .nr-ca-ws__no .nr-eq i:nth-child(3) { animation-delay: -.6s; }
.nr-ca-ws__no span { padding-left: 10px; border-left: 1px solid rgba(255,255,255,.3); font-family: var(--ja-bold-font); font-weight: 700; letter-spacing: .08em; color: #fff; }
.nr-ca-ws__txt { display: grid; gap: 14px; margin-top: 18px; }
.nr-ca-ws__ph { aspect-ratio: 3/2; border-radius: 24px; overflow: hidden; background: #ece5d3; transition: border-radius .7s var(--nr-ease); }
.nr-ca-ws__ph img { width: 100%; height: 100%; object-fit: cover; }
@media (hover: hover) { .nr-ca-ws__card:hover .nr-ca-ws__ph { border-radius: 50% 50% 24px 24px / 30% 30% 24px 24px; } }
.nr-ca-ws__dial { margin: 0 auto; max-width: 300px; }
.nr-ca-ws__dial svg { display: block; width: 100%; height: auto; overflow: visible; }
.nr-ca-ws__dial circle { fill: none; }
.nr-ca-ws__dial-bg { stroke: #ece5d3; stroke-width: 16; }
.nr-ca-ws__dial-flex { stroke: var(--nm-ink); stroke-width: 16; }
.nr-ca-ws__dial-core { stroke: var(--nm-yellow); stroke-width: 24; stroke-linecap: round; }
.nr-ca-ws__dial-ticks line { stroke: var(--nm-ink); stroke-width: 2; stroke-linecap: round; opacity: .35; }
.nr-ca-ws__dial-ticks line.is-major { opacity: .9; stroke-width: 3; }
.nr-ca-ws__dial-ticks text { font-family: var(--en-demibold-font); font-weight: 600; font-size: 10px; fill: #6d675b; }
.nr-ca-ws__dial-big { font-family: var(--en-demibold-font); font-weight: 800; font-size: 34px; fill: var(--nm-ink); }
.nr-ca-ws__dial-sm { font-family: var(--en-demibold-font); font-weight: 600; font-size: 11px; letter-spacing: .14em; fill: #6d675b; }
.nr-ca-ws__dial figcaption { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 8px; margin-top: 34px; font-family: var(--ja-bold-font); font-weight: 700; font-size: 11px; color: var(--nm-ink); }
.nr-ca-ws__key { display: inline-block; width: 12px; height: 12px; border-radius: 4px; margin-left: 8px; }
.nr-ca-ws__key--y { background: var(--nm-yellow); } .nr-ca-ws__key--k { background: var(--nm-ink); }
@media (min-width: 768px) {
  main[data-page="careers"] .nr-ca-ws { margin-top: 240px; padding: 140px 0 160px; border-radius: 80px; }
  .nr-ca-ws__stack { margin-top: 80px; }
  /* 監修25：重ね幅は「題1行が見える」72px。見えている帯には題の札だけを置き、本文はその下から始める */
  main[data-page="careers"] .nr-ca-ws__card { position: sticky; top: calc(92px + (var(--i, 0) * 72px)); margin-bottom: 70px; padding: 18px 56px 56px; border-radius: 44px; }
  .nr-ca-ws__card > .nr-ca-ws__no { margin: 0 0 44px; }
  main[data-page="careers"] .nr-ca-ws__card:last-child { margin-bottom: 0; }
}
@media (min-width: 992px) {
  main[data-page="careers"] .nr-ca-ws__in { grid-template-columns: 1fr 0.9fr; gap: 64px; align-items: center; }
  main[data-page="careers"] .nr-ca-ws__card[data-index="2"] .nr-ca-ws__in > .nm-beta-2, main[data-page="careers"] .nr-ca-ws__card[data-index="4"] .nr-ca-ws__in > .nm-beta-2 { order: -1; }
}

/* ---------- こんな耳の人に：つまみ ---------- */
.nr-ca-rec .nm-recommendation-item { gap: 0 18px; padding-bottom: 18px; border-bottom: 1px dashed rgba(255,255,255,.6); }
.nr-ca-knob { position: relative; flex: none; width: 48px; height: 48px; border-radius: 50%; background: var(--nm-ink); box-shadow: 0 0 0 6px rgba(255,255,255,.28); }
.nr-ca-knob:before { content: ""; position: absolute; inset: -12px; border-radius: 50%; background: repeating-conic-gradient(from -135deg, rgba(255,255,255,.9) 0 2deg, transparent 2deg 27deg); -webkit-mask: radial-gradient(circle, transparent 31px, #000 32px); mask: radial-gradient(circle, transparent 31px, #000 32px); clip-path: polygon(50% 50%, 0 100%, 0 0, 100% 0, 100% 100%); }
.nr-ca-knob i { position: absolute; left: 50%; top: 6px; width: 3px; height: 15px; margin-left: -1.5px; border-radius: 2px; background: var(--nm-yellow); transform-origin: 50% 18px; transform: rotate(-135deg); transition: transform 1.2s var(--nr-pop); }
.nr-ca-rec.is-in .nr-ca-knob i { transform: rotate(calc(-135deg + var(--lv) * 270deg)); }
.nr-ca-rec li:nth-child(2) .nr-ca-knob i { transition-delay: .15s; } .nr-ca-rec li:nth-child(3) .nr-ca-knob i { transition-delay: .3s; }
@media (hover: hover) { .nr-ca-rec li:hover .nr-ca-knob i { transform: rotate(135deg); } }

/* ---------- 募集要項：トラックシート ---------- */
.nr-ca-sheet .nm-job-description-detail { flex-direction: column; gap: 6px; padding: 4px 10px 22px; border-bottom: 1px dashed rgba(255,255,255,.6); border-radius: 10px; transition: background-color .3s; }
main[data-page="careers"] .nr-ca-sheet .nm-job-description-detail > dt { display: flex; align-items: center; gap: 10px; flex: none; width: auto; }
main[data-page="careers"] .nr-ca-sheet .nm-job-description-detail > dd { flex: none; }
.nr-ca-sheet__ch { display: inline-block; padding: 3px 8px; border-radius: 6px; background: var(--nm-ink); color: var(--nm-yellow); font-family: var(--en-demibold-font); font-weight: 600; font-size: 10px; letter-spacing: .1em; line-height: 1.4; }
@media (min-width: 768px) { .nr-ca-sheet .nm-job-description-detail { flex-direction: row; gap: 0 30px; padding: 6px 12px 26px; } main[data-page="careers"] .nr-ca-sheet .nm-job-description-detail > dt { width: 190px; } main[data-page="careers"] .nr-ca-sheet .nm-job-description-detail > dd { flex: 1; } }
@media (hover: hover) { .nr-ca-sheet .nm-job-description-detail:hover { background: rgba(255,255,255,.16); } }

/* ---------- 選考の流れ：ステップ・シーケンサー ---------- */
main[data-page="careers"] .nr-ca-flow { margin-top: 140px; display: grid; gap: 18px; }
.nr-ca-flow__steps { position: relative; display: grid; gap: 14px; margin-top: 30px; }
.nr-ca-flow__steps li { position: relative; display: grid; gap: 10px; padding: 24px 22px 26px; border-radius: 24px; background: #fff; }
.nr-ca-flow__pad { position: absolute; top: 24px; right: 22px; width: 22px; height: 22px; border-radius: 6px; background: #ece5d3; box-shadow: inset 0 -3px 0 rgba(0,0,0,.08); }
.nr-ca-flow.is-in .nr-ca-flow__pad { animation: nr-ca-seq 4s steps(1) infinite; }
.nr-ca-flow__steps li:nth-child(2) .nr-ca-flow__pad { animation-delay: 1s; } .nr-ca-flow__steps li:nth-child(3) .nr-ca-flow__pad { animation-delay: 2s; } .nr-ca-flow__steps li:nth-child(4) .nr-ca-flow__pad { animation-delay: 3s; }
@keyframes nr-ca-seq { 0% { background: var(--nm-red); box-shadow: 0 0 0 5px rgba(232,69,44,.22), inset 0 -3px 0 rgba(0,0,0,.12); } 25%, 100% { background: #ece5d3; box-shadow: inset 0 -3px 0 rgba(0,0,0,.08); } }
.nr-ca-flow__no { font-family: var(--en-demibold-font); font-weight: 600; font-size: 11px; letter-spacing: .14em; color: #a39b8a; }
.nr-ca-flow__steps li:first-child { background: var(--nm-ink); }
.nr-ca-flow__steps li:first-child .nm-t { color: #fff !important; }
.nr-ca-flow__steps li:first-child h3.nm-t { color: var(--nm-yellow) !important; }
.nr-ca-flow__btn { display: flex; justify-content: center; margin-top: 40px; }
@media (min-width: 768px) {
  main[data-page="careers"] .nr-ca-flow { margin-top: 260px; }
  .nr-ca-flow__steps { grid-template-columns: repeat(2, 1fr); gap: 20px; margin-top: 50px; }
  .nr-ca-flow__btn { margin-top: 70px; }
}
@media (min-width: 1100px) { .nr-ca-flow__steps { grid-template-columns: repeat(4, 1fr); } .nr-ca-flow__steps li { padding: 30px 26px 34px; } }

/* ---------- オーディションの3枠 ---------- */
main[data-page="careers"] .nr-ca-jobs { margin-top: 140px; }
main[data-page="careers"] .nr-ca-job { color: #fff; }
/* 監修27：3枠とも墨の地。違いはジャケットの絵柄と職種名だけで出す */
main[data-page="careers"] .nr-ca-job { background-color: var(--nm-ink); }
main[data-page="careers"] .nr-ca-job + .nr-ca-job { border-top: 1px solid rgba(255,255,255,.14); }
main[data-page="careers"] .nr-ca-job { padding-bottom: 80px; }
main[data-page="careers"] .nr-ca-job .nm-job-detail-inner { flex-direction: column; width: 85%; gap: 0; }
.nr-ca-job__no { display: inline-block; margin: 0 0 16px; padding: 5px 12px; border: 1.5px solid currentColor; border-radius: 999px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 11px; letter-spacing: .14em; }
.nr-ca-job .nm-job-detail-title { margin: 0; }
.nr-ca-job__lead { margin-top: 18px; }
.nr-ca-job__label { margin-top: 34px; opacity: .7; }
.nr-ca-roles { margin-top: 10px; border-top: 1px solid currentColor; }
.nr-ca-roles > li { border-bottom: 1px solid color-mix(in srgb, currentColor 35%, transparent); }
main[data-page="careers"] .nr-ca-role { display: flex; justify-content: space-between; align-items: center; gap: 16px; width: 100%; padding: 16px 2px; color: inherit; cursor: pointer; }
main[data-page="careers"] .nr-ca-role .nm-job-detail-button-text { text-decoration: none; transition: transform .4s var(--nr-ease); }
.nr-ca-role__icon { position: relative; flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--nm-yellow); transition: transform .5s var(--nr-pop), background-color .3s; }
.nr-ca-role__icon i { position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; margin: -1px 0 0 -6px; border-radius: 1px; background: var(--nm-ink); transition: transform .4s var(--nr-ease); }
.nr-ca-role__icon i:nth-child(2) { transform: rotate(90deg); }
.nr-ca-role[aria-expanded="true"] .nr-ca-role__icon { transform: rotate(180deg); }
.nr-ca-role[aria-expanded="true"] .nr-ca-role__icon i:nth-child(2) { transform: rotate(0); }
@media (hover: hover) { main[data-page="careers"] .nr-ca-role:hover .nm-job-detail-button-text { transform: translateX(8px); } .nr-ca-role:hover .nr-ca-role__icon { transform: scale(1.12); } }
.nr-ca-role__body { padding: 0 2px 20px; }
.nr-ca-role__body dl { display: grid; grid-template-columns: 96px 1fr; gap: 8px 14px; font-size: 13px; line-height: 1.8; letter-spacing: .04em; }
.nr-ca-role__body dt { font-family: var(--ja-bold-font); font-weight: 700; opacity: .7; }
.nr-ca-role__body dd { font-family: var(--ja-regular-font); font-weight: 400; }
.nr-ca-role__body:not([hidden]) { animation: nr-ca-open .5s var(--nr-ease); }
@keyframes nr-ca-open { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
main[data-page="careers"] .nr-ca-job .nm-job-detail-attention { margin-top: 18px; opacity: .75; }
main[data-page="careers"] .nr-ca-job .nm-job-detail-image { margin-top: 44px; }
.nr-ca-sleeve { position: relative; display: flex; flex-direction: column; justify-content: space-between; width: 100%; max-width: 360px; aspect-ratio: 4/3; padding: 22px; border-radius: 26px; overflow: hidden; isolation: isolate; }
.nr-ca-sleeve:after { content: ""; position: absolute; z-index: -1; right: -32%; bottom: -46%; width: 90%; aspect-ratio: 1; border-radius: 50%; background: repeating-radial-gradient(circle, rgba(0,0,0,.14) 0 1px, transparent 1px 7px); }
.nr-ca-sleeve--y { background: var(--nm-yellow); color: var(--nm-ink); }
.nr-ca-sleeve--k { background: var(--nm-ink); color: var(--nm-yellow); }
.nr-ca-sleeve--k:after { background: repeating-radial-gradient(circle, rgba(255,255,255,.12) 0 1px, transparent 1px 7px); }
.nr-ca-sleeve--c { background: var(--nm-cream); color: var(--nm-ink); }
.nr-ca-sleeve--r { background: var(--nm-red); color: var(--nm-ink); }
.nr-ca-sleeve__no, .nr-ca-sleeve__meta { font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .14em; }
.nr-ca-sleeve .nr-ca-onoma { font-size: 64px; transition: transform .6s var(--nr-pop); }
.nr-ca-sleeve__wave { display: block; width: 100%; height: 50px; fill: currentColor; }
@media (hover: hover) { .nr-ca-sleeve:hover .nr-ca-onoma { transform: rotate(3deg) scale(1.06); } }
@media (min-width: 768px) {
  main[data-page="careers"] .nr-ca-jobs { margin-top: 160px; }
  main[data-page="careers"] .nr-ca-job { padding-bottom: 300px; }
  main[data-page="careers"] .nr-ca-job:last-of-type { padding-bottom: 200px; }
  main[data-page="careers"] .nr-ca-job .nm-job-detail-inner { flex-direction: row-reverse; width: 80%; gap: 0 9%; align-items: flex-start; }
  main[data-page="careers"] .nr-ca-job .nm-job-detail-image { margin-top: 0; width: 38%; position: sticky; top: 120px; }
  .nr-ca-sleeve { max-width: none; aspect-ratio: 780/1092; padding: 34px; border-radius: 36px; }
  .nr-ca-sleeve .nr-ca-onoma { font-size: 110px; }
  .nr-ca-sleeve__wave { height: 90px; }
}
@media (min-width: 768px) and (max-width: 1099px) { .nr-ca-sleeve .nr-ca-onoma { font-size: 72px; } }

/* ---------- よくある質問 ---------- */
.nr-ca-faq { width: 85%; max-width: 1060px; margin: 140px auto 0; }
.nr-ca-faq__head { display: grid; gap: 16px; margin-bottom: 36px; }
.nr-ca-faq__list { display: grid; gap: 12px; }
.nr-ca-faq__item { border-radius: 20px; background: #fff; overflow: hidden; }
.nr-ca-faq__item summary { display: grid; grid-template-columns: 34px 1fr 26px; align-items: center; gap: 14px; padding: 20px 20px; cursor: pointer; list-style: none; }
.nr-ca-faq__item summary::-webkit-details-marker { display: none; }
.nr-ca-faq__q { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--nm-yellow); color: var(--nm-ink); font-family: var(--en-demibold-font); font-weight: 600; font-size: 13px; }
.nr-ca-faq__icon { display: flex; align-items: flex-end; justify-content: center; gap: 3px; height: 18px; }
.nr-ca-faq__icon i { display: block; width: 4px; height: 100%; border-radius: 2px; background: var(--nm-ink); transform-origin: bottom; transform: scaleY(.25); transition: transform .4s var(--nr-pop); }
.nr-ca-faq__item[open] .nr-ca-faq__icon i { animation: nr-bounce .7s ease-in-out infinite; }
.nr-ca-faq__item[open] .nr-ca-faq__icon i:nth-child(2) { animation-delay: -.25s; } .nr-ca-faq__item[open] .nr-ca-faq__icon i:nth-child(3) { animation-delay: -.5s; }
@media (hover: hover) { .nr-ca-faq__item summary:hover .nr-ca-faq__icon i { transform: scaleY(.7); } .nr-ca-faq__item summary:hover .nr-ca-faq__icon i:nth-child(2) { transform: scaleY(1); } }
.nr-ca-faq__item > p { padding: 0 20px 24px 68px; }
.nr-ca-faq__btn { display: flex; justify-content: center; margin-top: 56px; }
@media (min-width: 768px) {
  .nr-ca-faq { width: 74%; margin-top: 240px; }
  .nr-ca-faq__head { margin-bottom: 56px; }
  .nr-ca-faq__item summary { padding: 26px 32px; gap: 20px; grid-template-columns: 40px 1fr 30px; }
  .nr-ca-faq__q { width: 40px; height: 40px; }
  .nr-ca-faq__item > p { padding: 0 32px 30px 92px; }
  .nr-ca-faq__btn { margin-top: 80px; }
}

@media (prefers-reduced-motion: reduce) {
  .nr-ca-mic__led, .nr-ca-mic__level rect, .nr-ca-flow.is-in .nr-ca-flow__pad, .nr-ca-ws__no .nr-eq i, .nr-ca-faq__item[open] .nr-ca-faq__icon i { animation: none !important; }
  .nr-ca-lyric > p { opacity: 1; transform: none; }
}

/* ---------- 監修1周目：文字の最小サイズ（SP 12px・PC 14px を下回らない） ---------- */
.nr-ca-tape__cap, .nr-ca-tape__item--tile span, .nr-ca-tape__head span, .nr-ca-ws__dial figcaption, .nr-ca-sheet__ch, .nr-ca-flow__no, .nr-ca-job__no { font-size: 12px; }
@media (min-width: 768px) {
  .nr-ca-mic__tag, .nr-ca-tape__cap, .nr-ca-tape__item--tile span, .nr-ca-tape__head span, .nr-ca-day__ruler span, .nr-ca-day__lanes li, .nr-ca-ws__no, .nr-ca-ws__dial figcaption, .nr-ca-sheet__ch, .nr-ca-flow__no, .nr-ca-job__no, .nr-ca-sleeve__no, .nr-ca-sleeve__meta, .nr-ca-faq__q { font-size: 14px; }
  main[data-page="careers"] .nr-ca-job .nm-job-detail-attention, main[data-page="careers"] .nm-job-detail-attention { font-size: 14px; }
  .nr-ca-day__clips li time, .nr-ca-day__clips li b { font-size: 14px; }
  .nr-ca-day__clips li { height: 74px; top: calc((var(--lane) - 1) * 82px + 6px); }
  .nr-ca-day__clips { height: 252px; }
  .nr-ca-day__lanes { grid-auto-rows: 82px; } .nr-ca-day__lanes li { height: 74px; }
}

/* ---- company.css ---- */
/* ===== 会社概要（company）｜nr-co- ===== */

/* ---------- 最初の画面（初見監修 H3）：大きな COMPANY＋ジャケットの写真＋左下で半分切れるレコード ---------- */
.nr-co .nr-nw { white-space: nowrap; }
main[data-page="company"] .nr-co { padding-top: 0; }
.nr-co-fv { position: relative; z-index: 0; min-height: max(720px, 100svh); padding: 128px 0 0; overflow-x: clip; }
main[data-page="company"] .nr-co-hero { position: relative; z-index: 2; display: block; width: auto; max-width: none; margin: 0 24px; }
.nr-co-hero__en { display: flex; align-items: center; margin: 0; font-family: var(--en-demibold-font); font-weight: 800; font-size: clamp(50px, 14.4vw, 60px); line-height: .9; letter-spacing: -.04em; color: var(--nm-ink); white-space: nowrap; }
.nr-co-hero__en .nr-h__eq { height: .46em; margin-right: .16em; }
main[data-page="company"] .nr-co-hero__lead { max-width: 21em; margin-top: 22px; }
/* ジャケットの写真 */
.nr-co-sleeve { position: relative; z-index: 2; width: 84%; margin: 40px 0 0 auto; transform: translateX(-16px) rotate(var(--sr, -3deg)) translateY(var(--sy, 0px)); transform-origin: 70% 50%; will-change: transform; animation: nr-co-sleeve-in 1.1s var(--nr-ease) both .15s; }
@keyframes nr-co-sleeve-in { from { opacity: 0; translate: 60px 0; } to { opacity: 1; translate: 0 0; } }
.nr-co-mv__frame { position: relative; overflow: hidden; aspect-ratio: 4 / 3; border-radius: 22px; background: #d9cfb8; box-shadow: 10px 14px 0 rgba(20,20,20,.16); }
.nr-co-mv__frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(var(--ms, 1.08)); will-change: transform; }
.nr-co-mv__frame:after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,20,20,.18), rgba(20,20,20,0) 30%, rgba(20,20,20,0) 55%, rgba(20,20,20,.5)); pointer-events: none; }
.nr-co-mv__rec { position: absolute; left: 14px; top: 14px; z-index: 2; display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 6px 12px 6px 10px; border-radius: 999px; background: rgba(20,20,20,.55); color: #fff; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .16em; }
.nr-co-mv__rec i { width: 8px; height: 8px; border-radius: 50%; background: var(--nm-red); animation: nr-co-blink 1.2s steps(2, jump-none) infinite; }
@keyframes nr-co-blink { 50% { opacity: .2; } }
.nr-co-mv__cap { position: absolute; left: 12px; bottom: 12px; z-index: 2; display: flex; align-items: center; gap: 8px; margin: 0; padding: 5px 12px 5px 5px; border-radius: 999px; background: rgba(20,20,20,.62); color: #fff; font-family: var(--ja-bold-font); font-weight: 700; font-size: 12px; letter-spacing: .04em; }
.nr-co-mv__cap span { padding: 2px 9px; border: 1.5px solid #fff; border-radius: 999px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .12em; }
.nr-co-mv__wave { position: absolute; right: 22px; bottom: 22px; z-index: 2; display: none; align-items: flex-end; gap: 4px; height: 56px; }
.nr-co-mv__wave i { display: block; width: 5px; height: 100%; border-radius: 3px; background: #fff; transform-origin: bottom; transform: scaleY(.08); }
.nr-co-mv__wave i.is-hot { background: var(--nm-yellow); }
/* レコード盤：左下に置き、画面の左端で半分切れる（円の形はこのページのここ1か所だけ） */
.nr-co .nr-co-disc { position: absolute; z-index: 1; left: -150px; bottom: 28px; width: 300px; aspect-ratio: 1; animation: nr-co-disc-in 1.4s var(--nr-ease) both; }
@keyframes nr-co-disc-in { from { translate: -70% 0; rotate: -200deg; } to { translate: 0 0; rotate: 0deg; } }
.nr-co-disc__svg { display: block; width: 100%; height: 100%; will-change: transform; filter: drop-shadow(0 20px 40px rgba(20,20,20,.18)); }
.nr-co .header-alpha-1 .nr-h__eq { height: .7em; margin-right: .4em; }
@media (min-width: 768px) {
  .nr-co-fv { padding-top: 168px; min-height: max(820px, 100svh); }
  main[data-page="company"] .nr-co-hero { width: 88%; max-width: 1240px; margin: 0 auto; }
  .nr-co-hero__en { font-size: clamp(96px, 9vw, 128px); }
  main[data-page="company"] .nr-co-hero__lead { margin-top: 28px; }
  .nr-co-sleeve { position: absolute; right: max(6%, calc((100% - 1240px) / 2)); top: 300px; width: min(46%, 600px); margin: 0; transform: rotate(var(--sr, -3deg)) translateY(var(--sy, 0px)); }
  .nr-co-mv__frame { border-radius: 28px; box-shadow: 14px 18px 0 rgba(20,20,20,.16); }
  .nr-co-mv__rec { left: 24px; top: 22px; } .nr-co-mv__cap { left: 20px; bottom: 20px; font-size: 14px; } .nr-co-mv__cap span { font-size: 14px; }
  .nr-co-mv__wave { display: flex; }
  .nr-co .nr-co-disc { left: -270px; bottom: -90px; width: 540px; }
}

/* ---------- クレジット表記 ---------- */
.nr-co-credits__note { max-width: 15em; margin-top: 18px; font-family: var(--ja-regular-font); font-size: 13px; line-height: 1.8; color: var(--nm-ink); }
@media (min-width: 768px) { .nr-co-credits__note { max-width: none; font-size: 14px; } }
@media (min-width: 992px) { .nr-co-credits .nm-summary-header { align-self: flex-start; } }
.nr-co-credits .nm-summary-detail { border-top-width: 3px; }
.nr-co-credits .nm-summary-detail-body { gap: 16px 0; }
.nr-co .nr-co-row { display: grid; grid-template-columns: 6.5em minmax(0, 1fr); align-items: baseline; gap: 0 14px; padding-bottom: 14px; border-bottom: 1.5px dotted rgba(20,20,20,.45); opacity: 0; transform: translateY(14px); transition: opacity .5s, transform .6s var(--nr-ease); }
.nr-co .nr-co-row.is-in { opacity: 1; transform: none; }
.nr-co .nr-co-row > dt { width: auto; min-width: 0; font-family: var(--ja-bold-font); font-weight: 700; line-height: 1.6; }
.nr-co-row > dt small { display: block; margin-bottom: 2px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .1em; line-height: 1.4; opacity: .8; }
.nr-co-lead { display: none; }
.nr-co .nr-co-row > dd { min-width: 0; max-width: none; text-align: left; line-height: 1.7; }
@media (min-width: 768px) { .nr-co .nr-co-row { grid-template-columns: 12em minmax(0, 1fr); gap: 0 20px; } .nr-co-row > dt small { font-size: 14px; } }

/* ---------- A面・B面のスタジオ ---------- */
.nr-co-studios .nm-offices-body { gap: 110px 0; }
@media (min-width: 768px) { .nr-co-studios .nm-offices-body { gap: 150px 0; } .nr-co-side[data-side="B"] .nm-offices-detail-image { flex-direction: row-reverse; } .nr-co-side[data-side="B"] { text-align: right; } }
.nr-co .nr-co-side { position: relative; }
/* 回る文字の輪 → 横に流れるテープのラベル（写真の上の縁に貼る） */
.nr-co .nr-co-label { position: absolute; left: -8px; right: auto; top: -22px; z-index: 3; display: flex; align-items: stretch; width: min(560px, 92%); height: 44px; overflow: hidden; border: 2px solid var(--nm-ink); border-radius: 10px; background: var(--nm-cream); color: var(--nm-ink); transform: rotate(-1.5deg); box-shadow: 0 10px 24px rgba(20,20,20,.12); }
.nr-co-label__side { flex: none; display: grid; place-items: center; width: 44px; background: var(--nm-ink); color: var(--nm-yellow); font-family: "Bagel Fat One", sans-serif; font-weight: 400; font-size: 24px; line-height: 1; }
.nr-co-label__run { display: flex; align-items: center; white-space: nowrap; animation: nr-co-run 26s linear infinite; }
.nr-co-label__run > span { flex: none; padding-left: 12px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 13px; letter-spacing: .14em; }
.nr-co-label[data-side="B"] { background: var(--nm-ink); color: var(--nm-yellow); transform: rotate(1.5deg); }
.nr-co-label[data-side="B"] .nr-co-label__side { background: var(--nm-yellow); color: var(--nm-ink); }
.nr-co-label[data-side="B"] .nr-co-label__run { animation-direction: reverse; }
@keyframes nr-co-run { to { transform: translateX(-50%); } }
@keyframes nr-co-spin { to { transform: rotate(360deg); } }
@media (min-width: 768px) { .nr-co .nr-co-label { top: -26px; height: 52px; } .nr-co-label__side { width: 52px; font-size: 28px; } .nr-co-label__run > span { font-size: 14px; } .nr-co-side[data-side="B"] .nr-co .nr-co-label, .nr-co .nr-co-side[data-side="B"] .nr-co-label { left: auto; right: -8px; } }
.nr-co-photo { overflow: hidden; border-radius: 24px; aspect-ratio: 3 / 2; transition: border-radius .7s var(--nr-ease); }
.nr-co-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--nr-ease); }
@media (hover: hover) { .nr-co-side:hover .nr-co-photo { border-radius: 50% 50% 24px 24px / 30% 30% 24px 24px; } .nr-co-side:hover .nr-co-photo img { transform: scale(1.05); } }
.nr-co-tape { position: relative; aspect-ratio: 360 / 448; display: flex; flex-direction: column; gap: 8%; padding: 9% 8%; border: 2px solid var(--nm-ink); border-radius: 14px; background: var(--nm-yellow); color: var(--nm-ink); transform: rotate(4deg); transition: transform .6s var(--nr-pop); box-shadow: 6px 8px 0 rgba(20,20,20,.18); }
.nr-co-tape__label { flex: 0 0 34%; display: flex; align-items: center; gap: 6px; margin: 0; padding: 0 7%; border-radius: 6px; background: var(--nm-cream); overflow: hidden; }
.nr-co-tape__label b { font-family: "Bagel Fat One", sans-serif; font-weight: 400; font-size: 20px; line-height: 1; }
.nr-co-tape__label span { display: flex; flex-direction: column; gap: 2px; min-width: 0; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .02em; line-height: 1.2; white-space: nowrap; }
.nr-co-tape__label small { display: none; font-size: 12px; letter-spacing: .04em; opacity: .7; }
.nr-co-tape__win { flex: 1; display: flex; align-items: center; justify-content: space-around; margin: 0; border-radius: 999px; background: var(--nm-ink); }
.nr-co-tape__win i { width: 30%; aspect-ratio: 1; border-radius: 50%; border: 2px solid var(--nm-cream); background: repeating-conic-gradient(var(--nm-cream) 0 12deg, transparent 12deg 60deg); animation: nr-co-spin 4s linear infinite; }
.nr-co-tape--b { background: var(--nm-ink); transform: rotate(-4deg); }
.nr-co-tape--b .nr-co-tape__label { background: var(--nm-yellow); }
.nr-co-tape--b .nr-co-tape__win { background: #2b2b2b; }
@media (min-width: 768px) { .nr-co-tape__label b { font-size: 32px; } .nr-co-tape__label span { font-size: 14px; letter-spacing: .06em; } .nr-co-tape { padding: 9% 7%; } }
@media (hover: hover) { .nr-co-side:hover .nr-co-tape { transform: rotate(-6deg) translateY(-8px); } .nr-co-side:hover .nr-co-tape--b { transform: rotate(6deg) translateY(-8px); } }
.nr-co .nr-co-side > .nr-co-side__txt { max-width: 520px; margin-top: 12px; }
.nr-co-side[data-side="B"] > .nr-co-side__txt { margin-left: auto; }
@media (max-width: 767px) { .nr-co .nm-offices-detail-image > li:last-of-type { right: -2%; bottom: -66px; width: 128px; } .nr-co .nr-co-side > h4 { margin-top: 72px; } }

/* 相談ボタン（元の地図ボタンの形のまま、矢印だけ自前） */
.nr-co .nr-co-btn { width: auto; display: inline-flex; padding: 0 44px 0 24px; margin-top: 24px; background-color: #fff; border: 2px solid var(--nm-ink); transition: background-color .3s, transform .5s var(--nr-pop); }
.nr-co .nr-co-btn .nm-wrap { width: auto; }
.nr-co .nr-co-btn .nm-view { width: auto; }
.nr-co .nr-co-btn .nm-t { color: var(--nm-ink) !important; }
@media (hover: hover) { .nr-co .nr-co-btn:hover { background-color: var(--nm-ink); } .nr-co .nr-co-btn:hover .nm-t { color: #fff !important; } .nr-co .nr-co-btn:hover:after { color: #fff; } }
.nr-co .nr-co-btn .nm-wrap[data-has-arrow="true"]:before, .nr-co .nr-co-btn .nm-wrap[data-has-arrow="true"]:after { content: none; }
.nr-co .nr-co-btn:after { content: "→"; position: absolute; right: 18px; top: 50%; transform: translateY(-52%); color: var(--nm-ink); font-family: var(--en-demibold-font); font-weight: 600; font-size: 14px; transition: transform .45s var(--nr-pop); }
@media (hover: hover) { .nr-co .nr-co-btn:hover { transform: scale(1.04); } .nr-co .nr-co-btn:hover:after { transform: translate(5px, -52%); } }

/* ---------- 代表あいさつ ---------- */
.nr-co .nm-awards-header, .nr-co .nm-clients-header { text-align: left; }
.nr-co .nr-co-msg { background-color: var(--nm-cream); }
.nr-co-msg .nm-awards-body > p:first-child { max-width: 760px; }
.nr-co-msg__grid { display: grid; gap: 40px; margin-top: 30px; }
@media (min-width: 992px) { .nr-co-msg__grid { grid-template-columns: 1fr 360px; gap: 0 80px; align-items: start; } }
.nr-co-msg__text p + p { margin-top: 1.2em; }
.nr-co-sign { margin-top: 36px; display: flex; flex-direction: column; gap: 6px; color: var(--nm-ink); }
.nr-co-sign small { font-family: var(--ja-regular-font); font-size: 14px; letter-spacing: .06em; }
.nr-co-sign b { font-family: var(--ja-bold-font); font-weight: 700; font-size: 24px; letter-spacing: .14em; }
.nr-co-memo { position: relative; padding: 26px 24px 22px; border-radius: 26px; background: #fff; color: var(--nm-ink); box-shadow: 0 16px 40px rgba(20,20,20,.08); }
@media (min-width: 992px) { .nr-co-memo { position: sticky; top: 140px; } }
.nr-co-memo__head { display: flex; align-items: center; gap: 8px; margin: 0; font-family: var(--en-demibold-font); font-weight: 600; font-size: 14px; letter-spacing: .16em; }
.nr-co-memo__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--nm-red); }
.nr-co-memo.is-playing .nr-co-memo__dot { animation: nr-co-blink .8s steps(2, jump-none) infinite; }
.nr-co-memo__title { margin: 10px 0 18px; font-family: var(--ja-bold-font); font-weight: 700; font-size: 17px; line-height: 1.6; }
.nr-co-memo__wave { display: flex; align-items: center; gap: 3px; height: 64px; }
.nr-co-memo__wave i { flex: 1; min-width: 2px; border-radius: 2px; background: #d8d2c4; transition: background-color .15s, transform .15s; }
.nr-co-memo__wave i.is-on { background: var(--nm-ink); }
.nr-co-memo__bar { display: flex; justify-content: space-between; margin-top: 10px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 14px; letter-spacing: .08em; font-variant-numeric: tabular-nums; color: #6d675b; }
.nr-co-memo__play { display: inline-flex; align-items: center; gap: 12px; margin-top: 18px; height: 52px; padding: 0 26px 0 20px; border-radius: 999px; background: var(--nm-ink); color: var(--nm-yellow); font-family: var(--ja-bold-font); font-weight: 700; font-size: 14px; letter-spacing: .06em; cursor: pointer; transition: transform .45s var(--nr-pop), background-color .3s, color .3s; }
.nr-co-memo__icon { width: 0; height: 0; border-left: 11px solid currentColor; border-top: 7px solid transparent; border-bottom: 7px solid transparent; }
.nr-co-memo.is-playing .nr-co-memo__icon { width: 11px; height: 14px; border: 0; border-left: 4px solid currentColor; border-right: 4px solid currentColor; }
@media (hover: hover) { .nr-co-memo__play:hover { transform: scale(1.05); background: var(--nm-yellow); color: var(--nm-ink); } }
.nr-co-memo__play:focus-visible { outline: 3px solid var(--nm-red); outline-offset: 3px; }
.nr-co-memo__note { margin-top: 14px; font-family: var(--ja-regular-font); font-size: 14px; line-height: 1.8; color: #6d675b; }

/* ---------- 部屋と道具のラック ---------- */
.nr-co .nr-co-rack { background-color: var(--nm-ink); }
.nr-co-rack .nr-h { color: var(--nm-yellow) !important; }
.nr-co-rack__cols { display: grid; gap: 50px; }
@media (min-width: 768px) { .nr-co-rack__cols.nm-clients-list-container { display: grid; grid-template-columns: 1fr 1fr; gap: 0 72px; } }
.nr-co-rack__list { margin-top: 22px; border-bottom: 1px solid rgba(255,255,255,.14); }
.nr-co-rack__list li { position: relative; display: grid; grid-template-columns: 12px 1fr; gap: 4px 14px; padding: 16px 0 16px 0; border-top: 1px solid rgba(255,255,255,.14); }
.nr-co-rack__list li:before { content: ""; grid-row: span 2; align-self: start; margin-top: 7px; width: 10px; height: 10px; border-radius: 50%; background: #3a3a3a; transition: background-color .3s, box-shadow .3s; transition-delay: var(--d, 0s); }
.nr-co-rack.is-on .nr-co-rack__list li:before { background: var(--nm-yellow); box-shadow: 0 0 0 4px rgba(255,198,42,.18); }
.nr-co-rack__list li:nth-child(1) { --d: .05s; } .nr-co-rack__list li:nth-child(2) { --d: .15s; } .nr-co-rack__list li:nth-child(3) { --d: .25s; }
.nr-co-rack__list li:nth-child(4) { --d: .35s; } .nr-co-rack__list li:nth-child(5) { --d: .45s; } .nr-co-rack__list li:nth-child(6) { --d: .55s; }
.nr-co-rack__list b { font-family: var(--ja-bold-font); font-weight: 700; font-size: 15px; color: #fff; letter-spacing: .04em; }
.nr-co-rack__list span { font-family: var(--ja-regular-font); font-size: 13px; line-height: 1.7; color: #afafaf; }
@media (min-width: 768px) { .nr-co-rack__list li { grid-template-columns: 12px 170px 1fr; align-items: baseline; } .nr-co-rack__list li:before { grid-row: auto; align-self: center; margin-top: 0; } .nr-co-rack__list b { font-size: 16px; } .nr-co-rack__list span { font-size: 14px; } }
@media (hover: hover) { .nr-co-rack__list li:hover:before { background: var(--nm-red); box-shadow: 0 0 0 4px rgba(232,69,44,.25); transition-delay: 0s; } }
.nr-co-crew { display: grid; gap: 14px; margin-top: 26px; }
@media (min-width: 768px) { .nr-co-crew { grid-template-columns: auto 1fr; align-items: center; gap: 0 40px; } }
.nr-co-crew__num { display: flex; align-items: baseline; gap: 8px; margin: 0; color: var(--nm-yellow); }
.nr-co-crew__num b { font-family: var(--en-demibold-font); font-weight: 600; font-size: 72px; line-height: 1; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.nr-co-crew__num small { font-family: var(--ja-bold-font); font-weight: 700; font-size: 14px; color: #afafaf; }
@media (min-width: 768px) { .nr-co-crew__num b { font-size: 100px; } }

@media (prefers-reduced-motion: reduce) {
  .nr-co-label__run, .nr-co-tape__win i, .nr-co-mv__rec i, .nr-co-sleeve, .nr-co .nr-co-disc { animation: none !important; }
  .nr-co .nr-co-row { opacity: 1; transform: none; transition: none; }
}

/* ---- contact.css ---- */
/* お問い合わせ（contact）｜制作役D。範囲は main[data-page="contact"] と nr-ct- に限る */
main[data-page="contact"] .nr-ct { overflow: clip; padding-bottom: 140px; }
main[data-page="contact"] .nr-ct > header { padding-bottom: 70px; }
.nr-ct-lead { opacity: .9; }
@media (min-width: 768px) { main[data-page="contact"] .nr-ct { padding-bottom: 220px; } main[data-page="contact"] .nr-ct > header { padding-bottom: 110px; } }

/* ---------- 共通の小物 ---------- */
main[data-page="contact"] .nr-nw { white-space: nowrap; }
/* ---------- 見出しの横：録音ボタンと左右のレベルメーター（監修1周目・円の飾りの置き換え） ---------- */
.nr-ct-meter { display: flex; align-items: center; gap: 16px; width: 100%; max-width: 420px; margin-top: 0; padding: 14px 18px; border-radius: 18px; background: var(--nm-ink); box-shadow: 0 8px 0 rgba(20,20,20,.12); }
.nr-ct-meter__rec { flex: none; display: grid; justify-items: center; gap: 4px; font-family: var(--en-demibold-font); font-weight: 700; font-size: 12px; letter-spacing: .16em; color: #fff; }
.nr-ct-meter__rec i { display: block; width: 40px; height: 40px; border-radius: 12px; background: var(--nm-red); box-shadow: inset 0 -4px 0 rgba(0,0,0,.25); animation: nr-ct-blink 1.4s steps(2, jump-none) infinite; }
.nr-ct-meter__rows { flex: 1; display: grid; gap: 7px; min-width: 0; }
.nr-ct-meter__row { display: flex; align-items: center; gap: 8px; }
.nr-ct-meter__row b { width: 12px; font-family: var(--en-demibold-font); font-weight: 700; font-size: 12px; color: rgba(255,255,255,.7); }
.nr-ct-meter__bar { position: relative; flex: 1; height: 12px; border-radius: 3px; overflow: hidden; background: repeating-linear-gradient(90deg, transparent 0 7px, var(--nm-ink) 7px 9px), linear-gradient(90deg, var(--nm-yellow) 0 68%, #ff9a2a 68% 84%, var(--nm-red) 84%); }
.nr-ct-meter__bar i { position: absolute; top: 0; right: 0; bottom: 0; width: 60%; background: repeating-linear-gradient(90deg, transparent 0 7px, var(--nm-ink) 7px 9px), #333; transform-origin: right; animation: nr-ct-level 1.7s ease-in-out infinite alternate; }
.nr-ct-meter__row + .nr-ct-meter__row .nr-ct-meter__bar i { animation-duration: 1.3s; animation-delay: -.6s; }
.nr-ct-meter__scale { display: flex; justify-content: space-between; padding-left: 20px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .06em; color: rgba(255,255,255,.55); }
@keyframes nr-ct-level { 0% { transform: scaleX(1); } 35% { transform: scaleX(.55); } 60% { transform: scaleX(.8); } 100% { transform: scaleX(.3); } }
@keyframes nr-ct-blink { 0% { opacity: 1; } 50% { opacity: .35; } }
@media (min-width: 768px) {
  .nr-ct-meter { flex: none; width: 380px; margin: 0 0 14px; padding: 18px 22px; }
  .nr-ct-meter__rec i { width: 52px; height: 52px; border-radius: 14px; }
}
/* ---------- 初見監修 M1：特大の CONTACT（PC 120px 前後／SP 56px・左寄せ）＋録音ランプ。メーターは右（SP は下） ---------- */
.nr-ct-hero__row { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.nr-ct-hero__en { display: flex; align-items: center; gap: .16em; margin: 0; font-family: var(--en-demibold-font); font-weight: 800; font-size: 56px; line-height: .9; letter-spacing: -.035em; color: var(--nm-ink); white-space: nowrap; }
.nr-ct-hero__lamp { flex: none; display: block; width: .26em; height: .26em; margin-top: .04em; border-radius: 50%; background: var(--nm-red); box-shadow: 0 0 0 .07em rgba(232,69,44,.22); animation: nr-ct-blink 1.4s steps(2, jump-none) infinite; }
.nr-ct-hero__text { margin-top: 30px; }
.nr-ct-hero__text .nr-ct-lead { margin-top: 18px; }
@media (min-width: 768px) {
  .nr-ct-hero__row { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 40px; }
  .nr-ct-hero__en { font-size: clamp(96px, 8.6vw, 124px); }
  .nr-ct-hero__text { margin-top: 36px; }
  .nr-ct-hero__text .nr-ct-lead { margin-top: 22px; }
}
@media (prefers-reduced-motion: reduce) { .nr-ct-hero__lamp { animation: none !important; } }

/* ---------- ミキサー卓 ---------- */
main[data-page="contact"] .nr-ct-desk { width: 92%; max-width: 1120px; padding: 30px 18px 34px; border-radius: 30px; background: var(--nm-ink); box-shadow: 0 14px 0 rgba(20,20,20,.14); }
main[data-page="contact"] .nr-ct-req { margin-bottom: 28px; color: rgba(255,255,255,.75) !important; }
main[data-page="contact"] .nr-ct-form ul { gap: 34px; }
main[data-page="contact"] .nr-ct-form li { gap: 14px; }
.nr-ct-block { padding-top: 26px; border-top: 1px solid rgba(255,255,255,.12); }
.nr-ct-block:first-child { padding-top: 0; border-top: 0; }
.nr-ct-block__label { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; margin: 0; }
.nr-ct-block__en { font-family: var(--en-demibold-font); font-weight: 600; font-size: 11px; letter-spacing: .2em; color: var(--nm-yellow); }
main[data-page="contact"] .nr-ct-block__ja { display: inline; font-family: var(--ja-bold-font); font-weight: 700; font-size: 15px; letter-spacing: .05em; color: #fff; }
.nr-ct-block b, .nr-ct-field b, .nr-ct-check b { color: var(--nm-red); font-weight: 700; margin-left: 2px; }
.nr-ct-block__note { margin: 4px 0 0; font-family: var(--ja-regular-font); font-size: 12px; color: rgba(255,255,255,.65); }
.nr-ct-block__note a { color: var(--nm-yellow); text-decoration: underline; text-underline-offset: 3px; }
main[data-page="contact"] .nr-ct-err { position: static; transform: none; padding-top: 0; color: #ff8a73 !important; }
main[data-page="contact"] .nr-ct-err[hidden] { display: none; }

/* チャンネル */
.nr-ct-ch { display: flex; gap: 8px; overflow-x: auto; padding: 4px 2px 10px; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; }
.nr-ct-strip { position: relative; flex: 0 0 96px; scroll-snap-align: start; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 14px 8px 12px; border-radius: 14px; background: #222; border: 1px solid #2f2f2f; cursor: pointer; text-align: center; transition: background-color .3s, transform .4s var(--nr-pop); }
main[data-page="contact"] .nr-ct-form .nr-ct-strip input { position: absolute; left: 0; top: 0; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; -webkit-appearance: none; appearance: none; }
.nr-ct-strip:has(input:focus-visible) { outline: 2px solid var(--nm-yellow); outline-offset: 2px; }
.nr-ct-strip__no { font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .12em; color: rgba(255,255,255,.55); }
.nr-ct-strip__led { display: flex; flex-direction: column-reverse; gap: 3px; width: 14px; }
.nr-ct-strip__led i { display: block; height: 6px; border-radius: 2px; background: #3a3a3a; transition: background-color .2s; }
.nr-ct-strip__name { min-height: 2.8em; display: grid; place-items: center; font-family: var(--ja-bold-font); font-weight: 700; font-size: 12px; line-height: 1.4; color: #fff; }
.nr-ct-strip__en { font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .06em; color: rgba(255,255,255,.6); }
.nr-ct-strip__on { display: grid; place-items: center; width: 44px; height: 26px; border-radius: 7px; background: #3a3a3a; color: #8a8a8a; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .1em; box-shadow: inset 0 -3px 0 rgba(0,0,0,.3); transition: background-color .2s, color .2s, box-shadow .2s; }
.nr-ct-strip:has(input:checked) { background: #2a2a2a; }
.nr-ct-strip:has(input:checked) .nr-ct-strip__on { background: var(--nm-red); color: #fff; box-shadow: 0 0 0 4px rgba(232,69,44,.25), inset 0 -3px 0 rgba(0,0,0,.2); }
.nr-ct-strip:has(input:checked) .nr-ct-strip__led i { background: var(--nm-yellow); animation: nr-ct-led 1.1s ease-in-out infinite; }
.nr-ct-strip:has(input:checked) .nr-ct-strip__led i:nth-child(4) { animation-delay: .12s; }
.nr-ct-strip:has(input:checked) .nr-ct-strip__led i:nth-child(5) { background: var(--nm-red); animation-delay: .24s; }
.nr-ct-strip:has(input:checked) .nr-ct-strip__led i:nth-child(3) { animation-delay: .06s; }
@keyframes nr-ct-led { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
.nr-ct-strip:has(input:checked) .nr-ct-strip__led i:nth-child(1), .nr-ct-strip:has(input:checked) .nr-ct-strip__led i:nth-child(2) { animation: none; }
.nr-ct-strip.is-hit { transform: scale(.94); }
@media (hover: hover) { .nr-ct-strip:hover { background: #2a2a2a; } .nr-ct-strip:hover .nr-ct-strip__on { color: #fff; } }
/* SP：チャンネルは横スクロールをやめ、1行ずつ並べる（画面の外にはみ出さない・名前が割れない） */
@media (max-width: 767px) {
  .nr-ct-ch { display: grid; grid-template-columns: 1fr; gap: 6px; overflow: visible; padding: 4px 0 0; }
  .nr-ct-strip { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto auto; grid-template-areas: "no name led on" "no en led on"; align-items: center; column-gap: 12px; row-gap: 0; padding: 10px 12px; text-align: left; }
  .nr-ct-strip__no { grid-area: no; }
  .nr-ct-strip__name { grid-area: name; display: block; min-height: 0; font-size: 15px; }
  .nr-ct-strip__en { grid-area: en; }
  .nr-ct-strip__led { grid-area: led; flex-direction: row; width: auto; gap: 3px; }
  .nr-ct-strip__led i { width: 5px; height: 14px; }
  .nr-ct-strip__on { grid-area: on; }
}

/* フェーダー */
.nr-ct-faders { display: grid; gap: 18px; }
.nr-ct-fader { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px 14px; padding: 16px 18px 18px; border-radius: 16px; background: #1f1f1f; }
.nr-ct-fader__label { font-family: var(--ja-bold-font); font-weight: 700; font-size: 14px; color: #fff; }
.nr-ct-fader__val { justify-self: end; padding: 6px 12px; border-radius: 8px; background: #0b0b0b; color: var(--nm-yellow); font-family: var(--ja-bold-font); font-weight: 700; font-size: 13px; letter-spacing: .04em; box-shadow: inset 0 0 0 1px #2c2c2c; }
.nr-ct-fader__rail { position: relative; grid-column: 1 / -1; height: 48px; }
.nr-ct-fader__ticks { position: absolute; left: 13px; right: 13px; top: 50%; display: flex; justify-content: space-between; transform: translateY(-50%); pointer-events: none; }
.nr-ct-fader__ticks i { display: block; width: 2px; height: 22px; border-radius: 1px; background: #444; }
.nr-ct-fader input[type="range"] { position: relative; z-index: 1; width: 100%; height: 48px; margin: 0; background: transparent; -webkit-appearance: none; appearance: none; cursor: pointer; }
.nr-ct-fader input[type="range"]::-webkit-slider-runnable-track { height: 6px; border-radius: 3px; background: linear-gradient(90deg, var(--nm-yellow) 0 var(--v, 0%), #3a3a3a var(--v, 0%)); }
.nr-ct-fader input[type="range"]::-moz-range-track { height: 6px; border-radius: 3px; background: #3a3a3a; }
.nr-ct-fader input[type="range"]::-moz-range-progress { height: 6px; border-radius: 3px; background: var(--nm-yellow); }
.nr-ct-fader input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 26px; height: 44px; margin-top: -19px; border-radius: 7px; background: linear-gradient(#fff 0 46%, var(--nm-ink) 46% 54%, #fff 54%); box-shadow: 0 4px 0 #9a958a, 0 6px 12px rgba(0,0,0,.4); transition: transform .3s var(--nr-pop); }
.nr-ct-fader input[type="range"]::-moz-range-thumb { width: 26px; height: 44px; border: 0; border-radius: 7px; background: linear-gradient(#fff 0 46%, var(--nm-ink) 46% 54%, #fff 54%); }
.nr-ct-fader input[type="range"]:active::-webkit-slider-thumb { transform: scale(1.08); }
.nr-ct-fader input[type="range"]:focus-visible { outline: 2px solid var(--nm-yellow); outline-offset: 4px; border-radius: 8px; }

/* 入力欄 */
.nr-ct-grid { display: grid; gap: 18px; }
main[data-page="contact"] .nr-ct-field { display: flex; flex-direction: column; gap: 8px; }
main[data-page="contact"] .nr-ct-field > label { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px; }
main[data-page="contact"] .nr-ct-form .nr-ct-field input, main[data-page="contact"] .nr-ct-form .nr-ct-field textarea { width: 100%; height: 54px; padding: 0 18px; border: 2px solid transparent; border-radius: 12px; background: var(--nm-cream); color: var(--nm-ink); font-family: var(--ja-regular-font); font-size: 16px; transition: border-color .25s, box-shadow .25s; }
main[data-page="contact"] .nr-ct-form .nr-ct-field textarea { height: 220px; padding: 16px 18px; line-height: 1.8; resize: vertical; }
main[data-page="contact"] .nr-ct-form .nr-ct-field input::placeholder, main[data-page="contact"] .nr-ct-form .nr-ct-field textarea::placeholder { color: #a39b8a; }
main[data-page="contact"] .nr-ct-form .nr-ct-field input:focus, main[data-page="contact"] .nr-ct-form .nr-ct-field textarea:focus { outline: none; border-color: var(--nm-yellow); box-shadow: 0 0 0 4px rgba(255,198,42,.25); }
main[data-page="contact"] .nr-ct-form .nr-ct-field [data-is-error="true"] { border-color: #ff8a73; }
.nr-ct-count { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; font-family: var(--en-demibold-font); font-weight: 600; font-size: 11px; color: rgba(255,255,255,.6); }
.nr-ct-count__bar { display: block; width: 60px; height: 6px; border-radius: 3px; background: linear-gradient(90deg, var(--nm-yellow) 0 var(--c, 0%), #3a3a3a var(--c, 0%)); }

/* 同意 */
.nr-ct-check { position: relative; display: flex; align-items: center; gap: 12px; cursor: pointer; }
main[data-page="contact"] .nr-ct-form .nr-ct-check input { position: absolute; left: 0; top: 0; opacity: 0; width: 1px; height: 1px; margin: 0; -webkit-appearance: none; appearance: none; }
.nr-ct-check__box { flex: none; position: relative; width: 24px; height: 24px; border: 2px solid #fff; border-radius: 7px; transition: background-color .2s, border-color .2s; }
.nr-ct-check__box:after { content: ""; position: absolute; left: 6px; top: 1px; width: 7px; height: 13px; border: solid var(--nm-ink); border-width: 0 3px 3px 0; transform: rotate(45deg) scale(0); transition: transform .3s var(--nr-pop); }
.nr-ct-check input:checked + .nr-ct-check__box { background: var(--nm-yellow); border-color: var(--nm-yellow); }
.nr-ct-check input:checked + .nr-ct-check__box:after { transform: rotate(45deg) scale(1); }
.nr-ct-check input:focus-visible + .nr-ct-check__box { outline: 2px solid var(--nm-yellow); outline-offset: 3px; }
.nr-ct-check a { color: var(--nm-yellow); text-decoration: underline; text-underline-offset: 3px; }

/* マスターと REC */
main[data-page="contact"] .nr-ct-master { flex-direction: column; align-items: stretch; gap: 18px; margin-top: 36px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.12); }
.nr-ct-master__meter { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; }
.nr-ct-master__en, .nr-ct-master__pct { font-family: var(--en-demibold-font); font-weight: 600; font-size: 11px; letter-spacing: .16em; color: rgba(255,255,255,.65); font-variant-numeric: tabular-nums; }
.nr-ct-master__bar { position: relative; height: 12px; border-radius: 3px; background: repeating-linear-gradient(90deg, #333 0 8px, transparent 8px 11px); overflow: hidden; }
.nr-ct-master__bar i { position: absolute; inset: 0; background: repeating-linear-gradient(90deg, transparent 0 8px, var(--nm-ink) 8px 11px), linear-gradient(90deg, var(--nm-yellow) 0 70%, #ff9a2a 85%, var(--nm-red)); clip-path: inset(0 calc(100% - var(--m, 0%)) 0 0); transition: clip-path .6s var(--nr-ease); }
.nr-ct-rec { display: inline-flex; align-items: center; justify-content: center; gap: 12px; align-self: center; height: 64px; padding: 0 40px 0 32px; border-radius: 999px; background: var(--nm-red); color: #fff; font-family: var(--ja-bold-font); font-weight: 700; font-size: 16px; letter-spacing: .12em; cursor: pointer; box-shadow: 0 6px 0 #a92e1a; transition: transform .15s ease-out, box-shadow .15s ease-out; }
.nr-ct-rec__dot { width: 14px; height: 14px; border-radius: 50%; background: #fff; }
.nr-ct-rec:active, .nr-ct-rec.is-hit { transform: translateY(5px); box-shadow: 0 1px 0 #a92e1a; }
@media (hover: hover) { .nr-ct-rec:hover .nr-ct-rec__dot { animation: nr-ct-blink .8s steps(1) infinite; } }
@keyframes nr-ct-blink { 50% { opacity: .2; } }
.nr-ct-done { margin: 0; padding: 16px 20px; border-radius: 16px; background: var(--nm-yellow); color: var(--nm-ink); font-family: var(--ja-bold-font); font-weight: 700; font-size: 14px; line-height: 1.8; text-align: center; animation: nr-ct-pop .5s var(--nr-pop); }
.nr-ct-done.is-warn { background: #fff; }
.nr-ct-done[hidden] { display: none; }
@keyframes nr-ct-pop { from { opacity: 0; transform: translateY(10px) scale(.97); } to { opacity: 1; transform: none; } }

@media (min-width: 768px) {
  main[data-page="contact"] .nr-ct-desk { padding: 56px 56px 60px; border-radius: 44px; }
  main[data-page="contact"] .nr-ct-form ul { gap: 44px; }
  .nr-ct-block { padding-top: 40px; }
  .nr-ct-ch { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; overflow: visible; padding: 4px 0 0; }
  .nr-ct-strip { flex: none; padding: 18px 10px 14px; }
  .nr-ct-strip__name { font-size: 14px; }
  .nr-ct-strip__led { width: 18px; gap: 4px; } .nr-ct-strip__led i { height: 7px; }
  .nr-ct-faders { grid-template-columns: 1fr 1fr; gap: 22px; }
  .nr-ct-grid { grid-template-columns: 1fr 1fr; gap: 24px 26px; }
  .nr-ct-field--wide { grid-column: 1 / -1; }
  main[data-page="contact"] .nr-ct-form .nr-ct-field input { height: 60px; }
  main[data-page="contact"] .nr-ct-form .nr-ct-field textarea { height: 260px; }
  main[data-page="contact"] .nr-ct-master { flex-direction: row; flex-wrap: wrap; align-items: center; margin-top: 48px; padding-top: 40px; }
  .nr-ct-master__meter { flex: 1; min-width: 280px; }
  .nr-ct-rec { align-self: auto; height: 72px; padding: 0 48px 0 38px; font-size: 17px; }
  .nr-ct-done { flex-basis: 100%; }
}
@media (min-width: 1100px) { .nr-ct-ch { grid-template-columns: repeat(7, 1fr); } }

@media (prefers-reduced-motion: reduce) {
  .nr-ct-meter__rec i, .nr-ct-meter__bar i, .nr-ct-strip__led i, .nr-ct-rec__dot { animation: none !important; }
}

/* ---------- 監修1周目：文字の最小サイズ（SP 12px・PC 14px を下回らない） ---------- */
.nr-ct-block__en, .nr-ct-count, .nr-ct-count span, .nr-ct-master__en, .nr-ct-master__pct { font-size: 12px; }
@media (min-width: 768px) {
  .nr-ct-meter__rec, .nr-ct-meter__row b, .nr-ct-meter__scale, .nr-ct-block__en, .nr-ct-strip__no, .nr-ct-strip__en, .nr-ct-strip__on, .nr-ct-fader__val, .nr-ct-block__note, .nr-ct-count, .nr-ct-count span, .nr-ct-master__en, .nr-ct-master__pct { font-size: 14px; }
}
/* ver5 初見監修 低10：MASTER に日本語を添える */
.nr-ct-master__en small { margin-left: 8px; font-family: var(--ja-bold-font); font-weight: 700; font-size: inherit; letter-spacing: .06em; }
/* ver7 初見監修 低10：選んでいないチャンネルは OFF、選んだものだけ ON */
.nr-ct-strip__on b { font-weight: inherit; color: inherit !important; font-size: inherit; }
.nr-ct-strip__on b:last-child, .nr-ct-strip:has(input:checked) .nr-ct-strip__on b:first-child { display: none; }
.nr-ct-strip:has(input:checked) .nr-ct-strip__on b:last-child { display: inline; }

/* ---- culture.css ---- */
/* culture（/culture/）｜制作役B｜範囲は main[data-page="culture"] と nr-cu- のクラスだけ */

/* ---------- 全体：重なる面を止めるため、はみ出しの切り方を clip に（hidden だと sticky が効かない） ---------- */
main[data-page="culture"] .nr-cu-body.nm-body-7 { overflow: clip; }
main[data-page="culture"] .nr-cu-wrap { position: relative; }

/* ---------- ヘッダー：初見監修 H2 で作り直し（ファイル末尾） ---------- */

/* ---------- 合言葉：番号の丸 → つまみ ---------- */
.nr-cu-motto li > p { display: flex; flex-direction: column; gap: 4px; }
.nr-cu-motto li > p > span { display: block; }
.nr-cu-knob { position: relative; flex: none; border-width: 2px !important; border-style: solid; transform: rotate(var(--rot, -120deg)); transition: transform .25s linear; }
.nr-cu-knob i { position: absolute; left: 50%; top: 5px; width: 3px; height: 12px; margin-left: -1.5px; border-radius: 2px; background: #fff; }
.nr-cu-knob:after { content: ""; position: absolute; inset: -9px; border-radius: 50%; border: 2px dotted rgba(255,255,255,.45); clip-path: polygon(0 0, 100% 0, 100% 70%, 50% 50%, 0 70%); }
@media (min-width: 768px) { .nr-cu-motto.nm-vision-list { width: 560px; gap: 36px 0; } .nr-cu-knob { width: 48px; } }

/* ---------- 間（休符） ---------- */
.nr-cu-rest { display: flex; align-items: center; gap: 14px; margin: 140px auto 0; width: 100%; color: #fff; }
.nr-cu-rest--wide { width: 85%; max-width: 1060px; margin-top: 150px; }
.nr-cu-rest__bars { flex: 1; display: flex; align-items: center; justify-content: space-between; height: 44px; min-width: 0; overflow: hidden; }
.nr-cu-rest__bars i { flex: none; display: block; width: 3px; height: var(--h, 50%); border-radius: 2px; background: currentColor; transform: scaleY(0); transition: transform .5s var(--nr-pop) var(--d, 0ms); }
.nr-cu-rest.is-in .nr-cu-rest__bars i { transform: scaleY(1); }
.nr-cu-rest__mark { flex: none; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 0 6px; opacity: 0; transform: translateY(8px); transition: opacity .6s ease .45s, transform .6s var(--nr-ease) .45s; }
.nr-cu-rest.is-in .nr-cu-rest__mark { opacity: 1; transform: none; }
.nr-cu-rest__mark svg { width: 20px; height: 44px; overflow: visible; }
.nr-cu-rest__mark path { fill: none; stroke: currentColor; stroke-width: 3.4; stroke-linecap: round; stroke-linejoin: round; }
.nr-cu-rest__mark b { font-family: var(--ja-bold-font); font-weight: 700; font-size: 11px; letter-spacing: .12em; white-space: nowrap; }
@media (min-width: 768px) { .nr-cu-rest { margin-top: 220px; gap: 24px; } .nr-cu-rest--wide { margin-top: 220px; } .nr-cu-rest__bars { height: 64px; } .nr-cu-rest__bars i { width: 4px; } .nr-cu-rest__mark svg { width: 24px; height: 52px; } .nr-cu-rest__mark b { font-size: 12px; } }

/* ---------- WHAT WE DO：歌詞の表示 ---------- */
main[data-page="culture"] .nm-we-do { margin-top: 110px; }
@media (min-width: 768px) { main[data-page="culture"] .nm-we-do { margin-top: 180px; } }
.nr-cu-line svg { display: block; width: 100%; height: 100%; overflow: visible; }
.nr-cu-line path { fill: none; stroke: #fff; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1.8s var(--nr-ease); vector-effect: non-scaling-stroke; }
.nr-cu-think .nr-cu-line path { stroke: var(--nm-yellow); }
.nr-cu-line.is-in path { stroke-dashoffset: 0; }
.nr-cu-lyric > p { opacity: var(--lit, 1); transform: translateX(calc((1 - var(--lit, 1)) * -10px)); transition: opacity .35s linear, transform .35s linear; }

/* ---------- WHAT WE THINK：3拍で重なる面 ---------- */
main[data-page="culture"] .nr-cu-think.nm-container-25 { background: var(--nm-cream); overflow: clip; }
.nr-cu-card.nm-detail { background-color: var(--nm-cream); }
.nr-cu-card.nm-detail[data-index="2"] { background-color: #efe6cf; }
.nr-cu-card.nm-detail[data-index="3"] { background-color: var(--nm-ink); }
.nr-cu-card[data-index="3"] .nm-t { color: #fff !important; }
.nr-cu-card > .nm-inner-2 { transform: scale(calc(1 - var(--cover, 0) * .06)); opacity: calc(1 - var(--cover, 0) * .55); transform-origin: 50% 0; }
@media (min-width: 992px) {
  .nr-cu-stack > .nr-cu-card { position: sticky; top: 0; }
  .nr-cu-card.nm-detail[data-index="1"] { margin-top: -120px; padding-top: 0; }
  .nr-cu-card.nm-detail[data-index="3"] { border-radius: 100px 100px 0 0; }
}
.nr-cu-beat.nm-num { aspect-ratio: auto; width: auto; height: 34px; gap: 6px; padding: 0 12px; margin: 0; border-radius: 999px; background: var(--nm-yellow); }
.nr-cu-beat i { display: block; width: 7px; height: 7px; border-radius: 50%; background: rgba(20,20,20,.22); }
.nr-cu-beat i.is-on { background: var(--nm-ink); animation: nr-cu-beat 1s ease-in-out infinite; }
@keyframes nr-cu-beat { 0%, 100% { transform: scale(1); } 15% { transform: scale(1.6); } 40% { transform: scale(1); } }
@media (min-width: 992px) { .nr-cu-card .nm-alpha-title { flex-direction: column; align-items: flex-start; gap: 22px 0; } .nr-cu-beat.nm-num { height: 40px; padding: 0 16px; } }
.nr-cu-no { display: block; margin-bottom: 8px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .16em; opacity: .5; }
.nr-cu-card h4 small { display: block; margin-top: 10px; font-family: var(--ja-bold-font); font-weight: 700; font-size: 15px; line-height: 1.6; letter-spacing: .04em; opacity: .62; }
@media (min-width: 768px) { .nr-cu-card h4 small { font-size: 18px; } }
.nr-cu-habit { margin-top: 30px; padding-top: 20px; border-top: 2px dashed rgba(20,20,20,.22); color: #343434; }
.nr-cu-card[data-index="3"] .nr-cu-habit { border-top-color: rgba(255,255,255,.25); color: #fff; }
.nr-cu-habit dt { display: inline-block; margin-bottom: 10px; padding: 4px 10px; border-radius: 999px; background: var(--nm-ink); color: var(--nm-yellow); font-family: var(--ja-bold-font); font-weight: 700; font-size: 11px; letter-spacing: .1em; }
.nr-cu-card[data-index="3"] .nr-cu-habit dt { background: var(--nm-yellow); color: var(--nm-ink); }
.nr-cu-habit dd { font-family: var(--ja-regular-font); font-weight: 400; font-size: 13px; line-height: 1.8; letter-spacing: .04em; }
.nr-cu-habit dd b { display: block; margin-bottom: 4px; font-family: var(--ja-bold-font); font-weight: 700; font-size: 17px; letter-spacing: .04em; }
@media (min-width: 768px) { .nr-cu-habit dd { font-size: 15px; } .nr-cu-habit dd b { font-size: 20px; } }
.nr-cu-photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 28px; }

/* 02：ミキサー */
.nr-cu-mixer { padding: 26px 20px 22px; border-radius: 28px; background: var(--nm-ink); }
.nr-cu-mixer ul { display: grid; grid-template-columns: repeat(8, 1fr); gap: 4px; }
.nr-cu-mixer li { --lv: .78; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.nr-cu-mixer.is-in li { --lv: var(--to); }
.nr-cu-mixer li i { position: relative; display: block; width: 6px; height: 170px; border-radius: 3px; background: rgba(255,255,255,.16); }
.nr-cu-mixer li i:after { content: ""; position: absolute; left: 50%; bottom: calc(var(--lv) * (100% - 14px)); width: 26px; height: 14px; margin-left: -13px; border-radius: 4px; background: var(--nm-cream); box-shadow: inset 0 -3px 0 rgba(0,0,0,.18); transition: bottom 1.3s var(--nr-ease); }
.nr-cu-mixer li.is-keep i:after { background: var(--nm-yellow); }
.nr-cu-mixer li.is-keep i { background: linear-gradient(to top, var(--nm-yellow) calc(var(--lv) * 100%), rgba(255,255,255,.16) 0); }
.nr-cu-mixer li:nth-child(1) i:after { transition-delay: .1s; } .nr-cu-mixer li:nth-child(2) i:after { transition-delay: .25s; } .nr-cu-mixer li:nth-child(3) i:after { transition-delay: .4s; }
.nr-cu-mixer li:nth-child(5) i:after { transition-delay: .55s; } .nr-cu-mixer li:nth-child(7) i:after { transition-delay: .7s; } .nr-cu-mixer li:nth-child(8) i:after { transition-delay: .85s; }
.nr-cu-mixer li span { font-family: var(--en-demibold-font); font-weight: 600; font-size: 8px; letter-spacing: .08em; color: rgba(255,255,255,.55); }
.nr-cu-mixer li.is-keep span { color: var(--nm-yellow); }
.nr-cu-mixer p { margin-top: 18px; text-align: center; font-family: var(--ja-bold-font); font-weight: 700; font-size: 14px; letter-spacing: .06em; color: var(--nm-yellow); }
@media (min-width: 768px) { .nr-cu-mixer { padding: 34px 30px 28px; } .nr-cu-mixer li i { height: 220px; } .nr-cu-mixer li span { font-size: 10px; } .nr-cu-mixer p { font-size: 16px; } }

/* 03：場所でかわる波形 */
.nr-cu-place { padding: 22px 20px 20px; border-radius: 28px; background: #262521; color: #fff; }
.nr-cu-place__tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.nr-cu-place__tabs button { padding: 9px 14px; border: 2px solid rgba(255,255,255,.28); border-radius: 999px; color: #fff; font-family: var(--ja-bold-font); font-weight: 700; font-size: 12px; letter-spacing: .04em; cursor: pointer; transition: background-color .3s, border-color .3s, color .3s, transform .4s var(--nr-pop); }
.nr-cu-place__tabs button[aria-selected="true"] { background: var(--nm-yellow); border-color: var(--nm-yellow); color: var(--nm-ink); transform: rotate(-2deg); }
@media (hover: hover) { .nr-cu-place__tabs button:hover { border-color: #fff; } }
.nr-cu-place__wave { display: block; width: 100%; height: 120px; margin: 18px 0 10px; overflow: visible; }
.nr-cu-place__wave path { fill: none; stroke: var(--nm-yellow); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.nr-cu-place__spec { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.18); }
.nr-cu-place__spec dt { font-family: var(--ja-bold-font); font-weight: 700; font-size: 10px; letter-spacing: .1em; color: rgba(255,255,255,.5); }
.nr-cu-place__spec dd { margin-top: 4px; font-family: var(--ja-bold-font); font-weight: 700; font-size: 13px; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.nr-cu-place__note { margin-top: 12px; font-family: var(--ja-regular-font); font-size: 10px; color: rgba(255,255,255,.45); }
@media (min-width: 768px) { .nr-cu-place { padding: 30px 28px 24px; } .nr-cu-place__tabs button { font-size: 13px; padding: 10px 16px; } .nr-cu-place__wave { height: 150px; } .nr-cu-place__spec dd { font-size: 15px; } }

/* ---------- B面の4曲 ---------- */
main[data-page="culture"] .nr-cu-bside.nm-about-container { margin-top: 110px; padding-bottom: 80px; }
@media (min-width: 768px) { main[data-page="culture"] .nr-cu-bside.nm-about-container { margin-top: 170px; padding-bottom: 60px; } }
.nr-cu-side { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 16px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .12em; color: #fff; font-variant-numeric: tabular-nums; }
.nr-cu-side span { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--nm-ink); color: var(--nm-yellow); font-size: 11px; transition: transform .5s var(--nr-pop); }
@media (hover: hover) { .nr-cu-bside .nm-about:hover .nr-cu-side span { transform: rotate(-12deg) scale(1.1); } }
.nr-cu-rec-set { --out: 14%; position: relative; aspect-ratio: 3 / 2; }
.nr-cu-rec-set.is-in { --out: 34%; }
@media (hover: hover) { .nr-cu-bside .nm-about:hover .nr-cu-rec-set { --out: 50%; } .nr-cu-bside .nm-about:hover .nr-cu-disc:after, .nr-cu-bside .nm-about:hover .nr-cu-disc i { animation-play-state: running; } }
.nr-cu-disc { position: absolute; left: 2%; top: 4%; height: 92%; aspect-ratio: 1; border-radius: 50%; background: repeating-radial-gradient(circle at 50% 50%, #161616 0 2px, #2a2a2a 2px 3.5px); box-shadow: 0 10px 30px rgba(20,20,20,.25); transform: translateX(var(--out)); transition: transform 1.1s var(--nr-ease); }
.nr-cu-disc:after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: conic-gradient(from 20deg, rgba(255,255,255,.14), rgba(255,255,255,0) 12%, rgba(255,255,255,0) 50%, rgba(255,255,255,.12) 56%, rgba(255,255,255,0) 68%); animation: nr-cu-spin 2.4s linear infinite paused; }
.nr-cu-disc i { position: absolute; inset: 34%; border-radius: 50%; background: var(--lab, var(--nm-yellow)); animation: nr-cu-spin 2.4s linear infinite paused; }
.nr-cu-disc i:before { content: ""; position: absolute; left: 50%; top: 12%; width: 8%; height: 26%; margin-left: -4%; border-radius: 4px; background: rgba(20,20,20,.55); }
.nr-cu-disc i:after { content: ""; position: absolute; inset: 44%; border-radius: 50%; background: #161616; }
.nr-cu-rec-set.is-in .nr-cu-disc:after, .nr-cu-rec-set.is-in .nr-cu-disc i { animation-play-state: running; }
@keyframes nr-cu-spin { to { transform: rotate(360deg); } }
.nr-cu-jacket { position: absolute; left: 0; top: 0; height: 100%; aspect-ratio: 1; display: flex; flex-direction: column; justify-content: space-between; padding: 8%; border-radius: 18px; overflow: hidden; box-shadow: 0 14px 34px rgba(20,20,20,.18); transition: transform .7s var(--nr-pop); }
@media (hover: hover) { .nr-cu-bside .nm-about:hover .nr-cu-jacket { transform: rotate(-3deg); } }
.nr-cu-jacket small { font-family: var(--en-demibold-font); font-weight: 600; font-size: 10px; letter-spacing: .16em; }
.nr-cu-jacket b { font-family: var(--en-demibold-font); font-weight: 600; line-height: .9; letter-spacing: -.02em; }
.nr-cu-rec-set[data-j="1"] { --lab: var(--nm-yellow); }
.nr-cu-rec-set[data-j="1"] .nr-cu-jacket { background: radial-gradient(circle at 110% 110%, transparent 0 30%, rgba(255,198,42,.18) 30% 31%, transparent 31% 42%, rgba(255,198,42,.18) 42% 43%, transparent 43% 54%, rgba(255,198,42,.18) 54% 55%, transparent 55%), var(--nm-ink); }
.nr-cu-rec-set[data-j="1"] b { font-size: clamp(44px, 9vw, 92px); color: var(--nm-yellow); }
.nr-cu-rec-set[data-j="1"] small { color: rgba(255,255,255,.65); }
.nr-cu-rec-set[data-j="2"] { --lab: var(--nm-red); }
.nr-cu-rec-set[data-j="2"] .nr-cu-jacket { background: var(--nm-cream); }
.nr-cu-dots { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10%; width: 86%; }
.nr-cu-dots i { display: block; aspect-ratio: 1; border-radius: 50%; animation: nr-hop 2.4s var(--nr-pop) infinite; }
.nr-cu-dots i:nth-child(1) { background: #5f7790; } .nr-cu-dots i:nth-child(2) { background: #6f8f6a; animation-delay: -.3s; } .nr-cu-dots i:nth-child(3) { background: #e88a3a; animation-delay: -.6s; } .nr-cu-dots i:nth-child(4) { background: #e7a2a8; animation-delay: -.9s; }
.nr-cu-dots i:nth-child(5) { background: #8fc3d6; animation-delay: -1.2s; } .nr-cu-dots i:nth-child(6) { background: var(--nm-red); animation-delay: -1.5s; } .nr-cu-dots i:nth-child(7) { background: #8a6fa8; animation-delay: -1.8s; } .nr-cu-dots i:nth-child(8) { background: #2f5a48; animation-delay: -2.1s; }
.nr-cu-rec-set[data-j="2"] small { color: var(--nm-ink); }
.nr-cu-rec-set[data-j="3"] { --lab: var(--nm-cream); }
.nr-cu-rec-set[data-j="3"] .nr-cu-jacket { background: var(--nm-red); justify-content: space-between; }
.nr-cu-osc { width: 100%; height: 46%; margin-top: 18%; overflow: visible; }
.nr-cu-osc path { fill: none; stroke: var(--nm-cream); stroke-width: 3; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.nr-cu-rec-set[data-j="3"] small { color: var(--nm-cream); }
.nr-cu-rec-set[data-j="4"] { --lab: var(--nm-yellow); }
.nr-cu-rec-set[data-j="4"] .nr-cu-jacket { background: #fff; }
.nr-cu-rec-set[data-j="4"] b { font-size: clamp(54px, 11vw, 120px); color: var(--nm-ink); }
.nr-cu-checks { display: grid; gap: 7%; width: 70%; }
.nr-cu-checks i { display: flex; align-items: center; gap: 8%; height: 6px; }
.nr-cu-checks i:before { content: ""; flex: none; width: 10px; height: 10px; border: 2px solid var(--nm-ink); border-radius: 3px; background: linear-gradient(var(--nm-yellow), var(--nm-yellow)) center / 60% 60% no-repeat; }
.nr-cu-checks i:after { content: ""; flex: 1; height: 3px; border-radius: 2px; background: rgba(20,20,20,.2); }
.nr-cu-checks i:nth-child(3):after { width: 60%; flex: none; } .nr-cu-checks i:nth-child(4):before { background: none; }
.nr-cu-rec-set[data-j="4"] small { color: var(--nm-ink); }
.nr-cu-sym svg { display: block; width: 100%; height: auto; overflow: visible; animation: nr-cu-bob 3.2s ease-in-out infinite; }
.nr-cu-sym path, .nr-cu-sym circle { fill: none; stroke: #fff; stroke-width: 4.5; stroke-linecap: round; stroke-linejoin: round; }
.nr-cu-sym ellipse { fill: #fff; }
.nr-cu-sym circle { fill: #fff; stroke: none; }
.nr-cu-bside [data-index="2"] .nr-cu-sym svg { animation-delay: -.8s; } .nr-cu-bside [data-index="3"] .nr-cu-sym svg { animation-delay: -1.6s; } .nr-cu-bside [data-index="4"] .nr-cu-sym svg { animation-delay: -2.4s; }
@keyframes nr-cu-bob { 0%, 100% { transform: translateY(0) rotate(-6deg); } 50% { transform: translateY(-10px) rotate(6deg); } }
main[data-page="culture"] .nr-cu-bside .nm-about-icon { max-width: 90px; }
@media (min-width: 992px) { main[data-page="culture"] .nr-cu-bside .nm-about-icon { width: 90px; } }

@media (prefers-reduced-motion: reduce) {
  .nr-cu-rec__dot, .nr-cu-beat i.is-on, .nr-cu-disc:after, .nr-cu-disc i, .nr-cu-dots i, .nr-cu-sym svg { animation: none !important; }
  .nr-cu-rest__bars i { transform: none; transition: none; }
  .nr-cu-rest__mark { opacity: 1; transform: none; transition: none; }
  .nr-cu-line path { stroke-dashoffset: 0; transition: none; }
  .nr-cu-mixer li i:after, .nr-cu-disc { transition: none; }
  .nr-cu-card > .nm-inner-2 { transform: none; opacity: 1; }
}

/* 見出しの下の波線：文字に重ならないように下げる */
main[data-page="culture"] .nr-cu-think .nm-we-think-path { bottom: -26px; }
@media (min-width: 768px) { main[data-page="culture"] .nr-cu-think .nm-we-think-path { bottom: -46px; } }

/* スマホ：拍のしるしは中身の幅だけ・見出しは決めた位置で折る・飾りは文字にかぶせない */
.nr-cu-beat.nm-num { display: inline-flex; width: max-content; margin-left: 0; }
@media (max-width: 991px) {
  main[data-page="culture"] .nr-cu-bside .nm-about[data-index="2"] .nm-about-icon { left: auto; right: 4px; top: -34px; bottom: auto; width: 54px; }
  main[data-page="culture"] .nr-cu-bside .nm-about[data-index="4"] .nm-about-icon { left: auto; right: 8px; top: -40px; bottom: auto; width: 60px; }
}

/* ===================== 監修1周目の直し（2026-10-07） ===================== */
/* 色：黄色の地の文字・線は墨。白は写真と墨の地の上だけ */
.nr-cu-side, .nr-cu-rest { color: var(--nm-ink); }
.nr-cu-line path { stroke: var(--nm-ink); }
.nr-cu-think .nr-cu-line path { stroke: var(--nm-yellow); stroke-width: 4; }
.nr-cu-knob i { background: var(--nm-ink); }
.nr-cu-knob:after { border-color: rgba(20,20,20,.35); }
.nr-cu-sym path, .nr-cu-sym circle { stroke: var(--nm-ink); }
.nr-cu-sym ellipse, .nr-cu-sym circle { fill: var(--nm-ink); }

/* 41・20：見出しの下の波線は文字の下 12px に */
main[data-page="culture"] .nm-we-do-path, main[data-page="culture"] .nr-cu-think .nm-we-think-path { top: calc(100% + 12px); bottom: auto; }
@media (min-width: 768px) { main[data-page="culture"] .nm-we-do-body { margin-top: 76px; } }

/* 25：重なるカード。下のカードの見えている所は上端の題（72px）だけ。本文は前に来ている時だけ */
.nr-cu-tab { display: flex; align-items: center; gap: 12px; width: 85%; margin: 0 auto 22px; padding-bottom: 16px; border-bottom: 1.5px dashed rgba(20,20,20,.2); font-family: var(--ja-bold-font); font-weight: 700; font-size: 15px; letter-spacing: .04em; color: var(--nm-ink); }
.nr-cu-tab__no { flex: none; padding: 5px 12px; border-radius: 999px; background: var(--nm-ink); color: var(--nm-yellow); font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .12em; }
.nr-cu-tab small { font-size: inherit; opacity: .6; }
.nr-cu-card[data-index="3"] .nr-cu-tab { color: #fff; border-bottom-color: rgba(255,255,255,.22); }
.nr-cu-card[data-index="3"] .nr-cu-tab__no { background: var(--nm-yellow); color: var(--nm-ink); }
.nr-cu-card > .nm-inner-2 { transform: scale(calc(1 - var(--cover, 0) * .04)); opacity: calc(1 - var(--cover, 0)); }
@media (min-width: 768px) { .nr-cu-tab { width: auto; margin: 0 100px 30px; font-size: 16px; } .nr-cu-tab__no { font-size: 14px; } }
@media (min-width: 992px) {
  .nr-cu-stack > .nr-cu-card { top: calc((var(--i) - 1) * 72px); height: calc(100vh - (var(--i) - 1) * 72px); }
  main[data-page="culture"] .nr-cu-card.nm-detail { padding: 0; margin-top: 0; border-radius: 48px 48px 0 0; }
  main[data-page="culture"] .nr-cu-card.nm-detail[data-index="1"] { border-radius: 0; }
  .nr-cu-tab { height: 72px; width: 74%; max-width: 1060px; margin: 0 auto; padding: 0; }
  main[data-page="culture"] .nr-cu-card > .nm-inner-2[data-is-detail="true"] { height: calc(100% - 72px); }
  .nr-cu-card .nr-cu-beat.nm-num { display: none; }
}

/* 文字の大きさ：SP の本文は 16px、ラベルは SP 12px／PC 14px 以上 */
.nr-cu-habit dt { font-size: 12px; padding: 5px 12px; }
.nr-cu-habit dd { font-size: 16px; }
.nr-cu-habit dd b { font-size: 18px; }
.nr-cu-mixer li span { font-size: 12px; letter-spacing: .04em; }
.nr-cu-place__tabs button { font-size: 14px; }
.nr-cu-place__spec dt { font-size: 12px; }
.nr-cu-place__spec dd { font-size: 15px; }
.nr-cu-place__note { font-size: 12px; }
.nr-cu-side { font-size: 14px; }
.nr-cu-side span { width: 40px; height: 40px; font-size: 13px; }
.nr-cu-rest__mark b { font-size: 12px; }
@media (min-width: 768px) {
  .nr-cu-habit dt { font-size: 14px; }
  .nr-cu-habit dd { font-size: 16px; }
  .nr-cu-habit dd b { font-size: 20px; }
  .nr-cu-mixer li span { font-size: 14px; }
  .nr-cu-place__spec dt, .nr-cu-place__note { font-size: 14px; }
  .nr-cu-place__spec dd { font-size: 17px; }
  .nr-cu-side span { font-size: 14px; }
  .nr-cu-rest__mark b { font-size: 14px; }
}
@media (min-width: 992px) { main[data-page="culture"] .nr-cu-card.nm-detail[data-index="1"] { margin-top: 64px; } }
@media (min-width: 992px) { main[data-page="culture"] .nr-cu-card > .nm-inner-2[data-is-detail="true"] { align-items: flex-start; padding-top: 44px; } }
@media (max-width: 991px) { main[data-page="culture"] .nr-cu-card.nm-detail[data-index="1"] { margin-top: 36px; } }

/* 素材名は1行に（監修2周目3） */
main[data-page="culture"] [data-k="mat"] { white-space: nowrap; }

/* ===================== 初見監修 H2（2026-10-07）：最初の画面の構図を作り直す ===================== */
/* 全面写真＋左の白い2行＋下の黄色い丸い縁 → 黄色の地に左寄せの大きな CULTURE。写真は右下の角丸の枠、左下に朝の1音のチューナー */
main[data-page="culture"] .nr-cu-hero.nm-container-22 {
  position: relative; top: auto; height: auto; width: 88%; max-width: 1240px; margin: 0 auto; padding: 112px 0 64px;
  display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "en" "h" "fig" "tune"; align-items: start; gap: 0;
}
main[data-page="culture"] .nr-cu-hero.nm-container-22:before { display: none; }
main[data-page="culture"] .nr-cu-body.nm-body-7 { margin-top: 0; border-radius: 0; }

.nr-cu-hero__en { grid-area: en; display: flex; align-items: center; margin: 0 0 14px; font-family: var(--en-demibold-font); font-weight: 800; font-size: clamp(50px, 14.4vw, 60px); line-height: .9; letter-spacing: -.035em; color: var(--nm-ink); white-space: nowrap; }
.nr-cu-hero__en .nr-h__eq { height: .5em; margin-right: .16em; }
main[data-page="culture"] .nr-cu-hero__h { grid-area: h; }
main[data-page="culture"] .nr-cu-hero__h br { display: inline; }

/* 写真：右下の角丸の枠。REC の札は写真の上に */
.nr-cu-hero__fig { grid-area: fig; position: relative; width: 88%; margin: 26px 0 0 auto; }
.nr-cu-hero__fig .nr-cu-hero__photo { aspect-ratio: 4 / 3; border-radius: 26px; overflow: hidden; background: #d9cdb0; }
.nr-cu-hero__photo:after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,20,20,0) 55%, rgba(20,20,20,.38)); pointer-events: none; }
.nr-cu-hero__photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; transform: scale(var(--hs, 1.06)); transform-origin: 40% 60%; will-change: transform; }
.nr-cu-rec { position: absolute; z-index: 2; right: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 7px 12px 7px 10px; border: 1.5px solid rgba(255,255,255,.85); border-radius: 999px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .12em; color: #fff; background: rgba(20,20,20,.32); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); white-space: nowrap; }
.nr-cu-rec__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--nm-red); box-shadow: 0 0 0 3px rgba(232,69,44,.3); animation: nr-cu-blink 1.2s steps(2, jump-none) infinite; }
.nr-cu-rec__time { font-variant-numeric: tabular-nums; opacity: .92; }
.nr-cu-rec__name { display: none; font-family: var(--ja-bold-font); font-weight: 700; letter-spacing: .06em; }
@keyframes nr-cu-blink { 50% { opacity: .15; } }

/* チューナー：針が揺れて、真ん中（A 440Hz）で止まる */
.nr-cu-hero__tune { grid-area: tune; margin-top: 28px; }
.nr-cu-tuner { display: flex; align-items: center; gap: 14px; width: 100%; max-width: 380px; padding: 10px 18px 10px 12px; border-radius: 999px; background: var(--nm-cream); color: var(--nm-ink); }
.nr-cu-tuner__note { flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--nm-ink); color: var(--nm-yellow); font-family: var(--en-demibold-font); font-weight: 800; font-size: 22px; line-height: 1; }
.nr-cu-tuner__hz { flex: none; font-family: var(--en-demibold-font); font-weight: 600; font-size: 16px; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.nr-cu-tuner__hz small { margin-left: 2px; font-size: 12px; letter-spacing: .08em; opacity: .6; }
.nr-cu-tuner__scale { position: relative; flex: 1; display: flex; align-items: center; gap: 8px; height: 40px; min-width: 0; }
.nr-cu-tuner__flat, .nr-cu-tuner__sharp { flex: none; font-family: var(--ja-bold-font); font-weight: 700; font-size: 14px; line-height: 1; opacity: .55; }
.nr-cu-tuner__ticks { position: relative; flex: 1; height: 26px; background:
  linear-gradient(var(--nm-red), var(--nm-red)) 50% 0 / 3px 100% no-repeat,
  repeating-linear-gradient(90deg, rgba(20,20,20,.5) 0 2px, transparent 2px 10%) 0 50% / 100% 12px no-repeat; }
.nr-cu-tuner__needle { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; margin-left: -2px; border-radius: 2px; background: var(--nm-ink); transform-origin: 50% 100%; transform: translateX(var(--nx, 0px)); animation: nr-cu-tune 2.6s cubic-bezier(.3,.7,.2,1) .5s both; }
@keyframes nr-cu-tune { 0% { transform: translateX(-70px); } 22% { transform: translateX(46px); } 42% { transform: translateX(-24px); } 60% { transform: translateX(12px); } 78% { transform: translateX(-4px); } 100% { transform: translateX(0); } }
.nr-cu-hero__lead { max-width: 30em; margin-top: 16px; font-family: var(--ja-regular-font); font-weight: 400; font-size: 16px; line-height: 1.85; letter-spacing: .04em; color: var(--nm-ink); }

@media (min-width: 768px) {
  main[data-page="culture"] .nr-cu-hero.nm-container-22 {
    padding: 140px 0 96px; grid-template-columns: minmax(0, 45fr) minmax(0, 55fr); grid-template-rows: auto auto 1fr;
    grid-template-areas: "en en" "h fig" "tune fig"; gap: 0 48px;
  }
  .nr-cu-hero__en { margin-bottom: 0; font-size: clamp(88px, 8.4vw, 124px); }
  main[data-page="culture"] .nr-cu-hero__h { margin-top: 28px; }
  .nr-cu-hero__fig { width: 100%; margin: 4px 0 0; }
  .nr-cu-hero__fig .nr-cu-hero__photo { aspect-ratio: 4 / 3; border-radius: 40px; }
  .nr-cu-tuner__hz { font-size: 18px; } .nr-cu-tuner__hz small { font-size: 14px; }
  .nr-cu-rec { right: 22px; bottom: 22px; gap: 10px; font-size: 14px; padding: 10px 18px 10px 14px; }
  .nr-cu-rec__name { display: inline; padding-left: 10px; border-left: 1px solid rgba(255,255,255,.5); }
  .nr-cu-hero__tune { margin-top: 40px; }
  .nr-cu-tuner { max-width: 400px; }
  .nr-cu-tuner__flat, .nr-cu-tuner__sharp { font-size: 16px; }
  .nr-cu-hero__lead { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .nr-cu-tuner__needle { animation: none; }
  .nr-cu-hero__photo img { transform: none; }
}

/* ---- goodthings.css ---- */
/* ===== ナリモノの小さな決まり50（goodthings）｜nr-gt- ===== */
.nr-gt { --gt-work: var(--nm-yellow); --gt-studio: var(--nm-cream); --gt-life: var(--nm-red); --gt-money: #fff; }

/* ---------- 見出し：左寄せ1列の大見出し＋歌詞カード＋波形の縁 ---------- */
.nr-gt .nr-nw { white-space: nowrap; }
.nr-gt br.sp { display: inline; } .nr-gt br.pc { display: none; }
@media (min-width: 768px) { .nr-gt br.sp { display: none; } .nr-gt br.pc { display: inline; } }
.nr-gt.nm-container-69 { padding-top: 150px; }
@media (min-width: 768px) { .nr-gt.nm-container-69 { padding-top: 200px; } }
.nr-gt .nr-gt-hero { position: relative; z-index: 1; display: grid; gap: 40px; width: calc(100% - 32px); max-width: 1280px; }
@media (min-width: 992px) { .nr-gt .nr-gt-hero { width: 89%; grid-template-columns: minmax(0, 1fr) 340px; align-items: end; gap: 0 48px; } }
.nr-gt .nr-gt-hero__head { gap: 22px 0; }
@media (min-width: 768px) { .nr-gt .nr-gt-hero__head { gap: 34px 0; } }
.nr-gt h2.nr-gt-hero__title { font-size: 60px !important; line-height: .98 !important; letter-spacing: -.01em !important; white-space: nowrap; text-wrap: nowrap; }
@media (min-width: 768px) { .nr-gt h2.nr-gt-hero__title { font-size: clamp(84px, 8.6vw, 124px) !important; } }
.nr-gt .header-alpha-1 .nr-h__eq { height: .7em; margin-right: .4em; }
.nr-gt-lyric { position: relative; margin: 0; padding: 20px 20px 18px; border-radius: 18px; background: var(--nm-cream); color: var(--nm-ink); box-shadow: 0 2px 0 rgba(20,20,20,.08), 10px 12px 0 var(--nm-ink); transform: rotate(-2.5deg); background-image: repeating-linear-gradient(180deg, transparent 0 33px, rgba(20,20,20,.08) 33px 34px); background-position: 0 58px; }
@media (min-width: 992px) { .nr-gt-lyric { z-index: 2; padding: 24px 24px 20px; transform: rotate(3deg) translateY(150px); margin-top: -150px; } }
.nr-gt-lyric__head { display: flex; align-items: flex-end; justify-content: space-between; margin: 0 0 8px; padding-bottom: 10px; border-bottom: 2px solid var(--nm-ink); }
.nr-gt-lyric__head b { font-family: "Bagel Fat One", var(--en-demibold-font); font-weight: 400; font-size: 30px; line-height: 1; letter-spacing: .01em; }
.nr-gt-lyric__head span { font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .14em; line-height: 1.4; text-align: right; }
.nr-gt-lyric__list { counter-reset: ly; }
.nr-gt-lyric__list li { position: relative; display: grid; grid-template-columns: 34px 1fr; align-items: end; min-height: 34px; padding-top: 6px; font-family: var(--ja-bold-font); font-weight: 700; font-size: 14px; line-height: 1.4; letter-spacing: .02em; white-space: nowrap; }
.nr-gt-lyric__list small { align-self: start; font-family: var(--en-demibold-font); font-weight: 600; font-size: 13px; color: var(--nm-red); letter-spacing: .02em; }
.nr-gt-lyric__list span { position: relative; justify-self: start; padding: 0 2px; background: linear-gradient(var(--nm-yellow), var(--nm-yellow)) 0 85% / 0 45% no-repeat; transition: background-size .5s var(--nr-ease); }
.nr-gt-lyric__list li.is-on span { background-size: 100% 45%; }
.nr-gt-lyric__list li.is-on small { animation: nr-gt-hop .5s var(--nr-pop); }
@keyframes nr-gt-hop { 40% { transform: translateY(-4px); } }
.nr-gt-lyric__foot { display: flex; justify-content: space-between; margin: 12px 0 0; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .1em; color: #6d675b; }
.nr-gt-lyric__foot b { color: var(--nm-ink); }
@media (max-width: 991px) { .nr-gt-lyric { max-width: 340px; margin-left: 4px; } }
/* 境目：波形の縁（フッター上と同じ形） */
.nr-gt-edge { position: relative; z-index: 0; display: block; width: 100%; height: 72px; margin-top: 40px; }
@media (min-width: 768px) { .nr-gt-edge { height: 120px; margin-top: 70px; } }
.nr-gt-edge path { fill: var(--nm-cream); }
.nr-gt-edge--out { margin-top: 0; }
.nr-gt .nm-body-9 { margin-top: 0; }
.nr-gt-band { margin-top: -1px; padding: 30px 0 80px; background: var(--nm-cream); }
@media (min-width: 768px) { .nr-gt-band { padding: 40px 0 120px; } }
.nr-gt-band + .nr-gt-edge--out { margin-top: -1px; }
.nr-gt-edge--out path { fill: var(--nm-cream); }

/* ---------- 説明（箱にしない） ---------- */
.nr-gt .nr-gt-about.nm-about-2 { background: none; border-radius: 0; padding: 0; width: calc(100% - 32px); max-width: 1280px; }
@media (min-width: 768px) { .nr-gt .nr-gt-about.nm-about-2 { width: 89%; display: grid; grid-template-columns: 340px 1fr; gap: 18px 48px; } .nr-gt .nr-gt-about > p { max-width: 720px; } .nr-gt .nr-gt-about > .nr-gt-howto { grid-column: 1 / -1; } }
.nr-gt-howto { display: grid; gap: 12px; margin-top: 10px; }
@media (min-width: 768px) { .nr-gt-howto { grid-template-columns: repeat(3, 1fr); gap: 18px; } }
.nr-gt-howto li { display: grid; grid-template-columns: 40px 1fr; align-items: center; gap: 2px 14px; font-family: var(--ja-regular-font); font-size: 14px; line-height: 1.6; color: var(--nm-ink); }
.nr-gt-howto b { display: block; font-family: var(--ja-bold-font); font-weight: 700; font-size: 14px; }
.nr-gt-howto__pad { grid-row: span 2; width: 40px; height: 40px; border-radius: 10px; background: #2b2b2b; box-shadow: inset 0 -4px 0 rgba(0,0,0,.35); position: relative; }
.nr-gt-howto__pad:after { content: ""; position: absolute; right: 6px; top: 6px; width: 6px; height: 6px; border-radius: 50%; background: #555; }
.nr-gt-howto__pad.is-lit { background: var(--nm-yellow); box-shadow: inset 0 -4px 0 rgba(0,0,0,.15), 0 0 0 4px rgba(255,198,42,.3); }
.nr-gt-howto__pad.is-lit:after { background: var(--nm-ink); }
.nr-gt-howto__pad.is-play { background: var(--nm-ink); }
.nr-gt-howto__pad.is-play:after { right: auto; top: 50%; left: 50%; width: 0; height: 0; margin: -7px 0 0 -4px; border-radius: 0; background: none; border-left: 11px solid var(--nm-yellow); border-top: 7px solid transparent; border-bottom: 7px solid transparent; }

/* ---------- シーケンサー本体 ---------- */
.nr-gt .nr-gt-seq { width: calc(100% - 24px); margin-top: 48px; padding: 18px 14px 20px; border-radius: 26px; background: var(--nm-ink); color: #fff; box-shadow: 0 30px 60px rgba(20,20,20,.18); }
@media (min-width: 768px) { .nr-gt .nr-gt-seq { width: 89%; max-width: 1280px; margin-top: 72px; padding: 34px 40px 36px; border-radius: 40px; } }
.nr-gt-seq__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; }
.nr-gt-filter { display: flex; flex-wrap: wrap; gap: 6px; }
.nr-gt-filter__btn { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px; border: 1.5px solid rgba(255,255,255,.35); border-radius: 999px; color: #fff; font-family: var(--ja-bold-font); font-weight: 700; font-size: 12px; letter-spacing: .04em; cursor: pointer; transition: background-color .25s, color .25s, border-color .25s, transform .4s var(--nr-pop); }
.nr-gt-filter__btn small { font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; opacity: .7; }
@media (min-width: 768px) { .nr-gt-filter__btn small { font-size: 14px; } }
.nr-gt-filter__btn i, .nr-gt-seq__legend i, .nr-gt-card__meta i { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--c); }
.nr-gt [data-cat="work"] { --c: var(--gt-work); } .nr-gt [data-cat="studio"] { --c: var(--gt-studio); } .nr-gt [data-cat="life"] { --c: var(--gt-life); } .nr-gt [data-cat="money"] { --c: var(--gt-money); }
.nr-gt-filter__btn[aria-pressed="true"] { background: var(--nm-yellow); border-color: var(--nm-yellow); color: var(--nm-ink); }
.nr-gt-filter__btn[aria-pressed="true"] i { box-shadow: 0 0 0 1.5px var(--nm-ink); }
@media (hover: hover) { .nr-gt-filter__btn:hover { border-color: #fff; transform: translateY(-2px); } }
@media (min-width: 768px) { .nr-gt-filter__btn { height: 42px; padding: 0 16px; font-size: 14px; } }
.nr-gt-trans { display: flex; align-items: center; gap: 8px; }
.nr-gt-trans__play { display: inline-flex; align-items: center; gap: 10px; height: 40px; padding: 0 18px 0 16px; border-radius: 999px; background: var(--nm-red); color: #fff; font-family: var(--en-demibold-font); font-weight: 600; font-size: 14px; letter-spacing: .12em; cursor: pointer; transition: transform .4s var(--nr-pop), background-color .3s; }
.nr-gt-trans__play i { width: 0; height: 0; border-left: 10px solid currentColor; border-top: 6px solid transparent; border-bottom: 6px solid transparent; }
.nr-gt-trans__play[aria-pressed="true"] { background: var(--nm-yellow); color: var(--nm-ink); }
.nr-gt-trans__play[aria-pressed="true"] i { width: 10px; height: 10px; border: 0; background: currentColor; border-radius: 2px; }
.nr-gt-trans__clear { height: 40px; padding: 0 14px; border-radius: 999px; border: 1.5px solid rgba(255,255,255,.35); color: #fff; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .12em; cursor: pointer; transition: border-color .25s; }
@media (min-width: 768px) { .nr-gt-trans__clear { font-size: 14px; } }
@media (hover: hover) { .nr-gt-trans__play:hover { transform: scale(1.05); } .nr-gt-trans__clear:hover { border-color: #fff; } }
.nr-gt-trans__bpm { display: none; align-items: baseline; gap: 6px; margin: 0 0 0 6px; font-family: var(--en-demibold-font); font-weight: 600; color: var(--nm-yellow); }
.nr-gt-trans__bpm small { font-size: 14px; letter-spacing: .14em; color: rgba(255,255,255,.5); }
.nr-gt-trans__bpm b { font-size: 22px; font-variant-numeric: tabular-nums; }
@media (min-width: 768px) { .nr-gt-trans__bpm { display: flex; } }
.nr-gt button:focus-visible { outline: 3px solid var(--nm-red); outline-offset: 2px; }

/* LCD */
.nr-gt-lcd { margin-top: 16px; min-height: 118px; padding: 14px 16px 16px; border-radius: 14px; background: var(--nm-cream); color: var(--nm-ink); box-shadow: inset 0 0 0 2px rgba(20,20,20,.08), inset 0 6px 14px rgba(20,20,20,.06); }
@media (min-width: 768px) { .nr-gt-lcd { margin-top: 24px; min-height: 140px; padding: 20px 26px 22px; border-radius: 18px; } }
.nr-gt-lcd__meta { display: flex; align-items: center; gap: 10px; margin: 0; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .12em; }
.nr-gt-lcd__no { display: inline-grid; place-items: center; min-width: 34px; height: 24px; padding: 0 6px; border-radius: 6px; background: var(--nm-ink); color: var(--nm-yellow); font-variant-numeric: tabular-nums; }
.nr-gt-lcd__cat { color: #6d675b; }
.nr-gt-lcd__count { margin-left: auto; font-family: var(--ja-bold-font); font-weight: 700; font-size: 12px; letter-spacing: .04em; color: #6d675b; }
.nr-gt-lcd__count b { font-family: var(--en-demibold-font); font-weight: 600; color: var(--nm-ink); }
.nr-gt-lcd__title { margin: 10px 0 0; font-family: var(--ja-bold-font); font-weight: 700; font-size: 18px; line-height: 1.5; letter-spacing: .02em; }
@media (min-width: 768px) { .nr-gt-lcd__title { font-size: 26px; } }
.nr-gt-lcd__desc { margin: 8px 0 0; font-family: var(--ja-regular-font); font-size: 13px; line-height: 1.8; animation: nr-gt-in .4s var(--nr-ease); }
@media (min-width: 768px) { .nr-gt-lcd__desc { font-size: 15px; } }
.nr-gt-lcd.is-hint .nr-gt-lcd__title:after { content: "もう一度押すと、説明が開きます"; display: block; margin-top: 4px; font-family: var(--ja-regular-font); font-weight: 400; font-size: 13px; color: #6d675b; letter-spacing: .04em; }
@media (min-width: 768px) { .nr-gt-lcd__meta, .nr-gt-lcd__count { font-size: 14px; } }
@keyframes nr-gt-in { from { opacity: 0; transform: translateY(6px); } }

/* ステップ番号とパッド */
.nr-gt-steps, .nr-gt-pads { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
@media (min-width: 768px) { .nr-gt-steps, .nr-gt-pads { grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 12px; } }
.nr-gt-steps { margin-top: 18px; }
@media (min-width: 768px) { .nr-gt-steps { margin-top: 28px; } }
.nr-gt-steps span { text-align: center; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .06em; color: rgba(255,255,255,.4); padding-bottom: 6px; border-bottom: 2px solid rgba(255,255,255,.12); transition: color .1s, border-color .1s; }
.nr-gt-steps span:nth-child(5n+1) { color: rgba(255,255,255,.7); }
.nr-gt-steps span.is-on { color: var(--nm-yellow); border-color: var(--nm-yellow); }
@media (max-width: 767px) { .nr-gt-steps span:nth-child(n+6) { display: none; } }
.nr-gt-pads { margin-top: 10px; }
.nr-gt-pads li.is-out { display: none; }
.nr-gt-pad { position: relative; display: flex; align-items: flex-end; justify-content: flex-start; width: 100%; aspect-ratio: 1.25; padding: 5px; border-radius: 8px; background: #2b2b2b; box-shadow: inset 0 -4px 0 rgba(0,0,0,.4); color: rgba(255,255,255,.55); cursor: pointer; transition: background-color .18s, color .18s, transform .1s ease-out, box-shadow .18s; }
@media (min-width: 768px) { .nr-gt-pad { padding: 8px; border-radius: 12px; } }
.nr-gt-pad__no { font-family: var(--en-demibold-font); font-weight: 600; font-size: 11px; letter-spacing: .04em; line-height: 1; font-variant-numeric: tabular-nums; }
@media (min-width: 768px) { .nr-gt-pad__no { font-size: 13px; } }
.nr-gt-pad__led { position: absolute; right: 5px; top: 5px; width: 6px; height: 6px; border-radius: 50%; background: var(--c); opacity: .55; }
@media (min-width: 768px) { .nr-gt-pad__led { right: 8px; top: 8px; width: 8px; height: 8px; } }
.nr-gt-pad[data-cat="money"] .nr-gt-pad__led { background: none; box-shadow: inset 0 0 0 1.5px #fff; }
@media (hover: hover) { .nr-gt-pad:hover { background: #3a3a3a; color: #fff; } .nr-gt-pad:hover .nr-gt-pad__led { opacity: 1; } }
.nr-gt-pad:active, .nr-gt-pad.is-hit { transform: translateY(3px) scale(.96); box-shadow: inset 0 -1px 0 rgba(0,0,0,.4); }
.nr-gt-pad[aria-pressed="true"] { background: var(--c); color: var(--nm-ink); box-shadow: inset 0 -4px 0 rgba(0,0,0,.18), 0 0 18px -2px var(--c); }
.nr-gt-pad[data-cat="life"][aria-pressed="true"] { color: var(--nm-cream); }
.nr-gt-pad[aria-pressed="true"] .nr-gt-pad__led { background: var(--nm-ink); opacity: 1; box-shadow: none; }
.nr-gt-pad.is-sel { outline: 2px solid #fff; outline-offset: 2px; }
.nr-gt-pad.is-step { transform: translateY(-3px); }
.nr-gt-pad.is-step:not([aria-pressed="true"]) { background: #444; }
.nr-gt-pad.is-fire { animation: nr-gt-fire .32s ease-out; }
@keyframes nr-gt-fire { 0% { filter: brightness(1.6); transform: scale(1.1); } 100% { filter: none; transform: none; } }
.nr-gt-seq__legend { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 16px; font-family: var(--ja-bold-font); font-weight: 700; font-size: 12px; color: rgba(255,255,255,.6); }
.nr-gt-seq__legend span { display: inline-flex; align-items: center; gap: 6px; }
.nr-gt-seq__legend [data-cat="money"] i, .nr-gt-filter__btn[data-cat="money"] i, .nr-gt-card__meta [data-cat="money"] i { background: none; box-shadow: inset 0 0 0 1.5px currentColor; }

/* ---------- 歌詞カード ---------- */
.nr-gt .nr-gt-sheet { margin-top: 110px; }
@media (min-width: 768px) { .nr-gt .nr-gt-sheet { margin-top: 180px; } }
.nr-gt-sheet__head { display: flex; flex-direction: column; gap: 14px; }
@media (min-width: 768px) { .nr-gt-sheet__head { flex-direction: row; align-items: flex-end; justify-content: space-between; } }
.nr-gt .nr-gt-cards.nm-details-2 { display: grid; grid-template-columns: 1fr; gap: 0; margin-top: 40px; border-top: 2px solid var(--nm-ink); }
@media (min-width: 768px) { .nr-gt .nr-gt-cards.nm-details-2 { grid-template-columns: repeat(2, 1fr); gap: 0 5%; margin-top: 70px; border-top: 0; } }
@media (min-width: 1200px) { .nr-gt .nr-gt-cards.nm-details-2 { grid-template-columns: repeat(5, 1fr); gap: 0 2.4%; } }
.nr-gt .nr-gt-card.nm-detail-2 { width: auto; position: relative; padding: 18px 12px 22px; border-bottom: 1.5px solid rgba(20,20,20,.55); transition: background-color .3s, color .3s; border-radius: 0; }
@media (min-width: 768px) { .nr-gt .nr-gt-card.nm-detail-2 { border-top: 1.5px solid rgba(20,20,20,.55); border-bottom: 0; margin-top: -2px; padding: 22px 14px 28px; } }
.nr-gt .nr-gt-card.is-out { display: none; }
.nr-gt-card__meta { display: flex; align-items: center; justify-content: space-between; margin: 0 0 10px; }
.nr-gt-card__meta b { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--nm-ink); color: var(--nm-yellow); font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .04em; transition: transform .5s var(--nr-pop); }
@media (min-width: 768px) { .nr-gt-card__meta b { width: 40px; height: 40px; font-size: 14px; } .nr-gt-card__meta span { font-size: 14px !important; } }
.nr-gt-card__meta span { display: inline-flex; align-items: center; gap: 6px; font-family: var(--ja-bold-font); font-weight: 700; font-size: 13px; color: var(--nm-ink); }
.nr-gt-card__meta span i { box-shadow: 0 0 0 1.5px var(--nm-ink); }
.nr-gt .nr-gt-card > h4 { margin-top: 0; }
.nr-gt .nr-gt-card .nm-detail-text { margin-top: 6px; }
.nr-gt .nr-gt-card.is-lit { background: var(--nm-cream); border-radius: 18px; }
.nr-gt .nr-gt-card.is-lit .nm-t { color: var(--nm-ink) !important; }
.nr-gt .nr-gt-card.is-lit .nr-gt-card__meta span { color: var(--nm-ink); }
.nr-gt .nr-gt-card.is-lit .nr-gt-card__meta b { transform: rotate(-12deg) scale(1.1); background: var(--nm-red); color: #fff; }

.nr-gt .nr-gt-card.is-fold { display: none; }
.nr-gt-fold { display: none; justify-content: center; margin-top: 28px; }
.nr-gt-fold.is-on { display: flex; }
.nr-gt-fold__btn { display: inline-flex; align-items: center; gap: 12px; height: 52px; padding: 0 24px; border-radius: 999px; background: var(--nm-ink); color: var(--nm-yellow); font-family: var(--ja-bold-font); font-weight: 700; font-size: 14px; letter-spacing: .04em; cursor: pointer; }
.nr-gt-fold__btn b { font-family: var(--en-demibold-font); font-weight: 600; margin: 0 .15em; }
.nr-gt-fold__btn i { width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); }
@media (max-width: 767px) { .nr-gt .nr-gt-card.nm-detail-2 { padding: 14px 4px 16px; } }

/* ---------- 廃盤になった決まり：箱をやめ、黄色の地にレコードの背を並べた棚（初見監修 L7） ---------- */
.nr-gt .nr-gt-past { background-color: transparent; border-radius: 0; margin-top: 40px; padding-top: 40px; padding-bottom: 140px; }
@media (min-width: 768px) { .nr-gt .nr-gt-past { margin-top: 90px; padding-top: 60px; padding-bottom: 200px; } }
.nr-gt .nr-gt-past .nm-past-details-header { text-align: left; }
.nr-gt-past__h .nr-h__eq { height: .62em; margin-right: .3em; }
.nr-gt-past__sub { margin-top: 12px; }
/* 棚：6枚を1段に並べる。SP は理由を棚の下に全幅で、PC・タブレットは各背の下に。棚板は列の間の隙間までつなげる */
.nr-gt .nr-gt-shelf.nm-past-details-inner { --gap: 10px; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0 var(--gap); margin-top: 40px; }
.nr-gt .nr-gt-shelf .nr-gt-rec { display: contents; }
.nr-gt-bay { grid-row: 1; position: relative; height: 210px; display: flex; align-items: flex-end; justify-content: center; margin-bottom: 12px; }
.nr-gt-bay:after { content: ""; position: absolute; left: calc(var(--gap) / -2); right: calc(var(--gap) / -2); bottom: -12px; height: 12px; background: var(--nm-ink); }
.nr-gt-rec:first-child .nr-gt-bay:after { border-radius: 6px 0 0 6px; } .nr-gt-rec:last-child .nr-gt-bay:after { border-radius: 0 6px 6px 0; }
.nr-gt .nr-gt-shelf .nr-gt-rec__txt { grid-column: 1 / -1; width: auto; margin-top: 0; padding: 18px 0 20px; border-bottom: 1.5px dotted rgba(20,20,20,.5); }
.nr-gt .nr-gt-shelf .nr-gt-rec:nth-child(1) .nr-gt-rec__txt { margin-top: 26px; }
@media (min-width: 768px) {
  .nr-gt .nr-gt-shelf.nm-past-details-inner { --gap: 24px; margin-top: 70px; }
  .nr-gt .nr-gt-shelf .nr-gt-rec { display: block; width: auto; }
  .nr-gt .nr-gt-shelf .nr-gt-rec > * { width: auto; }
  .nr-gt-bay { height: 420px; margin-bottom: 0; }
  .nr-gt .nr-gt-shelf .nr-gt-rec__txt, .nr-gt .nr-gt-shelf .nr-gt-rec:nth-child(1) .nr-gt-rec__txt { margin-top: 34px; padding: 0; border: 0; }
}
/* レコードの背：年（上）・題（縦書き・PC）・廃盤の判（下） */
.nr-gt-spine { position: relative; display: flex; flex-direction: column; align-items: center; gap: 10px; width: 40px; height: calc(var(--h, 1) * 100%); margin: 0; padding: 12px 0 10px; border: 2px solid var(--nm-ink); border-radius: 7px 7px 3px 3px; background: var(--nm-cream); color: var(--nm-ink); box-shadow: inset -6px 0 0 rgba(20,20,20,.08); transform-origin: 0 100%; transform: translateY(46px) rotate(0deg); opacity: 0; transition: transform .8s var(--nr-pop), opacity .4s; transition-delay: calc(var(--i, 0) * 90ms); }
.nr-gt-rec.is-in .nr-gt-spine { transform: translateY(0) rotate(var(--tilt, 0deg)); opacity: 1; }
.nr-gt-spine[data-c="ink"] { background: var(--nm-ink); color: var(--nm-yellow); box-shadow: inset -6px 0 0 rgba(255,255,255,.07); }
.nr-gt-spine[data-c="red"] { background: var(--nm-red); color: var(--nm-cream); }
.nr-gt-spine[data-c="yellow"] { background: #ffd65c; }
.nr-gt-spine__yr { writing-mode: vertical-rl; font-family: var(--en-demibold-font); font-weight: 800; font-size: 14px; line-height: 1; letter-spacing: .04em; white-space: nowrap; }
.nr-gt-spine__ttl { display: none; writing-mode: vertical-rl; height: calc(var(--h, 1) * 420px - 126px); font-family: var(--ja-bold-font); font-weight: 700; font-size: 17px; line-height: 1.35; letter-spacing: .1em; }
.nr-gt-spine__stamp { position: relative; margin-top: auto; padding: 2px 4px 3px; border: 2px solid var(--nm-red); border-radius: 6px; background: rgba(250,247,239,.94); color: var(--nm-red); font-family: var(--ja-bold-font); font-weight: 700; font-style: normal; font-size: 12px; letter-spacing: .04em; line-height: 1.3; white-space: nowrap; transform: rotate(-16deg) scale(1.7); opacity: 0; transition: transform .45s var(--nr-pop), opacity .2s; transition-delay: calc(var(--i, 0) * 90ms + .5s); }
.nr-gt-rec.is-in .nr-gt-spine__stamp { transform: rotate(-16deg) scale(1); opacity: 1; }
@media (min-width: 768px) {
  .nr-gt-spine { width: 86px; gap: 14px; padding: 16px 0 14px; }
  .nr-gt-spine__yr { writing-mode: horizontal-tb; font-size: 14px; letter-spacing: 0; }
  .nr-gt-spine__ttl { display: block; }
  .nr-gt-spine__stamp { font-size: 15px; padding: 2px 8px 3px; }
  .nr-gt-rec:first-child .nr-gt-spine__yr { font-size: 12px; letter-spacing: -.02em; }
}
@media (hover: hover) { .nr-gt-rec.is-in:hover .nr-gt-spine { transform: translateY(-18px) rotate(var(--tilt, 0deg)); transition-delay: 0s; } .nr-gt-rec.is-in:hover .nr-gt-spine__stamp { transition-delay: 0s; } }
/* やめた理由 */
.nr-gt-rec__ttl small { display: inline-block; margin-right: 10px; font-family: var(--en-demibold-font); font-weight: 800; font-size: 14px; letter-spacing: .04em; }
.nr-gt-rec__txt .nm-detail-text { margin-top: 4px; }
@media (min-width: 768px) {
  /* PC・タブレットは背に題が出るので、下は理由だけ（題は読み上げ用に残す） */
  .nr-gt-rec__ttl { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .nr-gt-rec__txt .nm-detail-text { margin-top: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .nr-gt-pad, .nr-gt-spine, .nr-gt-spine__stamp { transition: none !important; }
  .nr-gt-pad.is-fire { animation: none; }
  .nr-gt-spine { transform: rotate(var(--tilt, 0deg)); opacity: 1; }
  .nr-gt-spine__stamp { transform: translateX(-50%) rotate(-16deg); opacity: 1; }
}

/* ---- history.css ---- */
/* ===== 沿革（history）｜nr-hs- ===== */
.nr-hs.nm-container-68 { padding-bottom: 0; }

/* ---------- KV：カセット ---------- */
.nr-hs-kv { position: relative; display: grid; place-items: center; min-height: 100vh; min-height: 100svh; padding: 110px 16px 90px; overflow: hidden; }
.nr-hs-cas { position: relative; width: min(92vw, 780px); aspect-ratio: 1.58; border-radius: 22px; background: var(--nm-ink); box-shadow: 0 30px 60px rgba(20,20,20,.18), inset 0 -8px 0 rgba(255,255,255,.04); will-change: transform; }
@media (min-width: 768px) { .nr-hs-cas { border-radius: 36px; } }
.nr-hs-cas__screw { position: absolute; width: 10px; height: 10px; border-radius: 50%; background: #3a3a3a; box-shadow: inset 0 0 0 2px #262626; }
.nr-hs-cas__screw:nth-child(1) { left: 3%; top: 5%; } .nr-hs-cas__screw:nth-child(2) { right: 3%; top: 5%; } .nr-hs-cas__screw:nth-child(3) { left: 3%; bottom: 5%; } .nr-hs-cas__screw:nth-child(4) { right: 3%; bottom: 5%; }
.nr-hs-cas__label { position: absolute; left: 7%; right: 7%; top: 8%; height: 50%; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 8px; padding: 0 16px; border-radius: 12px; background: var(--nm-cream); text-align: center; background-image: repeating-linear-gradient(transparent 0 27px, rgba(20,20,20,.06) 27px 28px); }
@media (min-width: 768px) { .nr-hs-cas__label { gap: 14px; border-radius: 18px; background-image: repeating-linear-gradient(transparent 0 41px, rgba(20,20,20,.06) 41px 42px); } }
.nr-hs-cas__side { position: absolute; left: 12px; top: 10px; display: flex; align-items: center; gap: 8px; margin: 0; font-family: var(--en-demibold-font); font-weight: 600; font-size: 10px; letter-spacing: .1em; color: var(--nm-ink); }
.nr-hs-cas__side b { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 6px; background: var(--nm-red); color: #fff; font-size: 11px; font-family: "Bagel Fat One", sans-serif; font-weight: 400; letter-spacing: 0; }
@media (min-width: 768px) { .nr-hs-cas__side { left: 18px; top: 16px; font-size: 13px; } .nr-hs-cas__side b { width: 28px; height: 28px; font-size: 16px; } }
.nr-hs-cas__title.nm-t { margin-top: 10px; }
@media (max-width: 767px) { .nr-hs-cas { aspect-ratio: 1.3; } .nr-hs-cas__label { padding-top: 30px; } .nr-hs-cas__title.nm-t { margin-top: 0; } }
.nr-hs-cas__win { position: absolute; left: 22%; right: 22%; bottom: 10%; height: 27%; display: flex; align-items: center; justify-content: space-between; padding: 0 5%; border-radius: 999px; background: #2b2b2b; box-shadow: inset 0 0 0 3px #3a3a3a; }
.nr-hs-reel { position: relative; height: 82%; aspect-ratio: 1; display: grid; place-items: center; }
.nr-hs-reel:before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: radial-gradient(circle, #5a3e2b 0 55%, #4a3223 56% 100%); transform: scale(var(--sp, .7)); transition: transform .3s linear; }
.nr-hs-reel i { position: relative; width: 44%; aspect-ratio: 1; border-radius: 50%; background: repeating-conic-gradient(var(--nm-cream) 0 22deg, #2b2b2b 22deg 60deg); box-shadow: 0 0 0 2px var(--nm-cream); transform: rotate(var(--rot, 0deg)); }
.nr-hs-cas__tape { position: absolute; left: 18%; right: 18%; bottom: 8%; height: 2px; background: #5a3e2b; border-radius: 2px; }
.nr-hs-kv__hint { position: absolute; left: 50%; bottom: 26px; transform: translateX(-50%); display: flex; align-items: center; gap: 10px; margin: 0; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .18em; color: var(--nm-ink); white-space: nowrap; }
.nr-hs-kv__hint i { width: 0; height: 0; border-left: 9px solid var(--nm-ink); border-top: 6px solid transparent; border-bottom: 6px solid transparent; animation: nr-hs-blink 1.4s ease-in-out infinite; }
@keyframes nr-hs-blink { 50% { opacity: .25; } }

/* ---------- 再生画面：左のトラックリスト＋横に流れるカード＋再生バー（PC）／縦のトラック一覧（SP） ---------- */
.nr-hs-player { position: relative; }
.nr-hs-player__pin { position: relative; }
.nr-hs-list { display: none; }
.nr-hs-stage { position: relative; }
.nr-hs-rail { display: flex; flex-direction: column; gap: 56px; width: calc(100% - 32px); margin: 0 auto; padding: 20px 0 40px 22px; border-left: 3px solid var(--nm-ink); }
.nr-hs-card { position: relative; display: flex; flex-direction: column; gap: 14px; }
.nr-hs-card:before { content: ""; position: absolute; left: -33px; top: 6px; width: 17px; height: 17px; border-radius: 50%; border: 3px solid var(--nm-ink); background: var(--nm-yellow); transition: background-color .3s, transform .4s var(--nr-pop); }
.nr-hs-card.is-cur:before { background: var(--nm-red); transform: scale(1.25); }
.nr-hs-card__track { display: flex; align-items: center; gap: 10px; margin: 0; font-family: var(--en-demibold-font); font-weight: 600; font-size: 14px; letter-spacing: .08em; color: var(--nm-ink); font-variant-numeric: tabular-nums; }
.nr-hs-card__track b { display: inline-grid; place-items: center; height: 28px; padding: 0 10px; border-radius: 8px; background: var(--nm-ink); color: var(--nm-yellow); font-weight: 600; }
.nr-hs-card__track span { font-size: 18px; }
.nr-hs-card__track small { font-size: 14px; }
.nr-hs-card__track i { flex: 1; height: 0; border-top: 2px dotted rgba(20,20,20,.5); }
.nr-hs-card__media { position: relative; overflow: hidden; border-radius: 20px; aspect-ratio: 3 / 2; margin: 0; }
.nr-hs-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--nr-ease); }
.nr-hs-prop { display: grid; place-items: center; background: var(--nm-cream); background-image: radial-gradient(rgba(20,20,20,.12) 1.2px, transparent 1.4px); background-size: 18px 18px; border: 2px solid var(--nm-ink); }
.nr-hs-prop svg { display: block; width: 86%; height: auto; transition: transform .6s var(--nr-pop); }
.nr-hs-prop figcaption { position: absolute; left: 12px; bottom: 10px; padding: 3px 10px; border-radius: 999px; background: var(--nm-ink); color: var(--nm-cream); font-family: var(--ja-bold-font); font-weight: 700; font-size: 12px; letter-spacing: .06em; }
@media (hover: hover) { .nr-hs-card:hover .nr-hs-prop svg { transform: rotate(-3deg) scale(1.04); } .nr-hs-card:hover .nr-hs-photo img { transform: scale(1.04); } }
.nr-hs-card .nr-hs-btn { margin-top: 4px; }
.nr-hs-bar { display: none; }

@media (min-width: 992px) {
  .nr-hs-player__pin { position: sticky; top: 0; height: 100vh; min-height: 680px; overflow: hidden; display: grid; grid-template-columns: 300px minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto; }
  .nr-hs-list { display: flex; flex-direction: column; grid-row: 1 / span 2; padding: 132px 0 40px 48px; }
  .nr-hs-list__head { display: flex; flex-direction: column; gap: 4px; margin: 0 0 14px; padding-bottom: 12px; border-bottom: 3px solid var(--nm-ink); color: var(--nm-ink); }
  .nr-hs-list__head b { font-family: var(--en-demibold-font); font-weight: 600; font-size: 22px; letter-spacing: .04em; }
  .nr-hs-list__head span { font-family: var(--en-demibold-font); font-weight: 600; font-size: 14px; letter-spacing: .12em; opacity: .75; }
  .nr-hs-list ol { display: flex; flex-direction: column; }
  .nr-hs-list__btn { display: grid; grid-template-columns: 42px 64px minmax(0, 1fr); align-items: center; width: 100%; min-height: 36px; padding: 2px 8px; border-radius: 8px; color: var(--nm-ink); text-align: left; cursor: pointer; transition: background-color .25s, color .25s, transform .4s var(--nr-pop); }
  .nr-hs-list__btn small, .nr-hs-list__btn b { font-family: var(--en-demibold-font); font-weight: 600; font-size: 14px; letter-spacing: .04em; font-variant-numeric: tabular-nums; }
  .nr-hs-list__btn small { opacity: .6; }
  .nr-hs-list__btn span { overflow: hidden; font-family: var(--ja-bold-font); font-weight: 700; font-size: 14px; white-space: nowrap; text-overflow: ellipsis; }
  .nr-hs-list__btn[aria-current="true"] { background: var(--nm-ink); color: var(--nm-yellow); }
  .nr-hs-list__btn[aria-current="true"] small { opacity: 1; color: var(--nm-red); }
  .nr-hs-list__btn:focus-visible { outline: 3px solid var(--nm-red); outline-offset: 2px; }
  .nr-hs-stage { overflow: hidden; scroll-behavior: auto; padding-top: 132px; }
  /* 初見監修 L4：トラックリストとの境目で、カードの頭がぶつっと切れないよう 28px かけて薄く消す（下に潜っていくと分かる） */
  .nr-hs-stage { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 28px); mask-image: linear-gradient(90deg, transparent 0, #000 28px); }
  .nr-hs-rail { flex-direction: row; align-items: flex-start; gap: 44px; width: max-content; margin: 0; padding: 4px 44vw 0 56px; border-left: 0; }
  .nr-hs-card { flex: none; width: 420px; padding-top: 34px; border-top: 3px solid var(--nm-ink); }
  .nr-hs-card:before { left: -2px; top: -10px; }
  .nr-hs-card__track { position: absolute; left: 26px; top: -15px; right: 0; }
  .nr-hs-card__track b { height: 26px; }
  .nr-hs-card__track span { padding: 0 6px; background: var(--nm-yellow); font-size: 16px; }
  .nr-hs-card__track i { display: none; }
  .nr-hs-card__track small { margin-left: auto; padding: 0 6px; background: var(--nm-yellow); }
  .nr-hs-card { opacity: .72; transition: opacity .4s; }
  .nr-hs-card.is-cur, .nr-hs-card:hover, .nr-hs-card:focus-within { opacity: 1; }
  .nr-hs-bar { grid-column: 2; display: flex; align-items: center; gap: 16px; margin: 0 48px 34px 56px; height: 64px; padding: 0 22px 0 10px; border-radius: 999px; background: var(--nm-ink); color: #fff; font-family: var(--en-demibold-font); font-weight: 600; font-size: 14px; letter-spacing: .08em; font-variant-numeric: tabular-nums; }
  .nr-hs-bar__reel { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 50%; background: var(--nm-yellow); }
  .nr-hs-bar__reel i { width: 26px; height: 26px; border-radius: 50%; background: repeating-conic-gradient(var(--nm-ink) 0 20deg, transparent 20deg 60deg); transform: rotate(var(--rot, 0deg)); }
  .nr-hs-bar__now { display: flex; gap: 10px; flex: none; min-width: 120px; }
  .nr-hs-bar__now b { color: var(--nm-yellow); font-weight: 600; }
  .nr-hs-bar__line { position: relative; flex: 1; height: 4px; margin: 0 6px; border-radius: 4px; background: rgba(255,255,255,.2); }
  .nr-hs-bar__fill { position: absolute; left: 0; top: 0; bottom: 0; width: calc(var(--p, 0) * 100%); border-radius: 4px; background: var(--nm-yellow); }
  .nr-hs-bar__ticks i { position: absolute; top: -6px; left: calc(var(--tp, 0) * 100%); width: 2px; height: 16px; margin-left: -1px; background: rgba(255,255,255,.45); }
  .nr-hs-bar__ticks i.is-past { background: var(--nm-yellow); }
  .nr-hs-bar__ticks b { display: none; }
  .nr-hs-bar__head { position: absolute; top: 50%; left: calc(var(--p, 0) * 100%); width: 16px; height: 16px; margin: -8px 0 0 -8px; border-radius: 50%; background: var(--nm-red); box-shadow: 0 0 0 4px rgba(232,69,44,.3); }
  .nr-hs-bar__time { flex: none; }
}
@media (min-width: 992px) and (max-height: 760px) { .nr-hs-list__btn { min-height: 31px; } .nr-hs-list { padding-top: 112px; } .nr-hs-stage { padding-top: 112px; } .nr-hs-card__media { aspect-ratio: 16 / 9; } }
@media (max-width: 991px) { .nr-hs-card .nr-hs-btn { align-self: flex-start; } }

/* リンクのボタン（元の形のまま、矢印だけ自前） */
.nr-hs .nr-hs-btn { width: auto; display: inline-flex; align-self: flex-start; padding: 0 44px 0 22px; transition: transform .5s var(--nr-pop); }
.nr-hs .nr-hs-btn .nm-wrap { width: auto; }
.nr-hs .nr-hs-btn .nm-view { width: auto; }
.nr-hs .nr-hs-btn .nm-wrap[data-has-arrow="true"]:before, .nr-hs .nr-hs-btn .nm-wrap[data-has-arrow="true"]:after { content: none; }
.nr-hs .nr-hs-btn:after { content: "→"; position: absolute; right: 17px; top: 50%; transform: translateY(-52%); color: var(--nm-ink); font-family: var(--en-demibold-font); font-weight: 600; font-size: 14px; transition: transform .45s var(--nr-pop); }
@media (hover: hover) { .nr-hs .nr-hs-btn:hover { transform: scale(1.04); } .nr-hs .nr-hs-btn:hover:after { transform: translate(5px, -52%); } }

/* ---------- 最後：まだ録音中 ---------- */
.nr-hs-end { position: relative; z-index: 1; display: grid; place-items: center; min-height: 90vh; padding: 120px 0 80px; text-align: center; }
.nr-hs-end__inner { width: 85%; max-width: 900px; display: flex; flex-direction: column; align-items: center; gap: 22px; }
.nr-hs-end__rec { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 7px 14px 7px 12px; border-radius: 999px; background: var(--nm-ink); color: #fff; font-family: var(--en-demibold-font); font-weight: 600; font-size: 14px; letter-spacing: .18em; }
.nr-hs-end__rec i { width: 9px; height: 9px; border-radius: 50%; background: var(--nm-red); animation: nr-hs-blink 1s steps(2, jump-none) infinite; }
.nr-hs .nr-hs-btn--end { align-self: center; margin-top: 8px; }


@media (prefers-reduced-motion: reduce) {
  .nr-hs-photo img, .nr-hs-prop svg, .nr-hs-card { transition: none !important; }
  .nr-hs-kv__hint i, .nr-hs-end__rec i { animation: none; }
}
.nr-hs .nr-hs-btn { background-color: #fff; border: 2px solid var(--nm-ink); }
.nr-hs .nr-hs-btn .nm-t { color: var(--nm-ink) !important; }
@media (hover: hover) { .nr-hs .nr-hs-btn:hover { background-color: var(--nm-ink); } .nr-hs .nr-hs-btn:hover .nm-t { color: #fff !important; } .nr-hs .nr-hs-btn:hover:after { color: #fff; } }

/* ---- kuji.css ---- */
/* 名刺サウンド（kuji → /sound-card/）｜制作役D。範囲は main[data-page="kuji"] と nr-sc- に限る */
main[data-page="kuji"] .nr-sc { overflow: visible; min-height: 0; }
main[data-page="kuji"] .nr-sc-main { position: relative; height: auto; min-height: 100vh; min-height: 100svh; gap: 26px; padding: 130px 0 110px; overflow: clip; justify-content: flex-start; }
@media (min-width: 768px) { main[data-page="kuji"] .nr-sc-main { gap: 32px; padding: 170px 0 140px; min-height: 900px; } }

/* ---------- 波紋（名刺の後ろで広がる） ---------- */
.nr-sc-rings { position: absolute; left: 50%; top: 58%; width: 1300px; aspect-ratio: 1; margin-left: -650px; margin-top: -650px; pointer-events: none; z-index: -1; }
.nr-sc-rings i { position: absolute; inset: 0; border-radius: 50%; border: 2px solid rgba(255,255,255,.6); transform: scale(.2); opacity: 0; animation: nr-sc-ripple 8s linear infinite; }
.nr-sc-rings i:nth-child(2) { animation-delay: -1.6s; } .nr-sc-rings i:nth-child(3) { animation-delay: -3.2s; }
.nr-sc-rings i:nth-child(4) { animation-delay: -4.8s; } .nr-sc-rings i:nth-child(5) { animation-delay: -6.4s; }
.nr-sc.is-playing .nr-sc-rings i { animation-duration: 2.4s; }
@keyframes nr-sc-ripple { 0% { transform: scale(.2); opacity: 0; } 12% { opacity: .9; } 100% { transform: scale(1); opacity: 0; } }

/* ---------- 見出し ---------- */
main[data-page="kuji"] .nr-sc-head { display: grid; gap: 14px; width: 88%; height: auto; }
.nr-sc-sub { opacity: .92; }

/* ---------- 番号の入力（テープのカウンター風） ---------- */
.nr-sc-form { display: flex; flex-direction: column; align-items: center; width: auto; }
.nr-sc-form form { display: flex; flex-direction: column; align-items: center; gap: 14px; }
main[data-page="kuji"] .nr-sc-digits { display: flex; gap: 8px; width: auto; padding: 10px; border-radius: 20px; background: var(--nm-ink); box-shadow: 0 8px 0 rgba(20,20,20,.15); }
main[data-page="kuji"] .nr-sc-digits input { width: 54px; height: 70px; padding: 0; border: 0; border-radius: 10px; background: linear-gradient(#fff 0 49%, #ece7da 49% 51%, #fff 51%); color: var(--nm-ink); font-family: var(--en-demibold-font); font-weight: 800; font-size: 40px; text-align: center; caret-color: var(--nm-red); box-shadow: inset 0 3px 0 rgba(0,0,0,.06); transition: transform .3s var(--nr-pop), box-shadow .2s; }
main[data-page="kuji"] .nr-sc-digits input:focus { outline: none; box-shadow: 0 0 0 3px var(--nm-yellow); transform: translateY(-2px); }
main[data-page="kuji"] .nr-sc-digits input[data-is-error="true"] { box-shadow: 0 0 0 3px var(--nm-red); }
main[data-page="kuji"] .nr-sc-err { position: static; transform: none; width: auto; padding: 6px 14px; border-radius: 999px; background: var(--nm-ink); color: #fff !important; }
main[data-page="kuji"] .nr-sc-err[hidden] { display: none; }
.nr-sc-btns { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px 18px; }
.nr-sc-play { display: inline-flex; align-items: center; gap: 12px; height: 60px; padding: 0 34px 0 26px; border-radius: 999px; background: var(--nm-ink); color: var(--nm-yellow); font-family: var(--en-demibold-font); font-weight: 600; font-size: 15px; letter-spacing: .16em; cursor: pointer; isolation: isolate; overflow: hidden; position: relative; transition: transform .5s var(--nr-pop), color .3s; }
.nr-sc-play:after { content: ""; position: absolute; inset: 0; z-index: -1; background: #fff; border-radius: inherit; transform: translateX(-101%); transition: transform .55s var(--nr-ease); }
.nr-sc-play__icon { width: 0; height: 0; border-left: 12px solid currentColor; border-top: 8px solid transparent; border-bottom: 8px solid transparent; }
.nr-sc.is-playing .nr-sc-play__icon { width: 12px; height: 14px; border: 0; border-left: 4px solid currentColor; border-right: 4px solid currentColor; }
@media (hover: hover) { .nr-sc-play:hover { transform: scale(1.04); color: var(--nm-ink); } .nr-sc-play:hover:after { transform: translateX(0); } }
.nr-sc-rand { padding: 8px 4px; color: var(--nm-ink); font-family: var(--ja-bold-font); font-weight: 700; font-size: 14px; letter-spacing: .04em; background: linear-gradient(var(--nm-ink), var(--nm-ink)) 0 100% / 100% 2px no-repeat; cursor: pointer; transition: background-size .4s var(--nr-ease); }
@media (hover: hover) { .nr-sc-rand:hover { background-size: 0 2px; background-position: 100% 100%; } }
@media (min-width: 768px) {
  main[data-page="kuji"] .nr-sc-digits { gap: 10px; padding: 12px; border-radius: 24px; }
  main[data-page="kuji"] .nr-sc-digits input { width: 70px; height: 92px; font-size: 54px; border-radius: 12px; }
  .nr-sc-play { height: 68px; padding: 0 40px 0 30px; font-size: 16px; }
}

/* ---------- 名刺（楽器になる） ---------- */
.nr-sc-stage { display: flex; flex-direction: column; align-items: center; gap: 16px; width: 92%; max-width: 560px; margin-top: 6px; }
.nr-sc-card { position: relative; width: 100%; aspect-ratio: 91/55; padding: 18px 20px 16px; border-radius: 18px; background: var(--nm-cream); color: var(--nm-ink); box-shadow: 0 14px 0 rgba(20,20,20,.12), 0 24px 40px rgba(20,20,20,.12); display: grid; grid-template-rows: auto auto 1fr auto auto; gap: 6px; transform: rotate(-2deg); transition: transform .6s var(--nr-pop); }
.nr-sc.is-playing .nr-sc-card { transform: rotate(0) scale(1.02); }
.nr-sc-card__logo { position: absolute; right: 18px; top: 14px; margin: 0; font-family: "Bagel Fat One", var(--en-demibold-font); font-size: 16px; line-height: 1; color: var(--nm-ink); }
.nr-sc-card__title { display: flex; flex-direction: column; gap: 2px; margin: 0; }
.nr-sc-card__no { font-family: var(--en-demibold-font); font-weight: 800; font-size: 22px; line-height: 1; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.nr-sc-card__name { font-family: var(--ja-bold-font); font-weight: 700; font-size: 11px; color: #6d675b; }
.nr-sc-wave { display: block; width: 100%; height: 100%; min-height: 44px; }
.nr-sc-steps { display: grid; grid-template-columns: repeat(8, 1fr); gap: 5px; }
.nr-sc-steps li { height: 8px; border-radius: 3px; background: #e3dccb; transition: background-color .12s; }
.nr-sc-steps li.is-rest { background: repeating-linear-gradient(90deg, #e3dccb 0 3px, transparent 3px 6px); }
.nr-sc-steps li.is-on { background: var(--nm-red); }
.nr-sc-steps li.is-done { background: var(--nm-yellow); }
.nr-sc-card__meta { display: flex; gap: 14px; margin: 2px 0 0; font-family: var(--en-demibold-font); font-weight: 600; font-size: 10px; letter-spacing: .12em; color: #6d675b; }
.nr-sc-card__meta span:last-child { margin-left: auto; font-family: var(--ja-bold-font); font-weight: 700; letter-spacing: .04em; }
.nr-sc-pop { position: absolute; inset: 0; pointer-events: none; }
.nr-sc-pop b { position: absolute; font-family: "Dela Gothic One", var(--ja-bold-font); font-weight: 400; font-size: 26px; line-height: 1; color: var(--nm-ink); white-space: nowrap; animation: nr-sc-pop 1s var(--nr-ease) forwards; }
@keyframes nr-sc-pop { 0% { opacity: 0; transform: translate(-50%, 0) scale(.4) rotate(var(--rt)); } 25% { opacity: 1; transform: translate(-50%, -24px) scale(1.1) rotate(var(--rt)); } 100% { opacity: 0; transform: translate(-50%, -70px) scale(.9) rotate(var(--rt)); } }
@media (min-width: 768px) {
  .nr-sc-card { padding: 26px 30px 22px; border-radius: 22px; gap: 8px; }
  .nr-sc-card__logo { right: 28px; top: 24px; font-size: 22px; }
  .nr-sc-card__no { font-size: 34px; }
  .nr-sc-card__name { font-size: 13px; }
  .nr-sc-steps { gap: 7px; } .nr-sc-steps li { height: 10px; }
  .nr-sc-card__meta { font-size: 11px; }
  .nr-sc-pop b { font-size: 38px; }
}
.nr-sc-note { min-height: 1.6em; margin: 8px 0 0; color: var(--nm-ink); font-family: var(--ja-bold-font); font-weight: 700; font-size: 13px; text-align: center; }
.nr-sc-tools { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.nr-sc-sound, .nr-sc-about-btn { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border: 2px solid var(--nm-ink); border-radius: 999px; color: var(--nm-ink); font-family: var(--en-demibold-font); font-weight: 600; font-size: 13px; letter-spacing: .1em; cursor: pointer; transition: background-color .3s, color .3s; }
.nr-sc-about-btn { font-family: var(--ja-bold-font); font-weight: 700; letter-spacing: .04em; }
.nr-sc-sound__icon { display: inline-flex; align-items: flex-end; gap: 2px; height: 12px; }
.nr-sc-sound__icon i { display: block; width: 3px; height: 4px; border-radius: 2px; background: currentColor; }
.nr-sc-sound[aria-pressed="true"], .nr-sc-about-btn[aria-expanded="true"] { background: var(--nm-ink); color: var(--nm-yellow); }
.nr-sc-sound[aria-pressed="true"] .nr-sc-sound__icon i { height: 100%; transform-origin: bottom; animation: nr-bounce .9s ease-in-out infinite; }
.nr-sc-sound[aria-pressed="true"] .nr-sc-sound__icon i:nth-child(2) { animation-delay: -.3s; } .nr-sc-sound[aria-pressed="true"] .nr-sc-sound__icon i:nth-child(3) { animation-delay: -.6s; }
@media (hover: hover) { .nr-sc-sound:hover, .nr-sc-about-btn:hover { background: var(--nm-ink); color: var(--nm-yellow); } }
.nr-sc-about { display: grid; gap: 10px; max-width: 520px; padding: 20px 22px; border-radius: 20px; background: #fff; animation: nr-sc-open .45s var(--nr-ease); }
.nr-sc-about[hidden] { display: none; }
@keyframes nr-sc-open { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }

@media (prefers-reduced-motion: reduce) {
  .nr-sc-rings i, .nr-sc-sound__icon i, .nr-sc-pop b { animation: none !important; }
  .nr-sc-rings i:first-child { opacity: .5; transform: scale(.5); }
  .nr-sc-card { transform: none; }
}

/* このページ自身への案内ボタンは出さない */
body[data-page="kuji"] .nr-card-cta { display: none; }

/* ---------- 監修1周目：文字の最小サイズ（SP 12px・PC 14px を下回らない） ---------- */
.nr-sc-card__name, .nr-sc-card__meta { font-size: 12px; }
@media (min-width: 768px) {
  .nr-sc-card__name, .nr-sc-card__meta, .nr-sc-sound, .nr-sc-about-btn { font-size: 14px; }
}

/* ---- lab.css ---- */
/* NARIMONO LAB（lab）｜制作役D。範囲は main[data-page="lab"] と nr-lb- に限る */
main[data-page="lab"] .nr-lb { overflow: clip; padding-top: 140px; }
@media (min-width: 768px) { main[data-page="lab"] .nr-lb { padding-top: 190px; } }
main[data-page="lab"] .nr-nw { white-space: nowrap; }

/* ---------- 見出し（監修1周目：左寄せ1列の大きな英字＋右にカセット。白い箱と円はやめた） ---------- */
main[data-page="lab"] .nr-lb-hero { position: relative; display: block; width: 88%; max-width: 1240px; margin: 0 auto; }
.nr-lb-hero__text { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.nr-lb-hero__en { display: flex; flex-wrap: wrap; align-items: center; column-gap: .22em; margin: 0 0 4px; font-family: var(--en-demibold-font); font-weight: 800; font-size: clamp(50px, 15vw, 62px); line-height: .92; letter-spacing: -.035em; color: var(--nm-ink); }
.nr-lb-hero__en .nr-h__eq { height: .5em; margin-right: 0; }
.nr-lb-hero__en span:last-child { flex-basis: 100%; }
.nr-lb-hero__about { display: grid; gap: 12px; max-width: 640px; margin-top: 18px; padding-top: 22px; border-top: 3px solid var(--nm-ink); }
.nr-lb-hero__b { display: inline-grid; place-items: center; width: 28px; height: 28px; margin-right: 10px; border-radius: 8px; background: var(--nm-ink); color: var(--nm-yellow); font-family: var(--en-demibold-font); font-weight: 800; font-size: 15px; vertical-align: 2px; }
.nr-lb-cassette { position: absolute; right: 0; top: 104px; width: 118px; margin: 0; transform: rotate(8deg); }
.nr-lb-cassette svg { display: block; width: 100%; height: auto; }
.nr-lb-cassette__shell { fill: var(--nm-ink); }
.nr-lb-cassette__label { fill: var(--nm-cream); }
.nr-lb-cassette__stripe { fill: var(--nm-red); }
.nr-lb-cassette__t { font-family: var(--en-demibold-font); font-weight: 700; font-size: 13px; letter-spacing: .12em; fill: #fff; }
.nr-lb-cassette__window { fill: #2c2c2c; }
.nr-lb-cassette__hub { fill: var(--nm-cream); }
.nr-lb-cassette__teeth { stroke: var(--nm-ink); stroke-width: 5; stroke-linecap: round; }
.nr-lb-cassette__reel { transform-box: fill-box; transform-origin: center; transform: rotate(var(--r, 0deg)); }
.nr-lb-cassette__foot { fill: #2c2c2c; }
.nr-lb-cassette__hole { fill: var(--nm-ink); }
.nr-lb-cassette__cap { display: none; }
@media (min-width: 768px) {
  main[data-page="lab"] .nr-lb-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 0 56px; }
  .nr-lb-hero__en { font-size: clamp(92px, 8.4vw, 124px); }
  .nr-lb-hero__en span:last-child { flex-basis: auto; }
  .nr-lb-hero__about { margin-top: 26px; }
  .nr-lb-cassette { position: relative; right: auto; top: auto; width: clamp(260px, 25vw, 360px); transform: rotate(-6deg); margin-bottom: 30px; }
  .nr-lb-cassette__cap { display: flex; justify-content: space-between; margin-top: 14px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 13px; letter-spacing: .16em; color: var(--nm-ink); }
}

/* ---------- 波形の縁と生成りの棚（見出しと本文の境目） ---------- */
.nr-lb-edge { display: block; width: 100%; height: 72px; margin-top: 44px; }
.nr-lb-edge path { fill: var(--nm-cream); }
.nr-lb-edge--bottom { margin-top: -1px; transform: scaleY(-1); }
main[data-page="lab"] .nr-lb .nr-lb-body { margin-top: -1px; padding: 30px 0 90px; background: var(--nm-cream); }
@media (min-width: 768px) { .nr-lb-edge { height: 120px; margin-top: 64px; } main[data-page="lab"] .nr-lb .nr-lb-body { padding: 40px 0 130px; } }

/* ---------- レコード棚 ---------- */
main[data-page="lab"] .nr-lb-shelf { display: grid; grid-template-columns: 1fr; gap: 64px; margin-top: 0; }
.nr-lb-shelf__head { grid-column: 1 / -1; display: grid; gap: 16px; }
.nr-lb-shelf__side { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; }
.nr-lb-sound { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px 0 12px; border: 2px solid var(--nm-ink); border-radius: 999px; color: var(--nm-ink); font-family: var(--en-demibold-font); font-weight: 600; font-size: 13px; letter-spacing: .1em; cursor: pointer; transition: background-color .3s, color .3s; }
.nr-lb-sound__icon { display: inline-flex; align-items: flex-end; gap: 2px; height: 12px; }
.nr-lb-sound__icon i { display: block; width: 3px; height: 4px; border-radius: 2px; background: currentColor; }
.nr-lb-sound[aria-pressed="true"] { background: var(--nm-ink); color: var(--nm-yellow); }
.nr-lb-sound[aria-pressed="true"] .nr-lb-sound__icon i { height: 100%; transform-origin: bottom; animation: nr-bounce .9s ease-in-out infinite; }
.nr-lb-sound[aria-pressed="true"] .nr-lb-sound__icon i:nth-child(2) { animation-delay: -.3s; } .nr-lb-sound[aria-pressed="true"] .nr-lb-sound__icon i:nth-child(3) { animation-delay: -.6s; }
@media (hover: hover) { .nr-lb-sound:hover { background: var(--nm-ink); color: var(--nm-yellow); } }
.nr-lb-hint { position: fixed; left: 16px; bottom: 16px; z-index: 160; max-width: calc(100% - 32px); margin: 0; padding: 10px 16px; border-radius: 999px; background: var(--nm-ink); color: #fff; font-family: var(--ja-bold-font); font-weight: 700; font-size: 12px; opacity: 0; transform: translateY(16px); pointer-events: none; transition: opacity .3s, transform .4s var(--nr-pop); }
.nr-lb-hint.is-on { opacity: 1; transform: none; }

main[data-page="lab"] .nr-lb-rec { width: auto; }
.nr-lb-rec__sleeve { position: relative; width: 78%; aspect-ratio: 1; }
.nr-lb-rec__jacket { position: absolute; inset: 0; z-index: 1; overflow: hidden; border-radius: 16px; background: #ece5d3; box-shadow: 0 10px 0 rgba(20,20,20,.1); transition: transform .6s var(--nr-pop); }
.nr-lb-rec__jacket img { width: 100%; height: 100%; object-fit: cover; }
.nr-lb-rec__disc { position: absolute; top: 3%; left: 3%; width: 94%; aspect-ratio: 1; z-index: 0; transform: translateX(12%); transition: transform .8s var(--nr-ease); }
.nr-lb-rec__disc span { display: grid; place-items: center; width: 100%; height: 100%; border-radius: 50%; background: radial-gradient(circle, var(--lbl, var(--nm-yellow)) 0 21%, #141414 21.5% 23%, transparent 23.5%), repeating-radial-gradient(circle, #1b1b1b 0 2px, #2c2c2c 2px 4px); font-family: var(--en-demibold-font); font-weight: 800; font-size: 13px; letter-spacing: .08em; color: var(--nm-ink); box-shadow: 0 6px 14px rgba(20,20,20,.2); }
.nr-lb-rec:nth-of-type(2n) .nr-lb-rec__disc span { --lbl: #fff; }
.nr-lb-rec:nth-of-type(3n) .nr-lb-rec__disc span { --lbl: var(--nm-red); color: #fff; }
.nr-lb-rec.is-playing .nr-lb-rec__disc, .nr-lb-rec:focus-within .nr-lb-rec__disc { transform: translateX(32%); }
.nr-lb-rec.is-playing .nr-lb-rec__disc span { animation: nr-lb-spin 1.8s linear infinite; }
@keyframes nr-lb-spin { to { transform: rotate(360deg); } }
@media (hover: hover) {
  .nr-lb-rec:hover .nr-lb-rec__disc { transform: translateX(32%); }
  .nr-lb-rec:hover .nr-lb-rec__disc span { animation: nr-lb-spin 3.6s linear infinite; }
  .nr-lb-rec:hover .nr-lb-rec__jacket { transform: rotate(-2deg) translateY(-4px); }
}
main[data-page="lab"] .nr-lb-rec .nm-detail-date { margin-top: 26px; letter-spacing: .12em; }
main[data-page="lab"] .nr-lb-rec h3 { margin-top: 8px; }
.nr-lb-rec__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 16px 0 0; }
.nr-lb-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.nr-lb-tags span { padding: 4px 10px; border: 1.5px solid var(--nm-ink); border-radius: 999px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .1em; color: var(--nm-ink); }
.nr-lb-play { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 16px 0 12px; border-radius: 999px; background: var(--nm-ink); color: var(--nm-yellow); font-family: var(--ja-bold-font); font-weight: 700; font-size: 12px; letter-spacing: .08em; cursor: pointer; transition: transform .4s var(--nr-pop), background-color .3s, color .3s; }
.nr-lb-play i { width: 0; height: 0; border-left: 8px solid currentColor; border-top: 5px solid transparent; border-bottom: 5px solid transparent; }
.nr-lb-rec.is-playing .nr-lb-play { background: var(--nm-red); color: var(--nm-ink); }
.nr-lb-rec.is-playing .nr-lb-play i { width: 8px; height: 10px; border: 0; border-left: 3px solid currentColor; border-right: 3px solid currentColor; }
@media (hover: hover) { .nr-lb-play:hover { transform: scale(1.06); } }
main[data-page="lab"] .nr-lb-link { width: auto; padding: 0 22px; margin-top: 18px; }
main[data-page="lab"] .nr-lb-link .nm-wrap:before, main[data-page="lab"] .nr-lb-link .nm-wrap:after { display: none; }

/* B面（写真なし）のジャケット：監修28で擬音をやめ、録音した物の線画＋その日の録音メモに */
.nr-lb-art { display: grid; place-items: center; position: relative; }
.nr-lb-art svg { width: 72%; height: auto; fill: none; stroke: currentColor; stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; }
.nr-lb-art .nr-lb-art__sig { stroke-width: 4; opacity: .55; }
.nr-lb-art__memo { position: absolute; left: 10px; right: 10px; bottom: 10px; padding: 5px 8px; border-radius: 8px; background: rgba(255,255,255,.9); color: var(--nm-ink); font-family: var(--ja-bold-font); font-weight: 700; font-size: 12px; letter-spacing: .04em; text-align: center; white-space: nowrap; overflow: hidden; }
.nr-lb-art--hum { background: var(--nm-ink); color: var(--nm-yellow); }
.nr-lb-art--rain { background: repeating-linear-gradient(105deg, transparent 0 16px, rgba(20,20,20,.08) 16px 18px), #e8f0f4; color: var(--nm-ink); }
.nr-lb-art--clock { background: var(--nm-red); color: var(--nm-ink); }
.nr-lb-art--zzz { background: #fff; color: var(--nm-ink); }

@media (min-width: 560px) { main[data-page="lab"] .nr-lb-shelf { grid-template-columns: repeat(2, 1fr); gap: 70px 32px; } }
@media (min-width: 768px) {
  main[data-page="lab"] .nr-lb-shelf { gap: 90px 40px; }
  .nr-lb-shelf__head { margin-bottom: 10px; }
}
@media (min-width: 1100px) {
  main[data-page="lab"] .nr-lb-shelf { grid-template-columns: repeat(4, 1fr); gap: 100px 36px; }
  main[data-page="lab"] .nr-lb-rec:nth-of-type(4n+2) { margin-top: 60px; }
  main[data-page="lab"] .nr-lb-rec:nth-of-type(4n+4) { margin-top: 30px; }
}

@media (prefers-reduced-motion: reduce) {
  .nr-lb-rec__disc span, .nr-lb-sound__icon i { animation: none !important; }
}

/* ---------- 監修1周目：文字の最小サイズ（SP 12px・PC 14px を下回らない） ---------- */
@media (min-width: 768px) {
  .nr-lb-cassette__cap, .nr-lb-sound, .nr-lb-rec__disc span, .nr-lb-tags span, .nr-lb-play, .nr-lb-art__memo { font-size: 14px; }
  main[data-page="lab"] .nr-lb-link .nm-view, main[data-page="lab"] .nr-lb-link .nm-hover { font-size: 14px; }
}
/* 2026-10-12 大串『写真で顔が隠れちゃってる』：4:3 の写真を正方形に切るので端の2人の顔が半分ずつ切れていた。右へ寄せて右端の子の顔を丸ごと入れ、左端の子の顔は完全に外す */
.nr-lb-rec__jacket img[src*="/l-04."] { object-position: 62% 50%; }

/* ---- member-detail.css ---- */
/* member-detail（/members/sample/）｜制作役B｜範囲は main[data-page="member-detail"] と nr-md- のクラスだけ */

/* ---------- 上：アーティストの顔 ---------- */
main[data-page="member-detail"] .nr-md-main.nm-main-container { align-items: flex-start; }
@media (min-width: 768px) { main[data-page="member-detail"] .nr-md-main.nm-main-container { gap: 0 72px; max-width: 1180px; } }
main[data-page="member-detail"] .nr-md-photo.nm-image-14 { position: relative; width: 220px; }
@media (min-width: 768px) { main[data-page="member-detail"] .nr-md-photo.nm-image-14 { width: 360px; flex: none; position: sticky; top: 120px; } }
.nr-md-photo .nm-container-18 { aspect-ratio: 3 / 4; border-radius: 50% 50% 26px 26px / 30% 30% 26px 26px; overflow: hidden; background: #7d9a78; }
.nr-md-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.nr-md-photo img[data-ph] { mix-blend-mode: multiply; }
.nr-md-photo__tag { position: absolute; right: -12px; bottom: 28px; display: inline-grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--nm-ink); color: var(--nm-yellow); font-family: var(--ja-bold-font); font-weight: 700; font-size: 15px; transform: rotate(-10deg); animation: nr-md-wobble 3.4s ease-in-out infinite; }
@keyframes nr-md-wobble { 50% { transform: rotate(6deg) translateY(-4px); } }
@media (min-width: 768px) { .nr-md-photo__tag { width: 84px; height: 84px; font-size: 18px; right: -24px; } }
.nr-md-kicker { margin-bottom: 10px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .16em; color: var(--nm-ink); }
main[data-page="member-detail"] .nm-header-sub { flex-direction: row; align-items: center; gap: 14px; margin-top: 14px; }
main[data-page="member-detail"] .nm-occupation { padding: 4px 12px; border: 1.5px solid #fff; border-radius: 999px; }
.nr-md-pin svg { width: 12px; height: 16px; overflow: visible; }
.nr-md-pin path { fill: #fff; }
.nr-md-pin circle { fill: var(--nm-yellow); }
main[data-page="member-detail"] .nr-md-pin.nm-map-icon { width: 12px; }
.nr-md-tags.nm-link-list { flex-wrap: wrap; gap: 8px; margin-top: 18px; }
@media (min-width: 768px) { .nr-md-tags.nm-link-list { margin-top: 0; } }
.nr-md-tags li { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px 6px 6px; border-radius: 999px; background: rgba(255,255,255,.28); font-family: var(--ja-bold-font); font-weight: 700; font-size: 12px; color: var(--nm-ink); }
.nr-md-tags li span { padding: 3px 8px; border-radius: 999px; background: var(--nm-ink); color: var(--nm-yellow); font-family: var(--en-demibold-font); font-weight: 600; font-size: 9px; letter-spacing: .14em; }
main[data-page="member-detail"] .nm-text-3 { margin-top: 32px; max-width: 620px; }
@media (min-width: 768px) { main[data-page="member-detail"] .nm-text-3 { margin-top: 44px; } }

/* 名刺がわりの3秒 */
.nr-md-player { display: flex; align-items: center; gap: 16px; max-width: 520px; margin-top: 32px; padding: 14px 20px 14px 14px; border-radius: 999px; background: var(--nm-ink); }
.nr-md-player__btn { flex: none; position: relative; display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: var(--nm-yellow); cursor: pointer; transition: transform .45s var(--nr-pop); }
.nr-md-player__btn i { display: block; margin-left: 4px; border-style: solid; border-width: 9px 0 9px 14px; border-color: transparent transparent transparent var(--nm-ink); }
.nr-md-player.is-playing .nr-md-player__btn i { margin: 0; width: 14px; height: 16px; border: 0; background: linear-gradient(90deg, var(--nm-ink) 0 35%, transparent 35% 65%, var(--nm-ink) 65%); }
@media (hover: hover) { .nr-md-player__btn:hover { transform: scale(1.08) rotate(-6deg); } }
.nr-md-player__body { flex: 1; min-width: 0; }
.nr-md-player__title { display: flex; justify-content: space-between; gap: 10px; color: #fff; }
.nr-md-player__title b { font-family: var(--ja-bold-font); font-weight: 700; font-size: 13px; letter-spacing: .04em; }
.nr-md-player__title span { font-family: var(--en-demibold-font); font-weight: 600; font-size: 10px; letter-spacing: .1em; color: rgba(255,255,255,.5); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nr-md-player__bar { position: relative; display: block; height: 22px; margin: 8px 0 4px; }
.nr-md-player__wave, .nr-md-player__fill { position: absolute; inset: 0; -webkit-mask: var(--wave) center / 100% 100% no-repeat; mask: var(--wave) center / 100% 100% no-repeat; }
.nr-md-player__wave { background: rgba(255,255,255,.3); }
.nr-md-player__fill { background: var(--nm-yellow); clip-path: inset(0 calc((1 - var(--pg, 0)) * 100%) 0 0); }
.nr-md-player__time { display: flex; justify-content: space-between; font-family: var(--en-demibold-font); font-weight: 600; font-size: 10px; letter-spacing: .08em; color: rgba(255,255,255,.55); font-variant-numeric: tabular-nums; }

/* ---------- 棚（区切り線＋見出し） ---------- */
main[data-page="member-detail"] .nr-md-sec.nm-featured-works { margin-top: 80px; padding-top: 28px; }
@media (min-width: 768px) { main[data-page="member-detail"] .nr-md-sec.nm-featured-works { margin-top: 130px; padding-top: 36px; } }
.nr-md-sec__lead { margin-top: 8px; }

/* 好きな音ベスト5 */
.nr-md-chart { margin-top: 28px; border-top: 2px solid var(--nm-ink); }
.nr-md-chart li { border-bottom: 2px solid var(--nm-ink); }
.nr-md-chart button { position: relative; display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 4px 14px; width: 100%; padding: 18px 4px; text-align: left; color: var(--nm-ink); cursor: pointer; isolation: isolate; }
.nr-md-chart button:before { content: ""; position: absolute; inset: 0; z-index: -1; background: #fff; transform: scaleX(0); transform-origin: left; transition: transform .5s var(--nr-ease); }
.nr-md-chart__rank { font-family: var(--en-demibold-font); font-weight: 600; font-size: 30px; line-height: 1; letter-spacing: -.02em; }
.nr-md-chart__name b { display: block; font-family: var(--ja-bold-font); font-weight: 700; font-size: 15px; line-height: 1.5; letter-spacing: .03em; }
.nr-md-chart__name small { display: block; margin-top: 2px; font-family: var(--ja-regular-font); font-size: 11px; color: #6b5a1c; }
.nr-md-chart__wave { display: none; height: 22px; background: var(--nm-ink); opacity: .35; -webkit-mask: var(--wave) center / 100% 100% no-repeat; mask: var(--wave) center / 100% 100% no-repeat; transition: opacity .3s; }
.nr-md-chart__len { font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .08em; font-variant-numeric: tabular-nums; }
.nr-md-chart button.is-on:before { transform: scaleX(1); }
.nr-md-chart button.is-on .nr-md-chart__wave { opacity: 1; }
.nr-md-chart button.is-on .nr-md-chart__rank { color: var(--nm-red); }
@media (hover: hover) { .nr-md-chart button:hover:before { transform: scaleX(1); } .nr-md-chart button:hover .nr-md-chart__wave { opacity: .8; } }
@media (min-width: 768px) {
  .nr-md-chart button { grid-template-columns: 70px 1.2fr 1fr 70px; gap: 24px; padding: 24px 12px; }
  .nr-md-chart__rank { font-size: 44px; }
  .nr-md-chart__name b { font-size: 20px; }
  .nr-md-chart__name small { font-size: 12px; }
  .nr-md-chart__wave { display: block; }
  .nr-md-chart__len { text-align: right; font-size: 13px; }
}

/* 最近録った音 */
.nr-md-files { display: grid; gap: 14px; margin-top: 28px; }
.nr-md-files li { display: grid; grid-template-columns: 1fr auto; gap: 8px 16px; padding: 20px 20px 18px; border-radius: 22px; background: var(--nm-cream); color: var(--nm-ink); transition: transform .5s var(--nr-pop); }
.nr-md-files__name { grid-column: 1 / -1; display: inline-flex; align-items: center; gap: 8px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 11px; letter-spacing: .1em; color: #8a7a4a; }
.nr-md-files__name:before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--nm-red); }
.nr-md-files p { grid-column: 1 / -1; font-family: var(--ja-bold-font); font-weight: 700; font-size: 15px; line-height: 1.6; letter-spacing: .03em; }
.nr-md-files__wave { align-self: center; height: 30px; background: var(--nm-ink); -webkit-mask: var(--wave) center / 100% 100% no-repeat; mask: var(--wave) center / 100% 100% no-repeat; }
.nr-md-files__meta { font-family: var(--en-demibold-font); font-weight: 600; font-size: 11px; line-height: 1.6; letter-spacing: .08em; text-align: right; font-variant-numeric: tabular-nums; }
@media (hover: hover) { .nr-md-files li:hover { transform: translateY(-4px) rotate(-.6deg); } }
@media (min-width: 768px) {
  .nr-md-files { grid-template-columns: repeat(3, 1fr); gap: 24px; }
  .nr-md-files li { grid-template-rows: auto 1fr auto; padding: 24px 24px 22px; }
  .nr-md-files p { font-size: 17px; margin-bottom: 10px; }
}

/* 1日の流れ（トラック） */
.nr-md-day { margin-top: 28px; }
.nr-md-day li { display: grid; grid-template-columns: 58px 1fr; gap: 6px 14px; padding: 14px 0; border-bottom: 1.5px dashed rgba(255,255,255,.75); }
.nr-md-day time { grid-row: span 2; font-family: var(--en-demibold-font); font-weight: 600; font-size: 15px; letter-spacing: .02em; color: var(--nm-ink); font-variant-numeric: tabular-nums; padding-top: 2px; }
.nr-md-day p { font-family: var(--ja-bold-font); font-weight: 700; font-size: 14px; line-height: 1.6; letter-spacing: .03em; color: #fff; transition: color .3s; }
.nr-md-day__track { position: relative; display: block; height: 14px; border-radius: 4px; background: rgba(20,20,20,.08); }
.nr-md-day__track i { position: absolute; top: 0; bottom: 0; left: calc(var(--s) * 100%); width: max(8px, calc(var(--w) * 100%)); border-radius: 4px; background: rgba(255,255,255,.85); transition: background-color .3s; }
.nr-md-day__track:after { content: ""; position: absolute; top: -8px; bottom: -8px; left: calc(var(--ph, 0) * 100%); width: 2px; margin-left: -1px; background: var(--nm-red); }
.nr-md-day li.is-now p { color: var(--nm-ink); }
.nr-md-day li.is-now .nr-md-day__track i { background: var(--nm-ink); }
@media (min-width: 768px) {
  .nr-md-day li { grid-template-columns: 90px minmax(0, 1fr) minmax(0, 1.25fr); align-items: center; gap: 24px; padding: 18px 0; }
  .nr-md-day time { grid-row: auto; font-size: 20px; padding-top: 0; }
  .nr-md-day p { font-size: 17px; }
  .nr-md-day__track { height: 18px; }
}

/* 担当した事例 */
.nr-md-works.nm-featured-works-body { margin-top: 30px; }
.nr-md-works img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 18px; }
.nr-md-works__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .08em; color: #fff; font-variant-numeric: tabular-nums; }
.nr-md-works__meta span { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--nm-ink); color: var(--nm-yellow); font-size: 10px; transition: transform .5s var(--nr-pop); }
.nr-md-works__meta em { font-style: normal; padding: 3px 9px; border: 1.5px solid #fff; border-radius: 999px; font-family: var(--ja-bold-font); font-weight: 700; font-size: 10px; letter-spacing: .04em; }
@media (hover: hover) { .nr-md-works a:hover .nr-md-works__meta span { transform: rotate(-14deg) scale(1.12); } }
@media (max-width: 767px) { .nr-md-works .nm-featured-works-detail:last-child { width: 100%; } }

/* ---------- ほかのメンバー ---------- */
main[data-page="member-detail"] .nr-md-foot.nm-footer-2 { width: auto; max-width: 560px; margin-top: 90px; text-align: center; }
@media (min-width: 768px) { main[data-page="member-detail"] .nr-md-foot.nm-footer-2 { margin-top: 150px; } }
.nr-md-band { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 18px 0 44px; }
.nr-md-band a { position: relative; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--c); border: 3px solid #fff; color: #fff; font-family: var(--ja-bold-font); font-weight: 700; font-size: 17px; transition: transform .45s var(--nr-pop), border-radius .45s var(--nr-ease); }
.nr-md-band a.is-on, .nr-md-band a:focus-visible { transform: translateY(-8px) scale(1.12); border-radius: 40% 40% 50% 50%; }
@media (hover: hover) { .nr-md-band a:hover { transform: translateY(-8px) scale(1.12); border-radius: 40% 40% 50% 50%; } }
@media (min-width: 768px) { .nr-md-band { gap: 14px; } .nr-md-band a { width: 62px; height: 62px; font-size: 19px; } }
main[data-page="member-detail"] .nr-md-foot .nm-page-button-list { justify-content: center; }
.nr-md-prev [data-icon-type="prev"] svg { transform: scaleX(-1); }

@media (prefers-reduced-motion: reduce) {
  .nr-md-photo__tag { animation: none !important; }
}

/* ===================== 監修1周目の直し（2026-10-07） ===================== */
.nr-md-nw { white-space: nowrap; }
/* 黄色の地の上は墨。白は墨の地・写真の上だけ */
main[data-page="member-detail"] .nm-occupation { border-color: var(--nm-ink); }
.nr-md-pin path { fill: var(--nm-ink); }
.nr-md-tags li { background: rgba(255,255,255,.45); }
.nr-md-day li { border-bottom-color: rgba(20,20,20,.22); }
.nr-md-day p { color: #4a4436; }
.nr-md-day__track i { background: rgba(20,20,20,.28); }
.nr-md-works__meta { color: var(--nm-ink); }
.nr-md-works__meta em { border-color: var(--nm-ink); }
.nr-md-band a { border-color: var(--nm-ink); }
/* 文字の大きさ：SP 12px／PC 14px 以上 */
.nr-md-tags li span { font-size: 12px; }
.nr-md-player__title b { font-size: 14px; }
.nr-md-player__title span, .nr-md-player__time { font-size: 12px; }
.nr-md-chart__name small { font-size: 12px; }
.nr-md-files__name, .nr-md-files__meta { font-size: 12px; }
.nr-md-works__meta span, .nr-md-works__meta em { font-size: 12px; }
.nr-md-works__meta span { width: 34px; height: 34px; }
@media (min-width: 768px) {
  .nr-md-kicker, .nr-md-tags li, .nr-md-tags li span { font-size: 14px; }
  .nr-md-player__title b { font-size: 15px; }
  .nr-md-player__title span, .nr-md-player__time { font-size: 14px; }
  .nr-md-chart__name small, .nr-md-chart__len { font-size: 14px; }
  .nr-md-files__name, .nr-md-files__meta { font-size: 14px; }
  .nr-md-works__meta, .nr-md-works__meta span, .nr-md-works__meta em { font-size: 14px; }
  .nr-md-works__meta span { width: 40px; height: 40px; }
}
/* 43：SP の担当事例は1列、OTHER MEMBERS は 4＋3 */
@media (max-width: 767px) {
  main[data-page="member-detail"] .nr-md-works .nm-featured-works-detail { width: 100%; }
  .nr-md-band { max-width: 238px; margin-left: auto; margin-right: auto; }
}

/* ===================== 初見監修 L6（2026-10-07）：左に人物・右に大きな名前 → 名前を写真の下端に半分かぶせる ===================== */
main[data-page="member-detail"] .nr-md.nm-container-71 { padding-top: 112px; }
main[data-page="member-detail"] .nr-md-main.nm-main-container {
  display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "photo" "name" "head" "info"; align-items: start; gap: 0;
}
main[data-page="member-detail"] .nr-md-photo.nm-image-14 { grid-area: photo; position: relative; top: auto; width: 230px; }
.nr-md-head { grid-area: head; margin-top: 18px; }
main[data-page="member-detail"] .nr-md-info.nm-main-2 { grid-area: info; margin-top: 0; min-width: 0; }
main[data-page="member-detail"] .nr-md-name {
  grid-area: name; position: relative; z-index: 2; margin: -.62em 0 0 14px; font-size: 56px; line-height: 1; letter-spacing: -.03em; white-space: nowrap; color: var(--nm-ink);
  -webkit-text-stroke: 10px var(--nm-yellow); paint-order: stroke fill;
}
.nr-md-photo__tag { top: 22px; bottom: auto; }
main[data-page="member-detail"] .nr-md-head .nm-header-sub { margin-top: 6px; }
@media (min-width: 768px) {
  main[data-page="member-detail"] .nr-md.nm-container-71 { padding-top: 128px; }
  main[data-page="member-detail"] .nr-md-main.nm-main-container {
    grid-template-columns: 360px minmax(0, 1fr); grid-template-rows: auto 1fr auto; grid-template-areas: "photo head" "photo info" "name name"; gap: 0 72px;
  }
  main[data-page="member-detail"] .nr-md-photo.nm-image-14 { width: 360px; position: relative; top: auto; }
  .nr-md-head { margin-top: 6px; }
  main[data-page="member-detail"] .nr-md-head .nm-header-sub { margin-top: 10px; }
  main[data-page="member-detail"] .nr-md-info .nm-text-3 { margin-top: 28px; }
  main[data-page="member-detail"] .nr-md-name { margin: -.54em 0 0 36px; font-size: clamp(88px, 10.6vw, 152px); -webkit-text-stroke: 18px var(--nm-yellow); }
  .nr-md-photo__tag { top: 30px; }
}

/* ---- members.css ---- */
/* members（/members/）｜制作役B｜範囲は main[data-page="members"] と nr-mb- のクラスだけ */
/* 監修1周目：右上の円をやめて、見出しの下にミキサー（8本のフェーダーに8人の名前）。カードは2列（SP 1列）の横長に */

.nr-mb-head .nr-h__eq { margin-right: .5em; height: .8em; }
main[data-page="members"] .nr-mb-head .nm-container-21 > h2 br { display: inline; }

/* ---------- ミキサーの卓 ---------- */
.nr-mb-desk { width: 85%; max-width: 1060px; margin: 44px auto 0; padding: 18px 12px 16px; border-radius: 26px; background: linear-gradient(180deg, #232323, var(--nm-ink) 40%); box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 40px rgba(20,20,20,.18); color: #fff; }
.nr-mb-desk__top { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; padding: 0 4px 16px; border-bottom: 1px solid rgba(255,255,255,.12); }
.nr-mb-desk__title { font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .16em; color: rgba(255,255,255,.6); }
.nr-mb-desk__title b { color: var(--nm-yellow); font-weight: 600; margin-right: 4px; }
.nr-mb-count { flex: 1 1 auto; font-family: var(--ja-bold-font); font-weight: 700; font-size: 12px; letter-spacing: .04em; color: rgba(255,255,255,.8); }
.nr-mb-play { display: inline-flex; align-items: center; gap: 10px; height: 46px; padding: 0 18px 0 6px; border-radius: 999px; background: var(--nm-yellow); color: var(--nm-ink); font-family: var(--ja-bold-font); font-weight: 700; font-size: 14px; letter-spacing: .06em; cursor: pointer; transition: transform .5s var(--nr-pop), background-color .3s; }
.nr-mb-play__icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--nm-ink); }
.nr-mb-play__icon:before { content: ""; margin-left: 3px; border-style: solid; border-width: 6px 0 6px 10px; border-color: transparent transparent transparent var(--nm-yellow); }
.nr-mb-play[aria-pressed="true"] { background: #fff; }
.nr-mb-play[aria-pressed="true"] .nr-mb-play__icon:before { margin: 0; width: 10px; height: 11px; border: 0; background: linear-gradient(90deg, var(--nm-yellow) 0 35%, transparent 35% 65%, var(--nm-yellow) 65%); }
@media (hover: hover) { .nr-mb-play:hover { transform: scale(1.04) rotate(-1deg); } }

.nr-mb-chs { display: grid; grid-template-columns: repeat(8, 1fr); gap: 4px; margin-top: 14px; }
.nr-mb-ch { --on: 0; }
.nr-mb-ch.is-on { --on: 1; }
.nr-mb-ch__a { display: flex; flex-direction: column; align-items: center; gap: 10px; height: 100%; padding: 10px 0 14px; border-top: 4px solid var(--c); border-radius: 6px 6px 12px 12px; background: rgba(255,255,255,calc(.03 + var(--on) * .08)); transition: background-color .3s; }
.nr-mb-ch__no { font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .02em; color: rgba(255,255,255,.6); white-space: nowrap; }
.nr-mb-ch__led { width: 8px; height: 8px; border-radius: 50%; background: #3b3b3b; transition: background-color .2s, box-shadow .2s; }
.nr-mb-ch.is-on .nr-mb-ch__led { background: var(--nm-yellow); box-shadow: 0 0 10px 2px rgba(255,198,42,.7); }
.nr-mb-ch__knob { position: relative; display: none; width: 28px; height: 28px; border-radius: 50%; border: 2px solid rgba(255,255,255,.3); background: #2a2a2a; transform: rotate(calc(-130deg + var(--lv) * 260deg)); transition: transform .6s var(--nr-ease); }
.nr-mb-ch__knob:before { content: ""; position: absolute; left: 50%; top: 3px; width: 2px; height: 8px; margin-left: -1px; border-radius: 1px; background: #fff; }
.nr-mb-ch__fader { position: relative; display: block; width: 6px; height: 128px; border-radius: 3px; background: linear-gradient(to top, var(--c) calc(var(--lv) * 100%), rgba(255,255,255,.14) 0); }
.nr-mb-ch.is-on .nr-mb-ch__fader { --lv: .96; }
.nr-mb-ch__fader i { position: absolute; left: 50%; bottom: calc(var(--lv) * (100% - 14px)); width: 24px; height: 14px; margin-left: -12px; border-radius: 4px; background: linear-gradient(180deg, #fbfaf6 0 45%, #2b2b2b 45% 55%, #e9e4d6 55%); box-shadow: 0 3px 6px rgba(0,0,0,.4); transition: bottom .55s var(--nr-ease); }
.nr-mb-ch.is-on .nr-mb-ch__fader i { background: linear-gradient(180deg, var(--nm-yellow) 0 45%, #2b2b2b 45% 55%, #e9ac10 55%); }
.nr-mb-ch__name { writing-mode: vertical-rl; font-family: var(--ja-bold-font); font-weight: 700; font-size: 14px; line-height: 1.2; letter-spacing: .14em; color: #fff; white-space: nowrap; }
.nr-mb-ch__part { display: none; font-family: var(--ja-bold-font); font-weight: 700; font-size: 14px; line-height: 1.4; text-align: center; color: rgba(255,255,255,.62); }
.nr-mb-master { display: none; }
@media (hover: hover) { .nr-mb-ch__a:hover { background: rgba(255,255,255,.11); } }

@media (min-width: 768px) {
  .nr-mb-desk { margin-top: 64px; padding: 26px 26px 24px; border-radius: 34px; }
  .nr-mb-desk__top { padding: 0 6px 20px; gap: 12px 24px; }
  .nr-mb-desk__title, .nr-mb-count { font-size: 14px; }
  .nr-mb-play { height: 52px; font-size: 15px; padding-right: 22px; }
  .nr-mb-chs { grid-template-columns: repeat(8, 1fr) .9fr; gap: 8px; margin-top: 20px; }
  .nr-mb-ch__a { gap: 14px; padding: 14px 6px 18px; border-top-width: 5px; }
  .nr-mb-ch__no { font-size: 14px; }
  .nr-mb-ch__knob { display: block; }
  .nr-mb-ch__fader { height: 200px; width: 8px; }
  .nr-mb-ch__fader i { width: 34px; height: 16px; margin-left: -17px; }
  .nr-mb-ch__name { font-size: 18px; }
  .nr-mb-ch__part { display: block; }
  .nr-mb-master { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 19px 0 18px; border-radius: 12px; background: rgba(255,255,255,.04); }
  .nr-mb-master__meter { display: flex; gap: 6px; height: 100%; min-height: 200px; }
  .nr-mb-master__meter i { width: 10px; border-radius: 3px; background: linear-gradient(to top, #6fbf73 0 60%, var(--nm-yellow) 60% 85%, var(--nm-red) 85%); -webkit-mask: linear-gradient(to top, #000 calc(var(--m, .12) * 100%), rgba(0,0,0,.14) 0); mask: linear-gradient(to top, #000 calc(var(--m, .12) * 100%), rgba(0,0,0,.14) 0); transition: -webkit-mask .2s, mask .2s; }
}
@media (min-width: 1200px) { .nr-mb-ch__part { font-size: 14px; } }

/* ---------- 8人のカード（横長・2列／SP 1列） ---------- */
main[data-page="members"] .nr-mb-grid.nm-body-10 { display: grid; grid-template-columns: 1fr; gap: 18px; width: 85%; max-width: 1060px; margin: 56px auto 0; }
@media (min-width: 768px) { main[data-page="members"] .nr-mb-grid.nm-body-10 { grid-template-columns: repeat(2, 1fr); gap: 28px; margin-top: 80px; } }
main[data-page="members"] .nr-mb-card.nm-article { max-width: none; width: auto; margin: 0; scroll-margin-top: 110px; }
.nr-mb-card .nm-article-link { display: grid; grid-template-columns: 36% 1fr; gap: 14px; height: 100%; padding: 10px; border-radius: 24px; background: var(--nm-cream); color: var(--nm-ink); box-shadow: 0 0 0 0 var(--nm-ink); transition: transform .5s var(--nr-pop), box-shadow .3s; }
.nr-mb-card.is-on .nm-article-link { transform: translateY(-4px); box-shadow: 0 0 0 3px var(--nm-ink); }
.nr-mb-card .nm-image-13 { position: relative; align-self: start; aspect-ratio: 3 / 4; border-radius: 16px; overflow: hidden; background: var(--c); transition: border-radius .7s var(--nr-ease); }
.nr-mb-card .nm-image-13 .nm-container-18, .nr-mb-card .nm-image-13 img { width: 100%; height: 100%; }
.nr-mb-card .nm-image-13 img { display: block; object-fit: cover; transition: transform .7s var(--nr-ease); }
.nr-mb-card img[data-ph] { mix-blend-mode: multiply; }
@media (hover: hover) {
  .nr-mb-card .nm-article-link:hover .nm-image-13 { border-radius: 50% 50% 16px 16px / 26% 26% 16px 16px; }
  .nr-mb-card .nm-article-link:hover .nm-image-13 img { transform: scale(1.07); }
}
.nr-mb-eq { position: absolute; z-index: 2; left: 10px; right: 10px; bottom: 10px; display: flex; align-items: flex-end; justify-content: space-between; height: 34%; pointer-events: none; }
.nr-mb-eq i { display: block; width: 10%; height: 100%; border-radius: 5px 5px 2px 2px; background: rgba(255,255,255,.92); transform-origin: bottom; transform: scaleY(0); }
.nr-mb-card.is-on .nr-mb-eq i { animation: nr-mb-eq .42s ease-in-out infinite alternate; }
.nr-mb-card.is-on .nr-mb-eq i:nth-child(2) { animation-delay: -.12s; } .nr-mb-card.is-on .nr-mb-eq i:nth-child(3) { animation-delay: -.3s; } .nr-mb-card.is-on .nr-mb-eq i:nth-child(4) { animation-delay: -.05s; }
.nr-mb-card.is-on .nr-mb-eq i:nth-child(5) { animation-delay: -.22s; } .nr-mb-card.is-on .nr-mb-eq i:nth-child(6) { animation-delay: -.36s; } .nr-mb-card.is-on .nr-mb-eq i:nth-child(7) { animation-delay: -.16s; }
@keyframes nr-mb-eq { from { transform: scaleY(.12); } to { transform: scaleY(var(--pk, .8)); } }
.nr-mb-eq i:nth-child(odd) { --pk: .55; } .nr-mb-eq i:nth-child(3n) { --pk: 1; }

.nr-mb-info { display: flex; flex-direction: column; min-width: 0; padding: 4px 4px 4px 0; }
.nr-mb-tag { display: flex; flex-wrap: wrap; gap: 6px; }
.nr-mb-tag span { display: inline-grid; place-items: center; height: 26px; padding: 0 10px; border-radius: 999px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .06em; }
.nr-mb-tag__ch { background: var(--nm-ink); color: var(--nm-yellow); }
.nr-mb-tag__note { border: 1.5px solid var(--nm-ink); color: var(--nm-ink); font-family: var(--ja-bold-font) !important; font-weight: 700 !important; transition: transform .45s var(--nr-pop), background-color .3s; }
.nr-mb-card.is-on .nr-mb-tag__note { background: var(--nm-yellow); transform: rotate(-8deg) scale(1.1); }
main[data-page="members"] .nr-mb-card .nm-title-3 { margin-top: 12px; }
.nr-mb-card .nr-mb-en { margin-top: 2px; opacity: .75; }
.nr-mb-meta { display: grid; gap: 4px; margin-top: 12px; }
.nr-mb-meta div { display: flex; gap: 8px; align-items: baseline; }
.nr-mb-meta dt { flex: none; width: 3.2em; font-family: var(--ja-bold-font); font-weight: 700; font-size: 12px; letter-spacing: .06em; color: #5a5852; }
.nr-mb-meta dd { font-family: var(--ja-bold-font); font-weight: 700; font-size: 14px; line-height: 1.5; letter-spacing: .02em; }
.nr-mb-quip { margin-top: 12px; padding-top: 10px; border-top: 1.5px dashed rgba(20,20,20,.25); font-family: var(--ja-bold-font); font-weight: 700; font-size: 14px; line-height: 1.6; letter-spacing: .02em; }
.nr-mb-more { display: inline-flex; align-items: center; gap: 8px; align-self: flex-end; margin-top: auto; padding-top: 10px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .14em; }
.nr-mb-more i { position: relative; width: 28px; height: 28px; border-radius: 50%; background: var(--nm-ink); transition: transform .5s var(--nr-pop); }
.nr-mb-more i:before { content: ""; position: absolute; left: 50%; top: 50%; width: 7px; height: 7px; margin: -4px 0 0 -5px; border-top: 2px solid var(--nm-yellow); border-right: 2px solid var(--nm-yellow); transform: rotate(45deg); }
@media (hover: hover) { .nr-mb-card .nm-article-link:hover .nr-mb-more i { transform: translateX(4px); } }
@media (min-width: 768px) {
  .nr-mb-card .nm-article-link { grid-template-columns: 40% 1fr; gap: 24px; padding: 14px; border-radius: 30px; }
  .nr-mb-card .nm-image-13 { border-radius: 20px; }
  .nr-mb-info { padding: 8px 8px 6px 0; }
  .nr-mb-tag span { height: 30px; font-size: 14px; padding: 0 12px; }
  .nr-mb-meta { margin-top: 16px; gap: 6px; }
  .nr-mb-meta dt { font-size: 14px; }
  .nr-mb-meta dd { font-size: 15px; }
  .nr-mb-quip { margin-top: 16px; padding-top: 14px; font-size: 16px; }
  .nr-mb-more { font-size: 14px; }
  .nr-mb-more i { width: 32px; height: 32px; }
}

/* ---------- 末尾 ---------- */
.nr-mb-foot { margin: 100px auto 0; width: 85%; max-width: 1060px; padding-top: 28px; border-top: 2px solid var(--nm-ink); }
.nr-mb-foot .nm-t + .nm-t { margin-top: 8px; opacity: .85; }
@media (min-width: 768px) { .nr-mb-foot { margin-top: 160px; } }

@media (prefers-reduced-motion: reduce) {
  .nr-mb-card.is-on .nr-mb-eq i { animation: none !important; transform: scaleY(.6); }
  .nr-mb-ch__fader i, .nr-mb-ch__knob, .nr-mb-card .nm-article-link { transition: none; }
}

/* SP：チャンネル番号は数字だけ・肩書とパートは見出しの下に置いて幅を取る */
.nr-mb-meta dd { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 767px) {
  .nr-mb-ch__cx { display: none; }
  .nr-mb-meta { gap: 8px; }
  .nr-mb-meta div { display: block; }
  .nr-mb-meta dt { width: auto; line-height: 1.4; }
}
.nr-mb-desk { background-color: var(--nm-ink); }

/* ===================== 初見監修 H4（2026-10-07）：最初の画面の構図を作り直す ===================== */
/* 小さなラベル＋本文サイズの2行 → 左寄せの大きな MEMBERS、2行は右の段（SP は下）。ミキサーは見出しの直下（PC y≈300） */
main[data-page="members"] .nr-mb.nm-container-70 { padding-top: 112px; }
main[data-page="members"] .nr-mb-head.nm-container-26 { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; width: 85%; max-width: 1060px; margin: 0 auto; }
.nr-mb-head__en { display: flex; align-items: center; margin: 0; font-family: var(--en-demibold-font); font-weight: 800; font-size: clamp(48px, 14vw, 58px); line-height: .9; letter-spacing: -.035em; color: var(--nm-ink); white-space: nowrap; }
.nr-mb-head__en .nr-h__eq { height: .5em; margin-right: .16em; }
main[data-page="members"] .nr-mb-head__h br { display: inline; }
main[data-page="members"] .nr-mb-desk { margin-top: 28px; }
@media (min-width: 768px) {
  main[data-page="members"] .nr-mb.nm-container-70 { padding-top: 112px; }
  .nr-mb-head__en { font-size: clamp(88px, 10vw, 124px); }
  main[data-page="members"] .nr-mb-desk { margin-top: 30px; }
}
@media (min-width: 1100px) {
  main[data-page="members"] .nr-mb-head.nm-container-26 { grid-template-columns: auto minmax(0, 1fr); align-items: end; gap: 0 40px; }
  main[data-page="members"] .nr-mb-head__h { padding-bottom: 4px; justify-self: end; text-align: left; }
}

/* ---- privacy.css ---- */
/* プライバシーポリシー（privacy）｜制作役D。範囲は main[data-page="privacy"] と nr-pv- に限る */
main[data-page="privacy"] .nr-pv { overflow: clip; padding-top: 170px; }
main[data-page="privacy"] .nr-nw { white-space: nowrap; }
.nr-pv-no i, .nr-pv-toc a span i { font-style: normal; }
.nr-pv-toc a b { font-weight: inherit; }
@media (min-width: 768px) { main[data-page="privacy"] .nr-pv { padding-top: 250px; } }

/* ---------- 見出し ---------- */
main[data-page="privacy"] .nr-pv-inner { width: 88%; max-width: 1180px; }
.nr-pv-head { display: grid; justify-items: center; gap: 14px; }
.nr-pv-meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 8px 0 0; }
.nr-pv-meta span { padding: 5px 12px; border: 1.5px solid var(--nm-ink); border-radius: 999px; color: var(--nm-ink); font-family: var(--ja-bold-font); font-weight: 700; font-size: 11px; letter-spacing: .06em; }
/* 見出しの下：横の音量フェーダー（監修1周目・円の飾りの置き換え）。つまみは読み進めた分だけ右へ */
.nr-pv-fader { display: flex; align-items: center; gap: 14px; width: 100%; max-width: 460px; margin-top: 18px; padding: 12px 18px; border-radius: 16px; background: var(--nm-ink); }
.nr-pv-fader__lbl, .nr-pv-fader__val { flex: none; font-family: var(--en-demibold-font); font-weight: 700; font-size: 12px; letter-spacing: .14em; color: #fff; }
.nr-pv-fader__val { width: 3.4em; text-align: right; color: var(--nm-yellow); font-variant-numeric: tabular-nums; }
.nr-pv-fader__track { position: relative; flex: 1; height: 8px; border-radius: 4px; background: repeating-linear-gradient(90deg, rgba(255,255,255,.35) 0 2px, transparent 2px 10%) 0 14px / 100% 6px no-repeat, #3a3a3a; }
.nr-pv-fader__fill { position: absolute; left: 0; top: 0; bottom: 0; width: calc(var(--rp, 0) * 100%); border-radius: 4px; background: var(--nm-yellow); }
.nr-pv-fader__knob { position: absolute; top: 50%; left: calc(var(--rp, 0) * 100%); width: 22px; height: 34px; margin: -17px 0 0 -11px; border-radius: 6px; background: linear-gradient(#f4f1e8 0 46%, var(--nm-red) 46% 54%, #f4f1e8 54%); box-shadow: 0 3px 0 rgba(0,0,0,.35); }
@media (min-width: 768px) { .nr-pv-fader { margin-top: 26px; padding: 14px 22px; } }
.nr-pv-meta span:first-child { font-family: var(--en-demibold-font); font-weight: 600; letter-spacing: .14em; background: var(--nm-ink); color: var(--nm-yellow); }

/* ---------- 目次（トラックリスト） ---------- */
.nr-pv-layout { margin-top: 70px; }
.nr-pv-toc { position: sticky; top: 0; z-index: 50; margin: 0 -6.8vw; padding: 12px 6.8vw 10px; background: var(--nm-yellow); }
.nr-pv-toc__label { display: none; }
.nr-pv-toc ol { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.nr-pv-toc ol::-webkit-scrollbar { display: none; }
.nr-pv-toc a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px 8px 8px; border-radius: 999px; background: rgba(255,255,255,.3); color: var(--nm-ink); font-family: var(--ja-bold-font); font-weight: 700; font-size: 12px; white-space: nowrap; transition: background-color .3s, color .3s; }
.nr-pv-toc a span { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #fff; font-family: var(--en-demibold-font); font-weight: 600; font-size: 10px; letter-spacing: .04em; }
.nr-pv-toc a.is-on { background: var(--nm-ink); color: #fff; }
.nr-pv-toc a.is-on span { background: var(--nm-yellow); color: var(--nm-ink); }
.nr-pv-toc__meter { display: block; height: 4px; margin-top: 10px; border-radius: 2px; background: rgba(255,255,255,.45); overflow: hidden; }
.nr-pv-toc__meter i { display: block; height: 100%; width: 100%; background: var(--nm-ink); transform-origin: left; transform: scaleX(var(--rp, 0)); }
.nr-pv-toc { display: flex; flex-direction: column-reverse; }

/* ---------- 本文（歌詞カード） ---------- */
main[data-page="privacy"] .nr-pv-body { gap: 0; margin-top: 18px; padding: 10px 18px 40px; border-radius: 28px; background: var(--nm-cream); box-shadow: 0 12px 0 rgba(20,20,20,.08); }
main[data-page="privacy"] .nr-pv-body .nm-t { color: var(--nm-ink) !important; }
.nr-pv-sec { position: relative; padding: 36px 0 34px; scroll-margin-top: 120px; }
.nr-pv-sec h2 { scroll-margin-top: 120px; }
.nr-pv-sec + .nr-pv-sec:before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 14px; opacity: .3; background: var(--nm-ink); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='14' viewBox='0 0 120 14'%3E%3Cg fill='%23000'%3E%3Crect x='0' y='6' width='2' height='2' rx='1'/%3E%3Crect x='5' y='4' width='2' height='6' rx='1'/%3E%3Crect x='10' y='2' width='2' height='10' rx='1'/%3E%3Crect x='15' y='5' width='2' height='4' rx='1'/%3E%3Crect x='20' y='0' width='2' height='14' rx='1'/%3E%3Crect x='25' y='3' width='2' height='8' rx='1'/%3E%3Crect x='30' y='6' width='2' height='2' rx='1'/%3E%3Crect x='35' y='5' width='2' height='4' rx='1'/%3E%3Crect x='40' y='1' width='2' height='12' rx='1'/%3E%3Crect x='45' y='4' width='2' height='6' rx='1'/%3E%3Crect x='50' y='6' width='2' height='2' rx='1'/%3E%3Crect x='55' y='6' width='2' height='2' rx='1'/%3E%3Crect x='60' y='3' width='2' height='8' rx='1'/%3E%3Crect x='65' y='0' width='2' height='14' rx='1'/%3E%3Crect x='70' y='4' width='2' height='6' rx='1'/%3E%3Crect x='75' y='2' width='2' height='10' rx='1'/%3E%3Crect x='80' y='5' width='2' height='4' rx='1'/%3E%3Crect x='85' y='6' width='2' height='2' rx='1'/%3E%3Crect x='90' y='4' width='2' height='6' rx='1'/%3E%3Crect x='95' y='1' width='2' height='12' rx='1'/%3E%3Crect x='100' y='5' width='2' height='4' rx='1'/%3E%3Crect x='105' y='3' width='2' height='8' rx='1'/%3E%3Crect x='110' y='6' width='2' height='2' rx='1'/%3E%3Crect x='115' y='4' width='2' height='6' rx='1'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 120px 14px repeat-x; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='14' viewBox='0 0 120 14'%3E%3Cg fill='%23000'%3E%3Crect x='0' y='6' width='2' height='2' rx='1'/%3E%3Crect x='5' y='4' width='2' height='6' rx='1'/%3E%3Crect x='10' y='2' width='2' height='10' rx='1'/%3E%3Crect x='15' y='5' width='2' height='4' rx='1'/%3E%3Crect x='20' y='0' width='2' height='14' rx='1'/%3E%3Crect x='25' y='3' width='2' height='8' rx='1'/%3E%3Crect x='30' y='6' width='2' height='2' rx='1'/%3E%3Crect x='35' y='5' width='2' height='4' rx='1'/%3E%3Crect x='40' y='1' width='2' height='12' rx='1'/%3E%3Crect x='45' y='4' width='2' height='6' rx='1'/%3E%3Crect x='50' y='6' width='2' height='2' rx='1'/%3E%3Crect x='55' y='6' width='2' height='2' rx='1'/%3E%3Crect x='60' y='3' width='2' height='8' rx='1'/%3E%3Crect x='65' y='0' width='2' height='14' rx='1'/%3E%3Crect x='70' y='4' width='2' height='6' rx='1'/%3E%3Crect x='75' y='2' width='2' height='10' rx='1'/%3E%3Crect x='80' y='5' width='2' height='4' rx='1'/%3E%3Crect x='85' y='6' width='2' height='2' rx='1'/%3E%3Crect x='90' y='4' width='2' height='6' rx='1'/%3E%3Crect x='95' y='1' width='2' height='12' rx='1'/%3E%3Crect x='100' y='5' width='2' height='4' rx='1'/%3E%3Crect x='105' y='3' width='2' height='8' rx='1'/%3E%3Crect x='110' y='6' width='2' height='2' rx='1'/%3E%3Crect x='115' y='4' width='2' height='6' rx='1'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 120px 14px repeat-x; }
.nr-pv-sec h2 { display: flex; align-items: center; gap: 12px; }
.nr-pv-no { flex: none; display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--nm-ink); color: var(--nm-yellow); font-family: var(--en-demibold-font); font-weight: 600; font-size: 11px; letter-spacing: .04em; transition: transform .5s var(--nr-pop), background-color .3s; }
.nr-pv-sec.is-on .nr-pv-no { background: var(--nm-red); color: var(--nm-ink); transform: rotate(-10deg) scale(1.08); }
main[data-page="privacy"] .nr-pv-sec .nm-detail-body { margin-top: 18px; display: grid; gap: 14px; }
main[data-page="privacy"] .nr-pv-list { display: grid; gap: 6px; padding: 14px 18px; border-radius: 16px; background: #fff; }
main[data-page="privacy"] .nr-pv-list > li { padding-left: 1.4em; }
main[data-page="privacy"] .nr-pv-list > li:before { width: 8px; height: 3px; top: .85em; border-radius: 2px; background: var(--nm-yellow); box-shadow: 0 -4px 0 var(--nm-yellow); }
.nr-pv-sample { padding: 10px 14px; border-left: 3px solid var(--nm-red); background: rgba(232,69,44,.06); border-radius: 0 10px 10px 0; }
.nr-pv-desk { display: grid; grid-template-columns: 6.5em minmax(0, 1fr); gap: 10px 12px; padding: 16px 14px; border-radius: 16px; background: #fff; font-size: 16px; line-height: 1.8; color: var(--nm-ink); }
.nr-pv-desk dt { font-family: var(--ja-bold-font); font-weight: 700; }
.nr-pv-desk dd { font-family: var(--ja-regular-font); }
.nr-pv-desk a, .nr-pv-link { color: var(--nm-ink); font-weight: 700; text-decoration: underline; text-decoration-color: var(--nm-yellow); text-decoration-thickness: 3px; text-underline-offset: 4px; }
@media (hover: hover) { .nr-pv-desk a:hover { background: var(--nm-yellow); } }
.nr-pv-end { text-align: right; opacity: .7; }

@media (min-width: 768px) {
  .nr-pv-layout { margin-top: 110px; }
  main[data-page="privacy"] .nr-pv-body { padding: 20px 56px 60px; border-radius: 40px; }
  .nr-pv-sec { padding: 52px 0 48px; }
  .nr-pv-no { width: 40px; height: 40px; font-size: 12px; }
  .nr-pv-desk { grid-template-columns: 8em minmax(0, 1fr); padding: 24px 28px; font-size: 16px; }
}
@media (min-width: 992px) {
  .nr-pv-layout { display: grid; grid-template-columns: 250px 1fr; gap: 56px; align-items: start; }
  .nr-pv-toc { top: 110px; flex-direction: row; gap: 18px; margin: 0; padding: 0; background: none; }
  .nr-pv-toc__label { display: block; position: absolute; top: -30px; left: 0; margin: 0; font-family: var(--en-demibold-font); font-weight: 600; font-size: 13px; letter-spacing: .2em; color: var(--nm-ink); }
  .nr-pv-toc__meter { flex: none; width: 4px; height: auto; margin: 0; }
  .nr-pv-toc__meter i { transform-origin: top; transform: scaleY(var(--rp, 0)); }
  .nr-pv-toc ol { flex-direction: column; gap: 4px; overflow: visible; }
  .nr-pv-toc a { display: flex; width: 100%; padding: 8px 12px 8px 8px; background: none; white-space: normal; font-size: 13px; line-height: 1.4; }
  .nr-pv-toc a span { flex: none; }
  main[data-page="privacy"] .nr-pv-body { margin-top: 0; }
}
@media (hover: hover) { .nr-pv-toc a:not(.is-on):hover { background: rgba(255,255,255,.45); } }

@media (prefers-reduced-motion: reduce) {
  .nr-pv-fader__fill, .nr-pv-fader__knob { transition: none; }
}

/* ---------- 監修1周目：文字の最小サイズ（SP 12px・PC 14px を下回らない） ---------- */
.nr-pv-meta span, .nr-pv-toc a span, .nr-pv-no { font-size: 12px; }
@media (min-width: 768px) {
  .nr-pv-meta span, .nr-pv-fader__lbl, .nr-pv-fader__val, .nr-pv-toc__label, .nr-pv-toc a, .nr-pv-toc a span, .nr-pv-no, .nr-pv-end { font-size: 14px; }
  .nr-pv-toc a span { width: 30px; height: 30px; }
  main[data-page="privacy"] .nr-pv-end { font-size: 14px; }
}
/* 上へ戻した時に出るヘッダーの黄色の帯の下へ、目次タブをずらす（監修2周目1） */
.nr-pv-toc { transition: top .5s var(--nr-ease); }
body:has(.nm-container-33.nr-dark:not(.nr-hide)) .nr-pv-toc { top: 96px; }
@media (min-width: 768px) { body:has(.nm-container-33.nr-dark:not(.nr-hide)) .nr-pv-toc { top: 124px; } }
/* 初見監修 M5：SP で固定された目次の帯が右上のメニューボタンの下に潜らないよう、帯の右をボタンの幅だけ空ける（ヘッダーの黄色い帯が出て帯が下へずれている間はボタンと重ならないので元の余白に戻す） */
@media (max-width: 767px) {
  .nr-pv-toc { padding-right: 92px; transition: top .5s var(--nr-ease), padding-right .5s var(--nr-ease); }
  .nr-pv-toc ol { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 18px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 18px), transparent); }
  body:has(.nm-container-33.nr-dark:not(.nr-hide)) .nr-pv-toc { padding-right: 6.8vw; }
}
/* ver5 初見監修 低10：VOLUME に日本語を添える */
.nr-pv-fader__lbl small { margin-left: 8px; font-family: var(--ja-bold-font); font-weight: 700; font-size: inherit; letter-spacing: .06em; opacity: .8; }

/* ---- services.css ---- */
/* services（制作役A）— main[data-page="services"] と nr-sv- だけに効かせる */
main[data-page="services"] .nr-sv { --services-bg-color: var(--nm-cream); }
main[data-page="services"] .nr-sv.is-loud { --services-bg-color: var(--nm-yellow); }

/* ---------- ヘッダー：写真の「卓」の帯＋5本のフェーダー（監修6・ぱっと見：固定せず、パネルも重ねない） ---------- */
.nr-sv-hero.nm-container-22 { position: relative; top: auto; height: 460px; }
.nr-sv-hero.nm-container-22:before { display: none; }
@media (min-width: 768px) { .nr-sv-hero.nm-container-22 { height: 640px; } }
.nr-sv-hero__top { position: absolute; left: 0; right: 0; top: 0; height: 200px; background: linear-gradient(to bottom, rgba(20,20,20,.45), rgba(20,20,20,0)); pointer-events: none; }
.nr-sv-hero__edge { position: absolute; left: 0; bottom: -1px; width: 100%; height: 60px; display: block; z-index: 2; }
@media (min-width: 768px) { .nr-sv-hero__edge { height: 120px; } }
.nr-sv-hero__edge path { fill: var(--services-bg-color); transition: fill .7s; }
.nr-sv-title { position: relative; z-index: 3; background: var(--services-bg-color); transition: background-color .7s cubic-bezier(.215,.61,.355,1); padding: 8px 0 24px; }
.nr-sv-title .nm-container-21 { width: 85%; margin: 0 auto; }
@media (min-width: 768px) { .nr-sv-title { padding: 0 0 40px; margin-top: -40px; } .nr-sv-title .nm-container-21 { width: calc(100% - 160px); max-width: 1280px; } }
.nr-sv-title__en.nm-t { font-size: 64px !important; line-height: 1 !important; letter-spacing: -.01em !important; color: var(--nm-ink) !important; }
.nr-sv-title__en .nr-h__eq { height: .5em; margin-right: .12em; }
.nr-sv-title__en .nr-h__eq i { background: var(--nm-yellow); }
.nr-sv-title__ja.nm-t { margin-top: 18px; color: var(--nm-ink) !important; }
.nr-sv-title__ja.nm-t:after { content: ""; display: block; width: 96px; height: 6px; margin-top: 22px; border-radius: 3px; background: var(--nm-yellow); }
@media (min-width: 768px) { .nr-sv-title__en.nm-t { font-size: 128px !important; } .nr-sv-title__ja.nm-t { margin-top: 24px; } }
.nr-sv-title br.sp { display: none; }
@media (max-width: 767px) { .nr-sv-title br.sp { display: inline; } }
.nr-sv-hero .nm-beta { overflow: hidden; }
.nr-sv-hero img[data-ph] { background: #4a4238; }
.nr-sv-hero__shade { position: absolute; inset: 0; background: linear-gradient(100deg, rgba(20,20,20,.62) 0%, rgba(20,20,20,.28) 48%, rgba(20,20,20,.5) 100%); pointer-events: none; }
.nr-sv-faders { position: absolute; left: 7.5%; right: 7.5%; bottom: 64px; display: flex; justify-content: space-between; gap: 10px; pointer-events: none; }
.nr-sv-faders li { display: grid; grid-template-columns: 8px 22px; grid-template-rows: auto 120px auto; gap: 8px 8px; justify-items: center; color: #fff; }
.nr-sv-faders b { grid-column: 1 / -1; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .12em; }
.nr-sv-faders small { grid-column: 1 / -1; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .08em; opacity: .8; }
.nr-sv-faders__meter { position: relative; width: 8px; height: 100%; border-radius: 4px; background: rgba(255,255,255,.14); overflow: hidden; }
.nr-sv-faders__meter i { position: absolute; left: 0; right: 0; bottom: 0; height: calc(var(--m, 0) * 100%); background: linear-gradient(to top, #fff 0, #fff 55%, var(--nm-yellow) 55%, var(--nm-yellow) 82%, var(--nm-red) 82%) bottom / 100% 120px no-repeat; -webkit-mask: repeating-linear-gradient(to top, #000 0 5px, transparent 5px 7px); mask: repeating-linear-gradient(to top, #000 0 5px, transparent 5px 7px); }
.nr-sv-faders__rail { position: relative; width: 22px; height: 100%; }
.nr-sv-faders__rail:before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 3px; margin-left: -1.5px; border-radius: 2px; background: rgba(255,255,255,.35); }
.nr-sv-faders__rail i { position: absolute; left: 0; width: 22px; height: 30px; bottom: calc(var(--lv, 0) * (100% - 30px)); border-radius: 6px; background: var(--nm-yellow); box-shadow: 0 6px 14px rgba(0,0,0,.3), inset 0 -3px 0 rgba(0,0,0,.12); }
.nr-sv-faders__rail i:after { content: ""; position: absolute; left: 4px; right: 4px; top: 50%; height: 2px; margin-top: -1px; background: var(--nm-ink); border-radius: 1px; }
@media (min-width: 768px) {
  .nr-sv-faders { left: auto; right: 8%; bottom: 130px; gap: 34px; }
  .nr-sv-faders li { grid-template-columns: 10px 30px; grid-template-rows: auto 260px auto; gap: 12px 12px; }
  .nr-sv-faders b { font-size: 13px; } .nr-sv-faders small { font-size: 13px; }
  .nr-sv-faders__meter { width: 10px; border-radius: 5px; }
  .nr-sv-faders__meter i { background-size: 100% 260px; -webkit-mask: repeating-linear-gradient(to top, #000 0 8px, transparent 8px 11px); mask: repeating-linear-gradient(to top, #000 0 8px, transparent 8px 11px); }
  .nr-sv-faders__rail { width: 30px; }
  .nr-sv-faders__rail i { width: 30px; height: 40px; bottom: calc(var(--lv, 0) * (100% - 40px)); border-radius: 8px; }
}
@media (min-width: 768px) and (max-width: 1100px) { .nr-sv-faders { gap: 18px; right: 5%; bottom: 120px; } .nr-sv-faders li { grid-template-rows: auto 220px auto; } }

/* ---------- 導入：チューニング（下から重なる角丸のパネル → 重ねない） ---------- */
.nr-sv-intro.nm-intro { margin-top: 0; border-radius: 0; padding-top: 24px; padding-bottom: 48px; }
.nr-sv-intro .nm-intro-inner { min-height: 0; }
@media (min-width: 768px) { .nr-sv-intro.nm-intro { padding-top: 40px; padding-bottom: 120px; } }
.nr-sv-intro .nm-intro-inner { gap: 48px; padding: 48px 0 0; }
.nr-sv-tune { display: flex; flex-direction: column; align-items: center; gap: 18px; width: min(80vw, 560px); color: var(--nm-ink); cursor: pointer; }
.nr-sv-tune svg { display: block; width: 100%; height: auto; overflow: visible; }
.nr-sv-tune__wave { fill: none; stroke: var(--nm-ink); stroke-width: 4; stroke-linecap: round; stroke-dasharray: 1700; stroke-dashoffset: 1700; transition: stroke-dashoffset 2.2s var(--nr-ease); transform-origin: 50% 50%; }
.nr-sv-intro.is-on .nr-sv-tune__wave { stroke-dashoffset: 0; }
.nr-sv-tune.is-ring .nr-sv-tune__wave { animation: nr-sv-ring .9s ease-out; stroke: var(--nm-red); }
@keyframes nr-sv-ring { 0% { transform: scaleY(1); } 15% { transform: scaleY(1.35); } 30% { transform: scaleY(.7); } 50% { transform: scaleY(1.15); } 70% { transform: scaleY(.9); } 100% { transform: scaleY(1); } }
.nr-sv-tune__label { display: inline-flex; align-items: center; gap: 12px; padding: 8px 18px 8px 8px; border: 2px solid var(--nm-ink); border-radius: 999px; font-family: var(--ja-bold-font); font-weight: 700; font-size: 13px; letter-spacing: .04em; transition: background-color .3s, color .3s, transform .5s var(--nr-pop); }
.nr-sv-tune__label b { padding: 6px 12px; border-radius: 999px; background: var(--nm-ink); color: var(--nm-yellow); font-family: var(--en-demibold-font); font-weight: 600; font-size: 11px; letter-spacing: .1em; }
@media (hover: hover) { .nr-sv-tune:hover .nr-sv-tune__label { background: var(--nm-yellow); transform: rotate(-2deg); } }
.nr-sv-intro__text { opacity: 1; }
main.nr-sv-js .nr-sv-intro:not(.is-on) .nr-sv-intro__text { opacity: 0; }
.nr-sv-intro__text { transition: opacity .8s ease .6s; }
.nr-sv-intro__text p + p { margin-top: 1.2em; }

/* ---------- 5つのチャンネル ---------- */
.nr-sv-chs { padding-bottom: 40px; }
.nr-sv-chs .nm-dekirukoto-title .nr-h__eq { height: .7em; }
.nr-sv-ch { scroll-margin-top: 110px; transition: transform .5s var(--nr-pop), box-shadow .4s; }
@media (hover: hover) { .nr-sv-ch:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(20,20,20,.06); } }
.nr-sv-ch .nr-sv-ch__open { display: block; color: var(--nm-ink); cursor: pointer; }
.nr-sv-ch .nr-sv-ch__close { cursor: pointer; }
.nr-sv-ch .nr-sv-ch__close[data-is-visible="true"] { display: block; }
@media (min-width: 768px) { .nr-sv-ch .nr-sv-ch__close[data-is-visible="true"] { display: none; } }
.nr-sv-ch .nm-dekirukoto-section-header { display: grid; grid-template-columns: auto 1fr; gap: 12px 16px; align-items: center; }
.nr-sv-ch .nm-dekirukoto-section-header > div, .nr-sv-ch .nr-sv-len { grid-column: 1 / -1; }
.nr-sv-ch__no { display: inline-grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: var(--nm-ink); color: var(--nm-yellow); font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .06em; transition: transform .5s var(--nr-pop), background-color .3s; }
.nr-sv-ch__en { display: block; margin-top: 4px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 10px; letter-spacing: .14em; color: #8a8478; }
.nr-sv-ch .nm-dekirukoto-section-header p { line-height: 1.8; color: #3c3a36; }
.nr-sv-len { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; }
.nr-sv-len__bar { position: relative; height: 10px; border-radius: 6px; background: repeating-linear-gradient(90deg, #ece5d3 0 calc(20% - 2px), #fff calc(20% - 2px) 20%); overflow: hidden; }
.nr-sv-len__bar i { position: absolute; left: 0; top: 0; bottom: 0; width: calc(var(--len, 0) * 100%); border-radius: 6px; background: var(--nm-yellow); box-shadow: inset -4px 0 0 var(--nm-ink); transition: width 1.4s var(--nr-ease); }
.nr-sv-len b { font-family: var(--ja-bold-font); font-weight: 700; font-size: 13px; white-space: nowrap; }
.nr-sv-len b:before { content: "長さの例 "; font-weight: 400; font-size: 11px; color: #8a8478; }
.nr-sv-knob circle:first-child { fill: var(--nm-yellow); }
.nr-sv-knob__cap { fill: #fff; stroke: var(--nm-ink); stroke-width: 2; }
.nr-sv-knob__line { fill: var(--nm-ink); transform-origin: 30px 30px; transform: rotate(-130deg); transition: transform .7s var(--nr-pop); }
.nr-sv-knob[data-is-open="true"] .nr-sv-knob__line { transform: rotate(130deg); }
.nr-sv-ch .nm-accordion-button .nm-plus-icon { transition: transform .6s var(--nr-pop); }
.nr-sv-ch.is-open .nr-sv-ch__no { background: var(--nm-red); color: #fff; }
.nr-sv-ch__close { height: 44px; }
.nr-sv-ch__body { overflow: hidden; transition: height .6s var(--nr-ease); }
.nr-sv-ch__grid { display: grid; gap: 26px; margin-top: 28px; padding-top: 28px; border-top: 2px dashed #e4dccb; }
.nr-sv-ch__label { margin-bottom: 10px; font-family: var(--ja-bold-font); font-weight: 700; font-size: 12px !important; letter-spacing: .06em; color: #8a8478; }
.nr-sv-ch__list li { position: relative; padding-left: 18px; font-family: var(--ja-regular-font); font-size: 14px; line-height: 1.9; }
.nr-sv-ch__list li:before { content: ""; position: absolute; left: 0; top: .72em; width: 8px; height: 8px; border-radius: 50%; background: var(--nm-yellow); box-shadow: 0 0 0 2px var(--nm-ink); }
.nr-sv-ch__price { font-family: var(--ja-regular-font); font-size: 13px !important; line-height: 1.7; }
.nr-sv-ch__price b { display: block; font-family: var(--ja-bold-font); font-weight: 700; font-size: 30px; line-height: 1.3; letter-spacing: .02em; }
.nr-sv-ch__act { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.nr-sv-play { display: inline-flex; align-items: center; gap: 12px; height: 48px; padding: 0 22px 0 18px; border-radius: 999px; background: var(--nm-ink); color: var(--nm-yellow); font-family: var(--ja-bold-font); font-weight: 700; font-size: 13px; cursor: pointer; transition: transform .5s var(--nr-pop), background-color .3s; }
.nr-sv-play .nr-eq i { width: 3px; }
.nr-sv-play.is-playing .nr-eq i { animation: nr-bounce .45s ease-in-out infinite; }
.nr-sv-play.is-playing .nr-eq i:nth-child(2n) { animation-delay: -.2s; } .nr-sv-play.is-playing .nr-eq i:nth-child(3) { animation-delay: -.35s; }
@media (hover: hover) { .nr-sv-play:hover { transform: scale(1.05) rotate(-1.5deg); } }
.nr-sv-ch__link { font-family: var(--ja-bold-font); font-weight: 700; font-size: 13px; color: var(--nm-ink); background: linear-gradient(var(--nm-ink), var(--nm-ink)) 0 100% / 100% 2px no-repeat; padding-bottom: 3px; transition: background-size .4s var(--nr-ease); }
.nr-sv-ch__link:after { content: " →"; }
@media (hover: hover) { .nr-sv-ch__link:hover { background-size: 0 2px; background-position: 100% 100%; } }
.nr-sv-chs__note { max-width: 1280px; margin: 26px auto 0; font-family: var(--ja-regular-font); font-size: 12px !important; line-height: 1.8; color: #6d675b; text-align: center; }
@media (min-width: 768px) {
  .nr-sv-ch .nm-dekirukoto-section-header { grid-template-columns: 76px minmax(0, 1fr) 250px; grid-template-rows: auto auto; gap: 10px 30px; padding-right: 96px; }
  .nr-sv-ch__no { grid-row: 1 / span 2; width: 64px; height: 64px; font-size: 13px; border-radius: 18px; }
  .nr-sv-ch .nm-dekirukoto-section-header > div { grid-column: 2; }
  .nr-sv-ch .nr-sv-len { grid-column: 3; grid-row: 1 / span 2; grid-template-columns: 1fr; gap: 10px; }
  .nr-sv-len b { font-size: 15px; }
  .nr-sv-ch__grid { grid-template-columns: 1.3fr 1fr auto; gap: 40px; margin-left: 106px; margin-right: 96px; }
  .nr-sv-ch__act { justify-content: flex-end; }
  .nr-sv-ch .nr-sv-ch__open:hover .nm-plus-icon { transform: translateY(-50%) rotate(40deg); }
  .nr-sv-ch .nr-sv-ch__open:hover .nr-sv-ch__no { transform: rotate(-8deg) scale(1.06); }
}
.nr-sound.nr-sv-nudge { animation: nr-sv-nudge 1.2s var(--nr-pop); box-shadow: 0 0 0 6px rgba(232,69,44,.55); }
@keyframes nr-sv-nudge { 0%, 100% { transform: none; } 20% { transform: scale(1.12) rotate(-4deg); } 40% { transform: scale(1.05) rotate(3deg); } 60% { transform: scale(1.08) rotate(-2deg); } }

/* ---------- 進め方：テープのリール＋カウンターのカード ---------- */
.nr-sv-flow h2 .nr-h__eq { height: .7em; }
.nr-sv-flow .nm-overview-list li { gap: 56px; }
.nr-sv-flow__step { font-family: var(--en-demibold-font); font-weight: 600; font-size: 13px; letter-spacing: .14em; color: var(--nm-ink); position: relative; z-index: 1; }
.nr-sv-tape { position: relative; display: flex; contain: inline-size; min-width: 0; width: 100%; max-width: 420px; height: 34px; margin-bottom: 20px; overflow: hidden; border-radius: 6px; background: var(--nm-cream); border: 2px solid var(--nm-ink); box-shadow: inset 0 -6px 0 rgba(255,198,42,.55); }
.nr-sv-tape span { flex: none; padding-right: 0; line-height: 30px; white-space: nowrap; font-family: var(--en-demibold-font); font-weight: 600; font-size: 13px; letter-spacing: .14em; color: var(--nm-ink); animation: nr-sv-marq 16s linear infinite; }
.nr-sv-flow li:nth-child(2n) .nr-sv-tape span { animation-direction: reverse; }
.nr-sv-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.nr-sv-deck { position: relative; aspect-ratio: 509 / 330; border-radius: 28px; background: var(--nm-ink); color: var(--nm-cream); padding: 26px 28px; overflow: hidden; transform: rotate(var(--r, -1.5deg)); transition: transform .8s var(--nr-pop); }
.nr-sv-flow li:nth-child(2n) .nr-sv-deck { --r: 1.5deg; }
.nr-sv-flow li.is-on .nr-sv-deck { --r: 0deg; }
.nr-sv-deck__lamp { position: absolute; right: 26px; top: 26px; width: 14px; height: 14px; border-radius: 50%; background: #3b3934; transition: background-color .4s, box-shadow .4s; }
.nr-sv-flow li.is-on .nr-sv-deck__lamp { background: var(--nm-yellow); box-shadow: 0 0 0 5px rgba(255,198,42,.22); }
.nr-sv-flow li.is-on .nr-sv-deck__lamp.is-rec { background: var(--nm-red); box-shadow: 0 0 0 5px rgba(232,69,44,.25); animation: nr-sv-blink 1.1s steps(2, start) infinite; }
@keyframes nr-sv-blink { to { visibility: hidden; } }
.nr-sv-deck__count { font-family: var(--en-demibold-font); font-weight: 600; font-size: 52px; line-height: 1; letter-spacing: .01em; color: var(--nm-yellow); font-variant-numeric: tabular-nums; }
.nr-sv-deck__count small { display: block; margin-top: 10px; font-family: var(--ja-bold-font); font-weight: 700; font-size: 12px; letter-spacing: .06em; color: rgba(250,247,239,.7); }
.nr-sv-deck__vu { position: absolute; left: 28px; right: 28px; bottom: 74px; height: 56px; display: flex; align-items: flex-end; gap: 6px; }
.nr-sv-deck__vu i { flex: 1; height: 100%; border-radius: 3px; background: linear-gradient(to top, var(--nm-cream) 0 60%, var(--nm-yellow) 60% 85%, var(--nm-red) 85%); transform-origin: bottom; transform: scaleY(.12); transition: transform .3s; }
.nr-sv-flow li.is-on .nr-sv-deck__vu i { animation: nr-sv-vu 1.2s ease-in-out infinite; }
.nr-sv-deck__vu i:nth-child(3n) { animation-delay: -.4s !important; } .nr-sv-deck__vu i:nth-child(3n+1) { animation-delay: -.8s !important; } .nr-sv-deck__vu i:nth-child(4n) { animation-duration: .9s !important; }
@keyframes nr-sv-vu { 0%, 100% { transform: scaleY(.2); } 30% { transform: scaleY(.85); } 55% { transform: scaleY(.45); } 75% { transform: scaleY(.7); } }
.nr-sv-deck__name { position: absolute; left: 28px; bottom: 26px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .16em; color: rgba(250,247,239,.75); }
.nr-sv-deck__head { position: absolute; left: 50%; right: 28px; bottom: 32px; height: 2px; border-radius: 2px; background: rgba(250,247,239,.2); }
.nr-sv-deck__head i { position: absolute; left: 0; top: 0; bottom: 0; width: calc(var(--p, 0) * 100%); background: var(--nm-yellow); border-radius: 2px; }
.nr-sv-deck__head i:after { content: ""; position: absolute; right: -6px; top: -5px; width: 12px; height: 12px; border-radius: 50%; background: var(--nm-yellow); }
@media (min-width: 768px) {
  .nr-sv-flow .nm-overview-list { gap: 130px; }
  .nr-sv-flow .nm-overview-list li:nth-child(2n) { flex-direction: row-reverse; }
  .nr-sv-deck { padding: 34px 36px; }
  .nr-sv-deck__count { font-size: 80px; }
  .nr-sv-deck__vu { left: 36px; right: 36px; bottom: 86px; height: 80px; gap: 8px; }
  .nr-sv-deck__name { left: 36px; bottom: 32px; font-size: 13px; }
  .nr-sv-deck__head { right: 36px; bottom: 39px; }
}

/* ---------- 8つの持ち場（横に流れる） ---------- */
.nr-sv-job { position: relative; background: var(--services-bg-color); transition: background-color .7s cubic-bezier(.215,.61,.355,1); }
.nr-sv-job .nm-job { background: transparent; }
.nr-sv-icon { display: block; width: 100%; max-width: 180px; aspect-ratio: 1; border-radius: 50%; background: var(--nm-yellow); box-shadow: inset 0 0 0 4px var(--nm-ink); padding: 22%; transition: transform .6s var(--nr-pop), background-color .3s; }
.nr-sv-icon svg { display: block; width: 100%; height: 100%; fill: none; stroke: var(--nm-ink); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; overflow: visible; }
.nr-sv-icon__fill { fill: var(--nm-ink); stroke: none; }
.nr-sv.is-loud .nr-sv-icon { background: var(--nm-cream); }
.nr-sv-job li.is-hit .nr-sv-icon { animation: nr-sv-hop .6s var(--nr-pop); }
@keyframes nr-sv-hop { 0% { transform: none; } 30% { transform: translateY(-14px) scale(1.06, .94); } 60% { transform: translateY(0) scale(.96, 1.04); } 100% { transform: none; } }
.nr-sv-job .nm-job-button { text-align: center; }
.nr-sv-job .nm-job-button:before { background-color: #fff; }
.nr-sv-job .nm-job-button > span { margin-top: -6px; line-height: 1.35; }
.nr-sv-job .nm-job-button small { display: block; margin-top: 6px; font-family: var(--ja-regular-font); font-weight: 400; font-size: 14px; letter-spacing: .06em; opacity: .75; }
.nr-sv-job .nm-job-button-icon { bottom: 16px; width: 22px; transform: translateX(-11px); z-index: 2; border-radius: 50%; background: var(--nm-ink); }
.nr-sv-job .nm-job-button-icon:after { content: ""; position: absolute; left: 7px; top: 8px; width: 5px; height: 5px; border-top: 2px solid var(--nm-yellow); border-right: 2px solid var(--nm-yellow); transform: rotate(45deg); }
@media (hover: hover) {
  .nr-sv-job .nm-job-button:hover:before { background: var(--nm-ink); }
  .nr-sv-job .nm-job-button:hover .nm-t { color: var(--nm-yellow) !important; }
  .nr-sv-job .nm-job-button:hover .nm-job-button-icon { background: var(--nm-yellow); }
  .nr-sv-job .nm-job-button:hover .nm-job-button-icon:after { border-color: var(--nm-ink); }
}
.nr-sv-job__tape { display: none; }
@media (min-width: 768px) {
  .nr-sv-job__pin.nm-job { position: sticky; top: 0; height: 100vh; height: 100svh; min-height: 0; overflow: hidden; }
  .nr-sv-job .nm-job-warp { min-width: 0; width: max-content; padding-right: 12vw; gap: 160px; will-change: transform; top: 50%; margin-top: -230px; }
  .nr-sv-job .nm-job-list { max-height: none; }
  .nr-sv-job__tape { display: flex; align-items: center; gap: 22px; position: absolute; left: 8%; right: 8%; bottom: 48px; }
  .nr-sv-job__line { position: relative; flex: 1; height: 2px; border-radius: 2px; background: rgba(20,20,20,.2); }
  .nr-sv-job__head { position: absolute; left: calc(var(--p, 0) * 100%); top: -6px; width: 14px; height: 14px; margin-left: -7px; border-radius: 50%; background: var(--nm-ink); }
  .nr-sv-job__line:before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: calc(var(--p, 0) * 100%); border-radius: 2px; background: var(--nm-ink); }
  .nr-sv-job__count { font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .14em; color: var(--nm-ink); font-variant-numeric: tabular-nums; }
}
@media (max-width: 767px) {
  .nr-sv-job .nm-job { padding-bottom: 120px; }
  .nr-sv-job .nm-job-list li .nr-sv-icon { width: 96px; flex-shrink: 0; padding: 24px; }
  .nr-sv-job .nm-job-list li { margin-top: -40px; }
  .nr-sv-job .nm-job-list li:first-child { margin-top: 0; }
  .nr-sv-job .nm-job-button { margin-top: -14px; overflow: visible; }
  .nr-sv-job .nm-job-button small { font-size: 12px; }
  .nr-sv-job .nm-job-button-icon { left: auto; right: -8px; bottom: -8px; width: 32px; height: 32px; transform: none; box-shadow: 0 0 0 3px var(--services-bg-color); }
  .nr-sv-job .nm-job-button-icon:after { left: 11px; top: 13px; }
  .nr-sv-faders { bottom: 70px; }
  .nr-sv-faders li { grid-template-rows: auto 96px auto; }
  .nr-sv-deck__count { font-size: 40px; }
  .nr-sv-deck__count small { margin-top: 6px; }
  .nr-sv-deck__vu { bottom: 60px; height: 30px; gap: 4px; }
  .nr-sv-deck__name { bottom: 20px; font-size: 11px; }
  .nr-sv-deck__head { bottom: 26px; }
  .nr-sv-deck { padding: 22px 24px; }
}

/* ---------- 締め：Make it ring. ---------- */
.nr-sv-last .nr-sv-last__body { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 30px; padding: 220px 24px; text-align: center; }
.nr-sv-last .nm-title { display: inline-block; }
.nr-sv-last__line { display: block; width: 74%; margin: 10px 0 0 auto; height: 18px; overflow: visible; }
.nr-sv-last__line path { fill: none; stroke: var(--nm-ink); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 420; stroke-dashoffset: 420; transition: stroke-dashoffset 1.6s var(--nr-ease) .3s; }
.nr-sv-last.is-on .nr-sv-last__line path { stroke-dashoffset: 0; }
.nr-sv-band--wave { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 284 120'%3E%3Cg fill='%23141414'%3E%3Crect x='4' y='50' width='6' height='20' rx='3'/%3E%3Crect x='18' y='36' width='6' height='48' rx='3'/%3E%3Crect x='32' y='22' width='6' height='76' rx='3'/%3E%3Crect x='46' y='42' width='6' height='36' rx='3'/%3E%3Crect x='60' y='10' width='6' height='100' rx='3'/%3E%3Crect x='74' y='30' width='6' height='60' rx='3'/%3E%3Crect x='88' y='48' width='6' height='24' rx='3'/%3E%3Crect x='102' y='26' width='6' height='68' rx='3'/%3E%3Crect x='116' y='40' width='6' height='40' rx='3'/%3E%3Crect x='130' y='54' width='6' height='12' rx='3'/%3E%3Crect x='144' y='18' width='6' height='84' rx='3'/%3E%3Crect x='158' y='34' width='6' height='52' rx='3'/%3E%3Crect x='172' y='46' width='6' height='28' rx='3'/%3E%3Crect x='186' y='28' width='6' height='64' rx='3'/%3E%3Crect x='200' y='14' width='6' height='92' rx='3'/%3E%3Crect x='214' y='38' width='6' height='44' rx='3'/%3E%3Crect x='228' y='50' width='6' height='20' rx='3'/%3E%3Crect x='242' y='32' width='6' height='56' rx='3'/%3E%3Crect x='256' y='44' width='6' height='32' rx='3'/%3E%3Crect x='270' y='52' width='6' height='16' rx='3'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 284px 100% repeat-x; opacity: .9; }
.nr-sv-last .nr-sv-band--wave { height: 70px; }
.nr-sv-band--words { display: flex !important; width: max-content !important; animation: nr-sv-marq 38s linear infinite !important; height: auto !important; }
.nr-sv-band--words span { padding-right: .4em; white-space: nowrap; font-family: var(--en-demibold-font); font-weight: 600; font-size: 34px; letter-spacing: .04em; color: var(--nm-ink); }
@keyframes nr-sv-marq { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (min-width: 768px) { .nr-sv-last .nr-sv-band--wave { height: 100px; } .nr-sv-band--words span { font-size: 56px; } .nr-sv-last .nr-sv-last__body { padding: 260px 24px; } }

@media (prefers-reduced-motion: reduce) {
  .nr-sv-band--words, .nr-sv-band--wave, .nr-sv-deck__vu i, .nr-sv-tape span, .nr-sv-deck__lamp { animation: none !important; }
  .nr-sv-tune__wave { stroke-dashoffset: 0; transition: none; }
  .nr-sv-last__line path { stroke-dashoffset: 0; transition: none; }
}

/* 監修：SP の本文は 16px 以上 */
@media (max-width: 767px) { .nr-sv .nm-dekirukoto p, .nr-sv-flow .nm-overview-list-texts > p.nm-t, .nr-sv-intro__text p { font-size: 16px !important; line-height: 1.85 !important; } }
.nr-sv-nw { white-space: nowrap; }

/* 監修21：補助の文字は PC 14px・SP 12px 以上（タグ・札も） */
.nr-sv-tune__label, .nr-sv-tune__label b, .nr-sv-ch__en, .nr-sv-ch__no, .nr-sv-chs__note, .nr-sv-flow__step, .nr-sv-deck__count small, .nr-sv-deck__name, .nr-sv-tape span { font-size: 12px !important; }
@media (min-width: 768px) { .nr-sv-tune__label, .nr-sv-tune__label b, .nr-sv-ch__en, .nr-sv-ch__no, .nr-sv-chs__note, .nr-sv-flow__step, .nr-sv-deck__count small, .nr-sv-deck__name, .nr-sv-tape span { font-size: 14px !important; letter-spacing: .06em !important; } }
/* 初見監修 L1：流れる帯は STEP 01 の1本だけ。STEP 02〜05 は波形の線で区切る（段が進むほど振れ幅が大きい＝音が育っていく） */
.nr-sv-cut { display: block; width: 100%; max-width: 420px; height: 24px; margin-bottom: 18px; overflow: visible; }
.nr-sv-cut path { fill: none; stroke: var(--nm-ink); stroke-width: 2; stroke-linejoin: round; vector-effect: non-scaling-stroke; stroke-dasharray: 1400; stroke-dashoffset: 1400; transition: stroke-dashoffset 1.6s var(--nr-ease); }
.nr-sv-flow__list > li.is-on .nr-sv-cut path { stroke-dashoffset: 0; }
@media (prefers-reduced-motion: reduce) { .nr-sv-cut path { stroke-dashoffset: 0; transition: none; } }
/* ver7 初見監修 低4：閉じたままでも料金のめやすが見えるように、見出しの下に小さな札 */
.nr-sv-ch__from { display: inline-block; margin-top: 8px; padding: 3px 10px 2px; border-radius: 99px; background: var(--nm-ink); color: var(--nm-yellow); font-family: var(--ja-bold-font); font-weight: 700; font-size: 13px; line-height: 1.5; letter-spacing: .04em; }
@media (min-width: 768px) { .nr-sv-ch__from { font-size: 14px; } }
/* ver7 初見監修 低5：持ち場の円の担当者名を読みやすく（役割との間を空ける） */
main[data-page="services"] .nm-job-button small { display: block; margin-top: 4px; font-size: 14px; }
@media (min-width: 768px) { main[data-page="services"] .nm-job-button small { font-size: 15px; } }

/* ---- works-detail.css ---- */
/* works-detail（制作役A）— main[data-page="works-detail"] と nr-wd- だけに効かせる */

/* ---------- 見出し（監修2：右上の円をやめ、大きな題を左下に・下に全幅の波形） ---------- */
.nr-wd-head .nm-tertiary .nm-t { font-size: 34px !important; line-height: 1.3 !important; }
@media (min-width: 768px) { .nr-wd-head .nm-tertiary .nm-t { font-size: 84px !important; line-height: 1.2 !important; letter-spacing: 0 !important; } }
.nr-wd-nw { display: inline-block; white-space: nowrap; }
.nr-wd-head.nm-header-3 { height: auto; align-items: flex-end; padding-top: 120px; }
@media (min-width: 768px) { .nr-wd-head.nm-header-3 { padding-top: 170px; } .nr-wd-head .nm-container-24 { margin: 0; max-width: 1240px; padding-left: 40px; } }
.nr-wd-track { position: relative; width: 92%; margin: 32px auto 56px; color: var(--nm-ink); }
@media (min-width: 768px) { .nr-wd-track { width: calc(100% - 80px); margin: 56px auto 96px; } }
.nr-wd-track__top { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; margin-bottom: 12px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 13px; letter-spacing: .1em; }
.nr-wd-track__no b { display: inline-block; min-width: 2ch; color: var(--nm-red); font-variant-numeric: tabular-nums; }
.nr-wd-track__name { font-family: var(--ja-bold-font); font-weight: 700; font-size: 15px; letter-spacing: .04em; }
.nr-wd-track__time { margin-left: auto; font-variant-numeric: tabular-nums; } .nr-wd-track__time em { font-style: normal; color: var(--nm-red); }
.nr-wd-track__wave { position: relative; height: 72px; transform: scaleY(var(--amp, 1)); transition: transform .2s linear; }
@media (min-width: 768px) { .nr-wd-track__wave { height: 120px; } }
.nr-wd-track__base, .nr-wd-track__done { position: absolute; inset: 0; -webkit-mask: var(--wave) center / 100% 100% no-repeat; mask: var(--wave) center / 100% 100% no-repeat; }
.nr-wd-track__base { background: rgba(20,20,20,.3); }
.nr-wd-track__done { background: var(--nm-ink); clip-path: inset(0 calc(100% - var(--p, 0) * 100%) 0 0); }
.nr-wd-track__head { position: absolute; top: -8px; bottom: -8px; left: calc(var(--p, 0) * 100%); width: 3px; margin-left: -1px; border-radius: 2px; background: var(--nm-red); }
.nr-wd-track__hours { display: flex; justify-content: space-between; margin-top: 12px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .1em; }
@media (min-width: 768px) { .nr-wd-track__hours { font-size: 13px; } }
.nr-wd .nm-primary .nr-h__eq { height: .7em; }
.nr-wd-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.nr-wd-chips span { padding: 6px 12px; border: 1.5px solid var(--nm-ink); border-radius: 999px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 13px; letter-spacing: .06em; color: var(--nm-ink); }
.nr-wd-chips span:nth-child(n+2) { background: var(--nm-ink); border-color: var(--nm-ink); color: var(--nm-yellow); font-variant-numeric: tabular-nums; }

/* ---------- メインの写真＋ライナーノーツの札 ---------- */
.nr-wd-mv.nm-main-visual { aspect-ratio: 4 / 3; }
@media (min-width: 768px) { .nr-wd-mv.nm-main-visual { aspect-ratio: 1440 / 750; } }
.nr-wd-mv__target { position: relative; transform: scale(var(--s, .8)); will-change: transform; }
.nr-wd-mv .nm-image-11 { position: relative; z-index: 1; border-radius: calc(var(--rr, 1) * 40px); overflow: hidden; }
.nr-wd-mv__sticker { position: absolute; z-index: 2; left: 3%; top: 6%; display: block; padding: 10px 16px 11px; border-radius: 10px; background: var(--nm-red); color: #fff; font-family: var(--en-demibold-font); font-weight: 600; font-size: 13px; line-height: 1.25; letter-spacing: .14em; transform: rotate(-6deg); box-shadow: 0 8px 18px rgba(20,20,20,.18); }
@media (min-width: 768px) { .nr-wd-mv__sticker { padding: 14px 22px 15px; font-size: 16px; } }

/* ---------- 概要の試聴ボタン ---------- */
.nr-wd-listen { display: flex; align-items: center; gap: 16px; }
.nr-wd-listen__btn.nm-container-10 { width: 240px; max-width: 100%; padding: 0 18px; cursor: pointer; overflow: hidden; }
@media (min-width: 768px) { .nr-wd-listen__btn.nm-container-10 { width: 280px; } }
.nr-wd-listen__btn .nm-view, .nr-wd-listen__btn .nm-hover { white-space: nowrap; }
.nr-wd-listen__btn.nm-container-10 { background: var(--nm-ink); } .nr-wd-listen__btn .nm-t { color: var(--nm-yellow) !important; }
.nr-wd-listen__eq { display: inline-flex; align-items: flex-end; gap: 3px; height: 22px; }
.nr-wd-listen__eq i { width: 4px; height: 100%; border-radius: 2px; background: var(--nm-ink); transform-origin: bottom; transform: scaleY(.25); }
.nr-wd-listen.is-playing .nr-wd-listen__eq i { animation: nr-bounce .5s ease-in-out infinite; }
.nr-wd-listen.is-playing .nr-wd-listen__eq i:nth-child(2n) { animation-delay: -.25s; } .nr-wd-listen.is-playing .nr-wd-listen__eq i:nth-child(3) { animation-delay: -.4s; }
.nr-wd-listen__msg { font-family: var(--ja-bold-font); font-weight: 700; font-size: 12px; color: var(--nm-ink); }

/* ---------- 波形の区切り ---------- */
.nr-wd-wave.nm-block-line { width: 120px; height: 28px; border-radius: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 28'%3E%3Cg fill='%23141414'%3E%3Crect x='0' y='11' width='6' height='6' rx='3'/%3E%3Crect x='14' y='6' width='6' height='16' rx='3'/%3E%3Crect x='28' y='0' width='6' height='28' rx='3'/%3E%3Crect x='42' y='8' width='6' height='12' rx='3'/%3E%3Crect x='56' y='3' width='6' height='22' rx='3'/%3E%3Crect x='70' y='9' width='6' height='10' rx='3'/%3E%3Crect x='84' y='1' width='6' height='26' rx='3'/%3E%3Crect x='98' y='7' width='6' height='14' rx='3'/%3E%3Crect x='112' y='11' width='6' height='6' rx='3'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; }

/* ---------- ライナーノーツの章 ---------- */
.nr-wd-note { margin-bottom: 14px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .16em; color: var(--nm-ink); }
.nr-wd-note--c { text-align: center; }
.nr-wd-photo { border-radius: 24px; overflow: hidden; }
.nr-wd-photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.nr-wd-photo--s { max-width: 420px; margin: 10px auto 0; transform: rotate(2deg); }
.nr-wd-memo { position: relative; max-width: 620px; margin: 0 auto; padding: 34px 30px 30px 66px; border-radius: 10px; background: linear-gradient(90deg, transparent 50px, rgba(232,69,44,.45) 50px 52px, transparent 52px), repeating-linear-gradient(to bottom, var(--nm-cream) 0 43px, #e4dccb 43px 44px); box-shadow: 0 18px 30px rgba(20,20,20,.12); transform: rotate(-1.5deg); color: var(--nm-ink); }
.nr-wd-memo li { display: flex; gap: 14px; min-height: 44px; align-items: center; font-family: var(--ja-bold-font); font-weight: 700; font-size: 14px; line-height: 1.5; opacity: 0; transform: translateX(-10px); transition: opacity .5s, transform .6s var(--nr-ease); }
.nr-wd-memo li b { flex: 0 0 52px; font-family: var(--en-demibold-font); font-weight: 600; color: var(--nm-red); font-variant-numeric: tabular-nums; }
.nr-wd-memo.is-on li { opacity: 1; transform: none; }
.nr-wd-memo.is-on li:nth-child(2) { transition-delay: .12s; } .nr-wd-memo.is-on li:nth-child(3) { transition-delay: .24s; } .nr-wd-memo.is-on li:nth-child(4) { transition-delay: .36s; } .nr-wd-memo.is-on li:nth-child(5) { transition-delay: .48s; }
@media (min-width: 768px) { .nr-wd-memo li { font-size: 16px; } }

/* ---------- 30曲の時間割 ---------- */
.nr-wd-tl { margin: 20px 0 0; padding: 24px 20px 22px; border-radius: 28px; background: var(--nm-cream); color: var(--nm-ink); }
@media (min-width: 768px) { .nr-wd-tl { padding: 36px 40px 30px; } }
.nr-wd-tl__head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 20px; margin-bottom: 18px; }
.nr-wd-tl__title { font-family: var(--en-demibold-font); font-weight: 600; font-size: 13px; letter-spacing: .14em; }
.nr-wd-tl__legend { font-family: var(--ja-bold-font); font-weight: 700; font-size: 11px; color: #8a8478; }
.nr-wd-tl { min-width: 0; max-width: 100%; }
.nr-wd-tl__scroll { contain: inline-size; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; padding: 14px 4px 4px; margin: -14px -4px 0; scrollbar-width: thin; }
.nr-wd-tl__plot { position: relative; height: 240px; min-width: 760px; }
@media (min-width: 768px) { .nr-wd-tl__plot { height: 300px; } }
.nr-wd-tl__zones { position: absolute; inset: 0; }
.nr-wd-tl__zone { position: absolute; top: 0; bottom: 0; border-left: 1px dashed #d8cfba; }
.nr-wd-tl__zone:nth-child(2n) { background: rgba(255,198,42,.12); }
.nr-wd-tl__zone b { position: absolute; left: 6px; top: 6px; font-family: var(--ja-bold-font); font-weight: 700; font-size: 10px; letter-spacing: .04em; color: #8a8478; white-space: nowrap; }
.nr-wd-tl__svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.nr-wd-tl__area { fill: rgba(255,198,42,.45); }
.nr-wd-tl__line { fill: none; stroke: var(--nm-ink); stroke-width: 2.5; stroke-linejoin: round; vector-effect: non-scaling-stroke; stroke-dasharray: 3000; stroke-dashoffset: 3000; transition: stroke-dashoffset 2.4s var(--nr-ease); }
.nr-wd-tl.is-on .nr-wd-tl__line { stroke-dashoffset: 0; }
.nr-wd-tl__dots { position: absolute; inset: 0; }
.nr-wd-tl__dot { position: absolute; width: 22px; height: 22px; margin: -11px 0 0 -11px; border-radius: 50%; cursor: pointer; transform: scale(0); transition: transform .5s var(--nr-pop); }
.nr-wd-tl__dot:before { content: ""; position: absolute; inset: 4px; border-radius: 50%; background: var(--nm-ink); border: 2px solid var(--nm-cream); transition: background-color .2s, inset .3s var(--nr-pop); }
.nr-wd-tl.is-on .nr-wd-tl__dot { transform: scale(1); transition-delay: calc(var(--i, 0) * 40ms + .6s); }
.nr-wd-tl__dot:hover:before, .nr-wd-tl__dot:focus-visible:before { inset: 1px; background: var(--nm-red); }
.nr-wd-tl__dot.is-active:before { inset: 0; background: var(--nm-red); box-shadow: 0 0 0 5px rgba(232,69,44,.25); }
.nr-wd-tl__dot:focus-visible { outline: none; }
.nr-wd-tl__now { position: absolute; top: 0; bottom: 0; left: var(--x, 23%); width: 2px; margin-left: -1px; background: var(--nm-red); opacity: .55; transition: left .5s var(--nr-ease); pointer-events: none; }
.nr-wd-tl__hours { position: relative; height: 22px; min-width: 760px; margin-top: 8px; }
.nr-wd-tl__hours span { position: absolute; top: 0; transform: translateX(-50%); font-family: var(--en-demibold-font); font-weight: 600; font-size: 10px; letter-spacing: .06em; color: #8a8478; }
.nr-wd-tl__hours span:first-child { transform: none; } .nr-wd-tl__hours span:last-child { transform: translateX(-100%); }
.nr-wd-tl__info { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; margin-top: 18px; padding-top: 18px; border-top: 2px dashed #e4dccb; }
.nr-wd-tl__no, .nr-wd-tl__time { font-family: var(--en-demibold-font); font-weight: 600; font-size: 13px; letter-spacing: .1em; font-variant-numeric: tabular-nums; }
.nr-wd-tl__no { padding: 4px 10px; border-radius: 999px; background: var(--nm-ink); color: var(--nm-yellow); font-size: 11px; }
.nr-wd-tl__name { font-family: var(--ja-bold-font); font-weight: 700; font-size: 20px; }
.nr-wd-tl__meta { font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .08em; color: #6d675b; }
.nr-wd-tl__hint { margin-left: auto; font-family: var(--ja-bold-font); font-weight: 700; font-size: 11px; color: #8a8478; }
.nr-wd-tl__info.is-bump .nr-wd-tl__name { animation: nr-wd-bump .45s var(--nr-pop); display: inline-block; }
@keyframes nr-wd-bump { 35% { transform: translateY(-5px) rotate(-2deg); } }

/* ---------- 結果 ---------- */
.nr-wd-band.nm-animation { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 577 60'%3E%3Cpath d='M0 30 Q 18 4 36 30 T 72 30 T 108 30 T 144 30 T 180 30 T 216 30 T 252 30 T 288 30 T 324 30 T 360 30 T 396 30 T 432 30 T 468 30 T 504 30 T 540 30 T 577 30' fill='none' stroke='%23141414' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x; background-size: 577px 100%; }
@media (min-width: 768px) { .nr-wd-band.nm-animation { background-size: 527px 100%; height: 70px; } }
.nr-wd-result .nm-body-6 { display: flex; flex-direction: column; gap: 34px; }
.nr-wd-meters { display: grid; gap: 16px; }
.nr-wd-meters li { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 8px 16px; padding: 22px 24px; border-radius: 22px; background: var(--nm-ink); color: var(--nm-cream); }
.nr-wd-meters__k { font-family: var(--ja-bold-font); font-weight: 700; font-size: 14px; }
.nr-wd-meters b { font-family: var(--en-demibold-font); font-weight: 600; font-size: 40px; line-height: 1; color: var(--nm-yellow); font-variant-numeric: tabular-nums; }
.nr-wd-meters__bar { grid-column: 1 / -1; position: relative; height: 12px; border-radius: 6px; background: repeating-linear-gradient(90deg, #2e2d2a 0 10px, #141414 10px 12px); overflow: hidden; }
.nr-wd-meters__bar i { position: absolute; left: 0; top: 0; bottom: 0; width: calc(var(--v, 0) * 100%); background: linear-gradient(90deg, var(--nm-cream) 0 60%, var(--nm-yellow) 60% 85%, var(--nm-red) 85%) left / 680px 100% no-repeat; -webkit-mask: repeating-linear-gradient(90deg, #000 0 10px, transparent 10px 12px); mask: repeating-linear-gradient(90deg, #000 0 10px, transparent 10px 12px); transition: width 1.6s var(--nr-ease); }
.nr-wd-meters small { grid-column: 1 / -1; font-family: var(--ja-regular-font); font-size: 11px; color: rgba(250,247,239,.6); }
@media (min-width: 768px) { .nr-wd-meters li { padding: 26px 32px; } .nr-wd-meters b { font-size: 52px; } .nr-wd-meters__k { font-size: 16px; } }

/* ---------- クレジット（裏ジャケット風） ---------- */
.nr-wd-credits .nm-wrap-6 { position: relative; overflow: hidden; }
.nr-wd-roles { display: grid; gap: 6px; margin-top: 4px; }
@media (min-width: 768px) { .nr-wd-roles { grid-template-columns: 1fr 1fr; gap: 8px 60px; } }
.nr-wd-role { display: flex; align-items: baseline; gap: 10px; font-family: var(--ja-regular-font); font-size: 13px; color: var(--quaternary-color); }
.nr-wd-role em { font-style: normal; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .06em; white-space: nowrap; }
.nr-wd-role em:after { content: ""; flex: 1; }
.nr-wd-role:after { content: none; }
.nr-wd-role a { order: 3; }
.nr-wd-role em + a { margin-left: auto; }
.nr-wd-role { background: radial-gradient(circle, #b9b2a3 1px, transparent 1.5px) 0 72% / 6px 6px repeat-x; }
.nr-wd-role em, .nr-wd-role a { background: var(--quinary-color); padding: 0 6px 0 0; }
.nr-wd-role a { padding: 0 0 0 6px; }
.nr-wd-cta.nm-container-10 { width: 220px; background: var(--nm-ink); }
.nr-wd-cta .nm-t { color: var(--nm-yellow) !important; }

/* ---------- 前後の曲 ---------- */
.nr-wd-rail { contain: inline-size; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; cursor: grab; scroll-snap-type: x mandatory; }
.nr-wd-rail::-webkit-scrollbar { display: none; }
.nr-wd-rail.is-drag { cursor: grabbing; scroll-snap-type: none; }
.nr-wd-rail.is-drag a { pointer-events: none; }
.nr-wd-rail__track { display: flex; gap: 24px; width: max-content; padding-right: 24px; }
@media (min-width: 768px) { .nr-wd-rail__track { gap: 40px; } }
.nr-wd-rail .nm-works-item { scroll-snap-align: start; flex: 0 0 auto; }
.nr-wd-rail .nm-image-11 { border-radius: 20px; aspect-ratio: 4 / 3; overflow: hidden; }
.nr-wd-rail .nm-image-11 img { width: 100%; height: 100%; object-fit: cover; }
.nr-wd-rail__tag { font-family: var(--en-demibold-font); font-weight: 600; font-size: 13px; letter-spacing: .08em; color: var(--nm-ink); }
.nr-wd-cover { height: 100%; background: radial-gradient(circle at 75% 60%, rgba(255,198,42,.2) 0 22%, transparent 22.5%), repeating-radial-gradient(circle at 75% 60%, rgba(255,255,255,.06) 0 2px, transparent 2px 10px), var(--nm-ink); }
.nr-wd-cover span { position: absolute; left: 24px; top: 18px; font-family: "Bagel Fat One", var(--en-demibold-font); font-size: 88px; line-height: 1; color: var(--nm-yellow); }
.nr-wd-cover img[data-ph] { opacity: 0; }
.nr-wd-next__all { display: flex; justify-content: center; margin-top: 70px; }

@media (prefers-reduced-motion: reduce) {
  .nr-wd-listen__eq i { animation: none !important; }
  .nr-wd-tl__line { stroke-dashoffset: 0; transition: none; }
  .nr-wd-tl__dot { transform: none; transition: none; }
  .nr-wd-memo li { opacity: 1; transform: none; transition: none; }
}
.nr-sound.nr-wd-nudge { animation: nr-wd-nudge 1.2s var(--nr-pop); box-shadow: 0 0 0 6px rgba(232,69,44,.55); }
@keyframes nr-wd-nudge { 0%, 100% { transform: none; } 20% { transform: scale(1.12) rotate(-4deg); } 40% { transform: scale(1.05) rotate(3deg); } 60% { transform: scale(1.08) rotate(-2deg); } }

/* 監修：SP の本文は 16px 以上 */
@media (max-width: 767px) { .nr-wd .nm-body-5 p { font-size: 16px !important; line-height: 1.85 !important; } }
.nr-wd-track__hours span:nth-child(2) { position: relative; left: -3.85%; }

/* 監修21：補助の文字は PC 14px・SP 12px 以上（タグ・札も） */
.nr-wd-tl__legend, .nr-wd-tl__zone b, .nr-wd-tl__no, .nr-wd-tl__hint, .nr-wd-meters small, .nr-wd-tl__hours span { font-size: 12px !important; }
@media (min-width: 768px) { .nr-wd-tl__time, .nr-wd-chips span, .nr-wd-note, .nr-wd-tl__title, .nr-wd-tl__legend, .nr-wd-tl__zone b, .nr-wd-tl__no, .nr-wd-tl__meta, .nr-wd-tl__hint, .nr-wd-meters small, .nr-wd-role em, .nr-wd-rail__tag, .nr-wd-tl__hours span { font-size: 14px !important; letter-spacing: .06em !important; } }

/* ---------- 初見監修 M8：クレジット＝レコードジャケットの裏（墨の地・生成りの文字・左寄せ）／GENRE＝右端の黄色い帯（オビ）に縦書き ---------- */
.nr-wd-credits .nr-wd-jacket { position: relative; display: flex; padding: 0; overflow: hidden; border-radius: 26px; background: var(--nm-ink); box-shadow: 0 14px 0 rgba(20,20,20,.14); }
.nr-wd-jacket__body { flex: 1; min-width: 0; padding: 56px 22px 44px; background: repeating-linear-gradient(0deg, rgba(250,247,239,.025) 0 1px, transparent 1px 4px); }
.nr-wd-jacket__body, .nr-wd-jacket__body p, .nr-wd-jacket__body h3, .nr-wd-jacket__body h4, .nr-wd-jacket__body span:not(.nr-wd-cta *) { color: var(--nm-cream) !important; }
.nr-wd-jacket__cat { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0 0 18px; padding-bottom: 14px; border-bottom: 1px solid rgba(250,247,239,.25); font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .18em; }
.nr-wd-jacket__cat span:first-child { color: var(--nm-yellow) !important; }
.nr-wd-credits .nr-wd-jacket .nm-credits-title { text-align: left; font-size: 52px; line-height: .9; letter-spacing: -.03em; }
.nr-wd-credits .nr-wd-jacket .nm-credits-body { margin-top: 30px; }
.nr-wd-jacket .nm-credits-item { padding-top: 22px; border-top: 1px dashed rgba(250,247,239,.22); }
.nr-wd-jacket .nm-credits-item h4 { font-family: var(--en-demibold-font); font-weight: 600; letter-spacing: .16em; color: var(--nm-yellow) !important; }
.nr-wd-jacket .nr-wd-role { color: var(--nm-cream); background-image: radial-gradient(circle, rgba(250,247,239,.38) 1px, transparent 1.5px); }
.nr-wd-jacket .nr-wd-role em, .nr-wd-jacket .nr-wd-role a { background: var(--nm-ink); }
.nr-wd-jacket .nm-link-3 { text-decoration-color: rgba(250,247,239,.6); }
.nr-wd-jacket__foot { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 22px 28px; margin-top: 40px; padding-top: 26px; border-top: 1px solid rgba(250,247,239,.25); }
.nr-wd-jacket__foot .nm-release, .nr-wd-jacket__foot .nm-visit-site { margin: 0; }
.nr-wd-jacket__foot .nm-release p { color: rgba(250,247,239,.7) !important; }
.nr-wd-jacket__code { display: grid; gap: 4px; padding: 8px 10px 6px; border-radius: 6px; background: var(--nm-cream); }
.nr-wd-jacket__code i { display: block; width: 112px; height: 38px; background: linear-gradient(90deg, var(--nm-ink) 0 2px, transparent 2px 4px, var(--nm-ink) 4px 5px, transparent 5px 8px, var(--nm-ink) 8px 11px, transparent 11px 12px, var(--nm-ink) 12px 13px, transparent 13px 16px, var(--nm-ink) 16px 18px, transparent 18px 19px, var(--nm-ink) 19px 22px, transparent 22px 24px, var(--nm-ink) 24px 25px, transparent 25px 28px) 0 0 / 28px 100% repeat-x; }
.nr-wd-jacket__code span { font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .3em; text-align: center; color: var(--nm-ink) !important; }
.nr-wd-jacket .nr-wd-cta.nm-container-10 { background: var(--nm-yellow); }
.nr-wd-jacket .nr-wd-cta.nm-container-10 .nm-t, .nr-wd-jacket .nr-wd-cta.nm-container-10 span { color: var(--nm-ink) !important; }
@media (hover: hover) { .nr-wd-jacket .nr-wd-cta.nm-container-10:hover { background: var(--nm-cream); } }

.nr-wd-credits .nr-wd-obi { flex: none; position: relative; display: flex; flex-direction: column; align-items: center; gap: 18px; width: 58px; margin: 0; padding: 26px 0; border: 0; border-left: 2px solid var(--nm-ink); background: var(--nm-yellow); }
.nr-wd-obi h3, .nr-wd-obi ul, .nr-wd-obi__no { writing-mode: vertical-rl; }
.nr-wd-credits .nr-wd-obi h3 { margin: 0; font-size: 24px !important; line-height: 1 !important; letter-spacing: .08em !important; color: var(--nm-ink) !important; }
.nr-wd-credits .nr-wd-obi ul { display: flex; flex-direction: row; flex-wrap: nowrap; gap: 14px; margin: 0; padding-top: 18px; border-top: 2px solid var(--nm-ink); }
.nr-wd-obi ul a { display: block; padding: 6px 0; }
.nr-wd-obi ul a span { font-family: var(--ja-bold-font) !important; font-weight: 700; font-size: 13px !important; letter-spacing: .08em !important; color: var(--nm-ink) !important; white-space: nowrap; }
@media (hover: hover) { .nr-wd-obi ul a:hover span { text-decoration: underline; text-underline-offset: 4px; } }
.nr-wd-obi__no { margin-top: auto; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .24em; color: var(--nm-ink); }
@media (min-width: 768px) {
  .nr-wd-credits .nr-wd-jacket { max-width: 1180px; border-radius: 34px; }
  .nr-wd-jacket__body { padding: 76px 80px 64px 84px; }
  .nr-wd-jacket__cat { margin-bottom: 26px; font-size: 14px; }
  .nr-wd-credits .nr-wd-jacket .nm-credits-title { font-size: clamp(96px, 8.4vw, 124px); }
  .nr-wd-credits .nr-wd-jacket .nm-credits-body { margin-top: 44px; }
  .nr-wd-jacket__foot { margin-top: 56px; gap: 24px 40px; }
  .nr-wd-jacket__foot .nm-visit-site { margin-left: auto; }
  .nr-wd-jacket__code span { font-size: 14px; }
  .nr-wd-credits .nr-wd-obi { width: 92px; gap: 24px; padding: 44px 0 36px; }
  .nr-wd-credits .nr-wd-obi h3 { font-size: 34px !important; }
  .nr-wd-obi ul a span { font-size: 15px !important; }
  .nr-wd-obi__no { font-size: 14px; }
}
/* ジャケットの上のボタン：隠れている側の文字（ホバーで下から出る）は、出ていない間は visibility で消す（墨の地に墨の文字が重なって数えられないように。出る・戻る動きはそのまま） */
.nr-wd-jacket .nr-wd-cta .nm-hover { visibility: hidden; transition: transform .4s cubic-bezier(.785,.135,.15,.86), visibility 0s linear .4s; }
@media (hover: hover) { .nr-wd-jacket .nr-wd-cta:hover .nm-hover { visibility: visible; transition: transform .4s cubic-bezier(.785,.135,.15,.86), visibility 0s; } }
/* ver6 初見監修 中5：SP は時間割グラフを横スクロールさせず幅いっぱいに。目盛りは 6/9/12/15/18 時の5つ、帯の名前は隠す */
@media (max-width: 767px) {
  main[data-page="works-detail"] .nr-wd-tl__scroll { overflow: visible; margin: 0; padding: 14px 0 0; }
  main[data-page="works-detail"] .nr-wd-tl__plot { min-width: 0; height: 200px; }
  main[data-page="works-detail"] .nr-wd-tl__hours { min-width: 0; }
  main[data-page="works-detail"] .nr-wd-tl__zone b { display: none; }
  main[data-page="works-detail"] .nr-wd-tl__hours span:not(:nth-child(3n+1)) { display: none; }
  main[data-page="works-detail"] .nr-wd-tl__dot { width: 16px; height: 16px; margin: -8px 0 0 -8px; }
  main[data-page="works-detail"] .nr-wd-tl__dot:before { inset: 3px; }
}

/* ---- works.css ---- */
/* works（制作役A）— main[data-page="works"] と nr-wk- だけに効かせる */

/* ---------- 見出し（監修2：右上の円をやめ、左下に大きな英字＋下に全幅の再生バー） ---------- */
.nr-wk-head { padding-top: 40px; }
.nr-wk-head .header-alpha-1 { font-size: 64px !important; line-height: 1 !important; letter-spacing: -.01em !important; }
.nr-wk-head .header-alpha-1 .nr-h__eq { height: .5em; margin-right: .12em; }
@media (min-width: 768px) { .nr-wk-head { padding-top: 24px; } .nr-wk-head .header-alpha-1 { font-size: 128px !important; } }
.nr-wk-nw { display: inline-block; white-space: nowrap; }
.nr-wk-player { position: relative; width: 92%; margin: 48px auto 0; color: var(--nm-ink); }
@media (min-width: 768px) { .nr-wk-player { width: calc(100% - 80px); margin-top: 56px; } .nr-wk-player__top { gap: 28px; } }
.nr-wk-player__top { display: flex; justify-content: flex-start; padding-right: 8px; align-items: center; gap: 12px; margin-bottom: 14px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 13px; letter-spacing: .1em; }
.nr-wk-player__now { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.nr-wk-player__now .nr-eq i { background: var(--nm-ink); animation: nr-bounce .55s ease-in-out infinite; } .nr-wk-player__now .nr-eq i:nth-child(2n) { animation-delay: -.25s; } .nr-wk-player__now .nr-eq i:nth-child(3) { animation-delay: -.4s; }
.nr-wk-player__now b { display: inline-grid; place-items: center; min-width: 34px; height: 24px; border-radius: 999px; background: var(--nm-ink); color: var(--nm-yellow); font-size: 12px; }
.nr-wk-player__now span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--ja-bold-font); font-weight: 700; letter-spacing: .04em; font-size: 14px; }
.nr-wk-player__time { white-space: nowrap; font-variant-numeric: tabular-nums; }
.nr-wk-player__time em { font-style: normal; color: var(--nm-red); }
.nr-wk-player__track { position: relative; height: 72px; border-top: 3px solid var(--nm-ink); }
@media (min-width: 768px) { .nr-wk-player__track { height: 96px; } }
.nr-wk-player__fill { position: absolute; left: 0; top: -3px; height: 3px; width: calc(var(--p, 0) * 100%); background: var(--nm-red); }
.nr-wk-player__head { position: absolute; top: -11px; left: calc(var(--p, 0) * 100%); width: 19px; height: 19px; margin-left: -9px; border-radius: 50%; background: var(--nm-ink); box-shadow: 0 0 0 5px var(--nm-yellow); }
.nr-wk-player__ticks { position: absolute; inset: 0; }
.nr-wk-player__ticks li { position: absolute; top: 0; left: calc(var(--i) / 11 * 100%); display: flex; flex-direction: column; align-items: center; transform: translateX(-50%); font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .06em; }
.nr-wk-player__ticks li:first-child { align-items: flex-start; transform: none; } .nr-wk-player__ticks li:last-child { align-items: flex-end; transform: translateX(-100%); }
.nr-wk-player__ticks li i { display: block; width: 2px; height: 22px; margin-bottom: 8px; background: var(--nm-ink); transition: height .4s var(--nr-pop), background-color .3s; }
.nr-wk-player__ticks li.is-now i { height: 40px; background: var(--nm-red); }
.nr-wk-player__ticks li.is-now span { color: var(--nm-red); }
@media (max-width: 767px) { .nr-wk-player__ticks li:nth-child(2n) span { display: none; } .nr-wk-player__ticks li i { height: 16px; } .nr-wk-player__ticks li.is-now i { height: 28px; } }
.nr-wk-lead { max-width: 560px; margin-top: 18px; }

/* ---------- 絞り込み ---------- */
.nr-wk-filter { position: relative; }
.nr-wk-filter__label { margin-bottom: 14px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 13px; letter-spacing: .14em; color: #6b665c; }
.nr-wk-filter .nm-tag-beta .nr-wk-filter__label { font-family: var(--ja-bold-font); font-weight: 700; letter-spacing: .06em; }
.nr-wk-filter .nm-tag-alpha ul { gap: 10px; }
.nr-wk-filter .nm-tag-beta ul { gap: 10px; }
.nr-wk-filter .nm-tag-beta ul li.nm-checkbox label { border: 2px solid var(--quaternary-color); padding: 3px 12px 5px; }
.nr-wk-filter .nm-checkbox label { transition: background-color .3s, transform .4s var(--nr-pop); }
.nr-wk-filter .nm-checkbox input:checked + label { transform: rotate(-3deg); }
.nr-wk-filter .nm-checkbox input:focus-visible + label { outline: 3px solid var(--nm-red); outline-offset: 2px; }
.nr-wk-filter .nm-checkbox input { display: block !important; position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.nr-wk-filter .nm-tag-button { cursor: pointer; }
.nr-wk-count { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; margin-top: 26px; padding-top: 20px; border-top: 2px dashed #e4dccb; font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .12em; color: var(--nm-ink); }
.nr-wk-count b { font-size: 28px; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.nr-wk-count span { margin-left: 14px; font-family: var(--ja-bold-font); font-weight: 700; font-size: 14px; letter-spacing: .06em; color: #8a8478; }
.nr-wk-count.is-bump b { animation: nr-wk-bump .5s var(--nr-pop); display: inline-block; }
@keyframes nr-wk-bump { 30% { transform: translateY(-6px) scale(1.12); } }
@media (min-width: 768px) { .nr-wk-count { position: absolute; right: 40px; top: 30px; margin: 0; padding: 0; border: 0; } .nr-wk-filter .nm-tag-alpha { padding-right: 240px; } .nr-wk-filter .nm-tag-button { right: 0; } }
@media (max-width: 767px) { .nr-wk-filter .nm-tag-button { position: static; margin-top: 16px; } }

/* ---------- 曲（カード）：2列の並び → 3列を上下にずらしたプレイリスト（監修ぱっと見） ---------- */
@media (min-width: 768px) {
  .nr-wk-list.nm-works-alpha { display: grid; grid-template-columns: repeat(2, 1fr); gap: 72px 5%; padding-bottom: 90px; }
  .nr-wk-list .nr-wk-item.nm-container-38 { width: auto; }
  .nr-wk-item[data-col="1"] { translate: 0 90px; }
}
@media (min-width: 1100px) {
  .nr-wk-list.nm-works-alpha { grid-template-columns: repeat(3, 1fr); gap: 80px 3.5%; padding-bottom: 120px; }
  .nr-wk-item[data-col="1"] { translate: 0 120px; } .nr-wk-item[data-col="2"] { translate: 0 50px; }
}
.nr-wk-item[hidden] { display: none !important; }
.nr-wk-item { transition: opacity .5s ease, transform .7s var(--nr-ease); }
.nr-wk-item.is-pre { opacity: 0; transform: translateY(40px); }
.nr-wk-item .nm-image-2 { border-radius: 22px; }
.nr-wk-item .nm-img-item { background: var(--nm-ink); }
.nr-wk-item img[data-ph] { opacity: 0; }
.nr-wk-cover { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: space-between; padding: 26px 28px; background: radial-gradient(circle at 78% 62%, rgba(255,198,42,.18) 0 22%, transparent 22.5%), repeating-radial-gradient(circle at 78% 62%, rgba(255,255,255,.06) 0 2px, transparent 2px 10px), var(--nm-ink); color: var(--nm-yellow); }
.nr-wk-cover b { font-family: "Bagel Fat One", var(--en-demibold-font); font-weight: 400; font-size: 96px; line-height: .9; }
.nr-wk-cover small { font-family: var(--en-demibold-font); font-weight: 600; font-size: 13px; letter-spacing: .16em; color: rgba(250,247,239,.75); }
.nr-wk-item .nm-img-item img:not([data-ph]) { position: relative; z-index: 1; }
.nr-wk-now { position: absolute; left: 16px; top: 16px; z-index: 3; display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px 7px 10px; border-radius: 999px; background: var(--nm-yellow); color: var(--nm-ink); font-family: var(--en-demibold-font); font-weight: 600; font-size: 12px; letter-spacing: .12em; opacity: 0; transform: translateY(-8px) scale(.85); transition: opacity .3s, transform .5s var(--nr-pop); pointer-events: none; }
.nr-wk-now .nr-eq { height: 12px; gap: 2px; } .nr-wk-now .nr-eq i { width: 2px; background: var(--nm-ink); animation: nr-bounce .5s ease-in-out infinite; } .nr-wk-now .nr-eq i:nth-child(2n) { animation-delay: -.25s; }
.nr-wk-bar { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; margin: 16px 0 10px; color: var(--nm-ink); }
.nr-wk-bar__no { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--nm-ink); color: var(--nm-yellow); font-family: var(--en-demibold-font); font-weight: 600; font-size: 11px; transition: transform .5s var(--nr-pop), background-color .3s; }
.nr-wk-bar__wave { display: block; height: 26px; background: linear-gradient(90deg, var(--nm-red) 0 calc(var(--p, 0) * 100%), rgba(20,20,20,.55) calc(var(--p, 0) * 100%) 100%); -webkit-mask: var(--wave) center / 100% 100% no-repeat; mask: var(--wave) center / 100% 100% no-repeat; }
.nr-wk-bar__time { font-family: var(--en-demibold-font); font-weight: 600; font-size: 13px; letter-spacing: .06em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.nr-wk-bar__time em { font-style: normal; color: var(--nm-red); }
.nr-wk-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.nr-wk-tags span { padding: 4px 11px; border: 1.5px solid var(--nm-ink); border-radius: 999px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 13px; letter-spacing: .06em; color: var(--nm-ink); }
.nr-wk-item.is-playing .nr-wk-now { opacity: 1; transform: none; }
.nr-wk-item.is-playing .nr-wk-bar__no { background: var(--nm-red); color: #fff; transform: rotate(-12deg) scale(1.1); }
@media (hover: hover) {
  .nr-wk-item .nm-link-4:hover .nm-image-2 { border-radius: 22px 22px 120px 22px; }
  .nr-wk-item .nm-link-4:hover .nm-image-2 img { transform: scale(1.08); }
  .nr-wk-item .nm-link-4:hover .nr-wk-cover b { transform: rotate(-6deg); }
}
.nr-wk-cover b { display: inline-block; transition: transform .6s var(--nr-pop); transform-origin: 0 100%; }
@media (min-width: 768px) { .nr-wk-cover b { font-size: 110px; } .nr-wk-cover { padding: 28px 30px; } }

.nr-wk-empty { margin-top: 60px; padding: 40px 24px; border-radius: 24px; background: rgba(255,255,255,.25); text-align: center; font-family: var(--ja-bold-font); font-weight: 700; font-size: 15px; line-height: 1.8; color: var(--nm-ink); }
.nr-wk-more.nm-works-beta button.nr-wk-next { display: inline-flex; align-items: center; justify-content: center; gap: 14px; width: 100%; height: 56px; aspect-ratio: auto; padding: 0 28px; border-radius: 999px; background: var(--nm-ink); color: var(--nm-yellow); cursor: pointer; overflow: hidden; isolation: isolate; transition: transform .5s var(--nr-pop); }
.nr-wk-more.nm-works-beta button.nr-wk-next:before { content: ""; display: block; position: absolute; inset: 0; z-index: -1; width: auto; height: auto; border-radius: inherit; background: #fff; transform: translateX(-101%); transition: transform .55s var(--nr-ease); }
.nr-wk-next .nr-eq { height: 22px; } .nr-wk-next .nr-eq i { animation: nr-bounce .7s ease-in-out infinite; } .nr-wk-next .nr-eq i:nth-child(2n) { animation-delay: -.3s; } .nr-wk-next .nr-eq i:nth-child(3n) { animation-delay: -.5s; }
.nr-wk-next__t { font-family: var(--en-demibold-font); font-weight: 600; font-size: 15px; letter-spacing: .14em; transition: color .3s; }
@media (min-width: 768px) { .nr-wk-more.nm-works-beta button.nr-wk-next { width: 280px; height: 64px; } .nr-wk-next__t { font-size: 16px; } }
@media (hover: hover) { .nr-wk-more.nm-works-beta button.nr-wk-next:hover { color: var(--nm-ink) !important; transform: scale(1.04); } .nr-wk-more.nm-works-beta button.nr-wk-next:hover:before { transform: translateX(0); } .nr-wk-next:hover .nr-eq i { background: var(--nm-ink); } }
@media (max-width: 767px) { .nr-wk-more.nm-works-beta { padding: 0; } }
.nr-wk-more[hidden] { display: none; }

@media (prefers-reduced-motion: reduce) {
  .nr-wk-item, .nr-wk-item.is-pre { transition: none; opacity: 1; transform: none; }
  .nr-wk-now .nr-eq i, .nr-wk-next .nr-eq i, .nr-wk-player__now .nr-eq i { animation: none; }
}

/* 監修21：補助の文字は PC 14px・SP 12px 以上（タグ・札も） */
.nr-wk-bar__no { font-size: 12px; }
@media (min-width: 768px) { .nr-wk-filter__label, .nr-wk-count, .nr-wk-count span, .nr-wk-bar__no, .nr-wk-bar__time, .nr-wk-tags span { font-size: 14px !important; letter-spacing: .06em !important; } .nr-wk-bar__no { width: 38px; height: 38px; } }

/* 監修2周目：PC の見出しの右の NOW PLAYING ジャケット（再生バーと連動） */
.nr-wk-np { display: none; }
@media (min-width: 1024px) {
  .nr-wk-head { position: relative; }
  .nr-wk-np { display: block; position: absolute; right: calc(100px - (100vw - 100%) / 2); top: 24px; width: clamp(240px, 20vw, 300px); transform: rotate(3deg); }
  .nr-wk-np__lbl { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; font-family: var(--en-demibold-font); font-weight: 600; font-size: 14px; letter-spacing: .16em; color: var(--nm-ink); }
  .nr-wk-np__lbl .nr-eq i { background: var(--nm-ink); animation: nr-bounce .55s ease-in-out infinite; } .nr-wk-np__lbl .nr-eq i:nth-child(2) { animation-delay: -.25s; } .nr-wk-np__lbl .nr-eq i:nth-child(3) { animation-delay: -.4s; }
  .nr-wk-np__jk { position: relative; aspect-ratio: 1; border: 2px solid var(--nm-ink); border-radius: 12px; overflow: hidden; background: #e9dcc0; box-shadow: 10px 10px 0 var(--nm-ink); }
  .nr-wk-np__ph { position: absolute; inset: 0; background: center / cover no-repeat; transition: opacity .5s var(--nr-ease), transform .9s var(--nr-ease); }
  .nr-wk-np__ph.is-out { opacity: 0; transform: scale(1.06); }
  .nr-wk-np__ttl { display: flex; align-items: center; gap: 10px; margin-top: 22px; }
  .nr-wk-np__ttl b { display: inline-grid; place-items: center; min-width: 38px; height: 26px; border-radius: 999px; background: var(--nm-ink); color: var(--nm-yellow); font-family: var(--en-demibold-font); font-weight: 600; font-size: 14px; letter-spacing: .08em; }
  .nr-wk-np__ttl span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--ja-bold-font); font-weight: 700; font-size: 16px; letter-spacing: .04em; color: var(--nm-ink); }
}
@media (prefers-reduced-motion: reduce) { .nr-wk-np__ph { transition: none; } .nr-wk-np__lbl .nr-eq i { animation: none; } }
/* ver5 初見監修 中4：右上の固定ボタン（幅50px）に3列目の時間表示が隠れないよう、格子の右端を 1290px まで詰める */
@media (min-width: 1280px) { main[data-page="works"] .nr-wk-list.nm-works-alpha { margin-right: 70px; } }
