
/* ============== */
/* common */
/* ============== */
.topSectionLead h2 {
  font-family: var(--familyPoppins);
  font-weight: 600;
  line-height: 1.2;
  font-size: clamp(2rem, 0.592rem + 6.01vw, 6rem);
}
.topSectionLead__text {
  font-size: clamp(0.875rem, 0.787rem + 0.38vw, 1.125rem);
  font-weight: 500;
  line-height: 1;
  padding-left: 1.5rem;
  position: relative;
}
.topSectionLead__text::before {
  content: "";
  background: url(../../images/top/icon_sention-title.png) no-repeat center center / contain;
  width: 0.875rem;
  height: 1.1875rem;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

/* ============== */
/* ファーストビュー */
/* ============== */

.fv {
  position: relative;
  width: 100%;
  height: 61vw;
  overflow-x: clip;
}
.fv__titles {
  position: absolute;
  top: 10.067vw;
  left: 5.55vw;
  z-index: var(--indexMostTopText);
}
.fv__title {
  font-size: 3.89vw;
  font-weight: 900;
  line-height: 1.52;
}
.fv__title span {
  /* letter-spacing: -4em; */
  letter-spacing: -22.4px;
}
.fv__text {
  font-size: 1.25vw;
  font-weight: 500;
  line-height: 210%;
  margin-top: 1.67vw;
}
.fv__line {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  color: var(--textRed);
}
.fv__line-sp {
  display: none;
}

.fv__ring {
  position: absolute;
  animation: float 3s ease-in-out infinite;
}
.fv__ring img {
  display: block;
  width: 100%;
}
.fv__ring:first-of-type {
  width: 12.1361vw;
  top: 32.6306vw;
  left: 16.37257vw;
  z-index: var(--indexRingTop);
}
.fv__ring:nth-of-type(2) {
  width: 12vw;
  top: 32.9vw;
  left: 16.5vw;
  z-index: var(--indexRingBottom);
}
.fv__ring:nth-of-type(3) {
  width: 24vw;
  top: 30vw;
  left: 41vw;
  z-index: var(--indexRingBottom);
  animation: floatReverse 3s ease-in-out infinite;
}
.fv__ring:nth-of-type(4) {
  width: 24vw;
  top: 30vw;
  left: 41vw;
  z-index: var(--indexRingTop);
  animation: floatReverse 3s ease-in-out infinite;
}
.fv__ring:nth-of-type(5) {
  width: 40vw;
  top: 0vw;
  right: 0vw;
  z-index: var(--indexRingTop);
}
.fv__ring:nth-of-type(6) {
  width: 40vw;
  top: 0vw;
  right: 0vw;
  z-index: var(--indexRingBottom);
}

@media screen and (max-width: 768px) {
  .fv {
    height: 143.733vw;
  }
  .fv__titles {
    top: 32.267vw;
    left: 8vw;
  }
  .fv__title {
    font-size: 7.467vw;
  }
  .fv__title span {
    letter-spacing: -11.2px;
  }
  .fv__text {
    font-size: 4.267vw;
    line-height: 200%;
    margin-left: 4vw;
    margin-top: 6.4vw;
  }
  .fv__line-sp {
    display: block;
  }
  .fv__line-pc {
    display: none;
  }
  .fv__ring:first-of-type {
    width: 17vw;
    top: 116vw;
  }
  .fv__ring:nth-of-type(2) {
    width: 17vw;
    top: 116.9vw;
  }
  .fv__ring:nth-of-type(3) {
    width: 30vw;
    top: 113vw;
    left: 48vw;
  }
  .fv__ring:nth-of-type(4) {
    width: 30vw;
    top: 113vw;
    left: 48vw;
  }
  .fv__ring:nth-of-type(5) {
    width: 48vw;
  }
  .fv__ring:nth-of-type(6) {
    width: 48vw;
  }
}

@media screen and (max-width: 500px) {
}

/* =================== */
/* KADODEについて */
/* =================== */
.about {
  padding-bottom: 21vw;
  position: relative;
  overflow-x: clip;
}
.about__container {
  display: flex;
  justify-content: space-between;
}
.about__contents {
  margin-top: 8rem;
}
.about__text {
  max-width: 31.1875rem;
  line-height: 2.4;
  font-size: 1.25rem;
  font-weight: 500;
}

.about__text + .about__text {
  margin-top: 2.4em;
}

.about__button {
  text-align: right;
  margin-top: 4rem;
}

.item {
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.about__bg {
  position: absolute;
  top: 17.7rem;
  left: 0;
  width: 100%;
  z-index: -1;

  .item-1 {
    background-image: url(../../images/top/about-bg_item-round.png);
    width: 9.93056vw;
    aspect-ratio: 1 / 1;
    top: 0;
    left: 28vw;
    z-index: var(--indexRingTop);
  }
  .item-2 {
    background-image: url(../../images/top/about-bg_item-long.png);
    width: 3.098056vw;
    height: 2.030278vw;
    top: 15vw;
    left: 16vw;
    z-index: var(--indexRingTop);
  }
  .item-3 {
    background-image: url(../../images/top/about-bg_item-dot.png);
    width: min(8px, 0.56vw);
    aspect-ratio: 1 / 1;
    top: 21vw;
    left: 17vw;
    z-index: var(--indexRingTop);
  }
  .item-4 {
    background-image: url(../../images/top/about-bg_item-dot.png);
    width: min(20px, 1.389vw);
    aspect-ratio: 1 / 1;
    top: 17vw;
    left: 41vw;
    z-index: var(--indexRingTop);
  }
  .item-5 {
    background-image: url(../../images/top/about-bg_item-square.png);
    width: 4.7917vw;
    aspect-ratio: 1 / 1;
    top: 24vw;
    left: 32vw;
    z-index: var(--indexRingTop);
  }
  .item-6-bottom {
    background-image: url(../../images/top/about-bg_item-6-bottom.png);
    width: 16.92153vw;
    height: 24.9674vw;
    top: 20vw;
    left: 54vw;
    z-index: var(--indexRingBottom);
  }
  .item-6-top {
    background-image: url(../../images/top/about-bg_item-6-top.png);
    width: 17.389vw;
    height: 24.9674vw;
    top: 20vw;
    left: 54vw;
    z-index: var(--indexRingTop);
  }
  .item-7-bottom {
    background-image: url(../../images/top/about-bg_item-7-bottom.png);
    width: 4.87125vw;
    height: 9.15278vw;
    top: 34vw;
    left: 80vw;
    z-index: var(--indexRingBottom);
  }
  .item-7-top {
    background-image: url(../../images/top/about-bg_item-7-top.png);
    width: 4.9306vw;
    height: 9.15278vw;
    top: 34vw;
    left: 80vw;
    z-index: var(--indexRingTop);
  }
}
@media screen and (max-width: 768px) {
  .about {
    padding-bottom: 46vw;
    padding-top: 2rem;
  }
  .about__contents {
    margin-top: 0;
  }
  .about__container {
    display: block;
  }
  .about__bg {
    top: auto;
    bottom: 0;/*固定 */

    .item-1 {
      width: 13.867vw;
      top: 2vw;
      left: 24vw;
    }
    .item-2 {
      width: 4.52267vw;
      height: 5.08vw;
      top: 22vw;
      left: 6vw;
    }
    .item-3 {
      width: min(6px, 1.6vw);
      top: 36vw;
      left: 11vw;
    }
    .item-4 {
      width: min(16px, 4.267vw);
      top: 30vw;
      /* left: 41vw; */
    }
    .item-5 {
      width: 6.4vw;
      top: 38vw;
      left: 29vw;
    }
    .item-6-bottom {
      width: 23.256vw;
      height: 19.9653vw;
      top: 37vw;
      left: 53vw;
    }
    .item-6-top {
      width: 23.896vw;
      height: 20.568vw;
      top: 37vw;
      left: 53vw;
    }
    .item-7-bottom {
      width: 6.57067vw;
      height: 8.456vw;
      top: 51vw;
      left: 81vw;
    }
    .item-7-top {
      width: 6.776vw;
      height: 8.68267vw;
      top: 51vw;
      left: 81vw;
    }
  }
  .about__text {
    font-size: 1rem;
    max-width: 100%;
    margin-top: 2rem;
    line-height: 2;
  }
  .about__button {
    margin-top: 2rem;
  }
}


/* =================== */
/* 事業紹介 */
/* =================== */
.business {
  overflow-x: clip;
}
.business__head {
  margin-top: 3.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5%;

  .button {
    white-space: nowrap;
  }
}
.business__text {
  line-height: 2;
  font-weight: 500;
  font-size: 1rem;
}
.bg-object-a {
  min-height: auto;
}
.business__contents {
  margin-block: 6rem 1rem;
}
.businessList {
  border-bottom: 1px solid var(--colorBlack);
  position: relative;
  background-color: #fff;
  overflow: hidden;
}
.businessList a {
  display: block;
  padding-block: 4.25rem;
  transition: padding-block .3s;
}
.businessList a::before {
  content: "";
  width: 100%;
  height: 0;
  background: linear-gradient(244deg, #E7211A 46.97%, #FFA530 95.68%);
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity .3s, height .3s;
  z-index: 1;
  pointer-events: none;
}
.businessList a::after {
  content: "";
  width: 100%;
  height: 0;
  background: linear-gradient(244deg, #E7211A 46.97%, #FFA530 95.68%);
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0;
  transition: opacity .3s, height .3s;
  z-index: 1;
  pointer-events: none;
}
.businessList:first-of-type {
  border-top: 1px solid var(--colorBlack);
}

.businessList__container {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  position: relative;
}
.businessList__container::after {
  content: "";
  width: 15.25rem;
  height: 15.24rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: -3.375rem;
  right: 14.5rem;
  opacity: 0;
  transition: opacity 0.3s;
}
.businessList:nth-of-type(1) .businessList__container::after {
  background-image: url(../../images/top/business-01-pc.png);
}
.businessList:nth-of-type(2) .businessList__container::after {
  background-image: url(../../images/top/business-02-pc.png);
}
.businessList:nth-of-type(3) .businessList__container::after {
  background-image: url(../../images/top/business-03-pc.png);
}
.businessList:nth-of-type(4) .businessList__container::after {
  background-image: url(../../images/top/business-04-pc.png);
}
.businessList__icon-arrow {
  display: inline-grid;
  place-items: center;
  width: 5rem;
  height: 5rem;
  aspect-ratio: 1 / 1;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%) scale(1.0);
  z-index: 2;
  overflow: hidden;
}
.businessList__icon-arrow svg {
  color: #fff;
  width: 1rem;
  height: 1rem;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: all .3s;
  z-index: 2;
  path {
    stroke: #fff;
  }
}
/* 青丸用 */
.businessList-icon__bg {
  display: inline-block;
  width: 3.5rem;
  height: 3.5rem;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background-color: var(--linkBlue);
  border: 1px solid var(--linkBlue);
  transition: background-color 0.3s, transform .3s;
  overflow: hidden;
}

/* ホバー用 white */
.businessList-icon__bg::before {
  background: #fff;
  content: "";
  pointer-events: none;
  position: absolute;
  right: 0%;
  bottom: 0%;
  width: 200%;
  height: 200%;
  transform: rotate(-45deg) translate(30%, 110%);
  transform-origin: right bottom;
  transition: transform .5s ease;
  z-index: 1;
}

.businessList__number {
  font-family: var(--familyPoppins);
  font-size: clamp(0.75rem, 0.574rem + 0.75vw, 1.25rem);
  font-weight: 600;
  line-height: 100%;
  height: fit-content;
}
.businessList__en {
  font-family: var(--familyPoppins);
  font-size: clamp(1.375rem, 0.627rem + 3.19vw, 3.5rem);
  font-weight: 600;
  line-height: 100%;
  width: fit-content;
  padding-bottom: 1rem;
}
.businessList__title {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.889;
}
.businessList__text {
  color: var(--colorBlack-2);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.71429;
  margin-top: 0.25rem;
}

@keyframes flashShadowTop {
  0% {
    opacity: 0;
    height: 0;
    transform: scale(1);
  }
  
  20% {
    opacity: .7;
  }
  
  100% {
    opacity: 0;
    height: 1.5rem;
    transform: scale(2);
  }
}

@keyframes flashShadowBottom {
  0% {
    opacity: 0;
    height: 0;
    transform: scale(1);
  }
  
  20% {
    opacity: .7;
  }
  
  100% {
    opacity: 0;
    height: 1rem;
    transform: scale(2);
  }
}

@media (hover:hover) {
  .businessList a:hover .businessList__number,
  .businessList a:hover .businessList__en {
    background: linear-gradient(244deg, #E7211A 46.97%, #FFA530 95.68%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .businessList a:hover::before {
    animation: flashShadowTop .5s ease-out;
  }
  .businessList a:hover::after {
    animation: flashShadowBottom .5s ease-out;
  }
  .businessList a:hover .businessList__container::after {
    opacity: 1;
  }
  /* PC青アイコン */
  .businessList a:hover .businessList-icon__bg {
    transform: scale(1.4286);
  }
  .businessList a:hover .businessList__icon-arrow svg {
    transform: translate(-50%, -50%) scale(1.4286);
    path {
      stroke: var(--linkBlue);
    }
  }
  .businessList a:hover .businessList-icon__bg::before {
    transform: rotate(-45deg) translate(50%, 10%);
  }
}
.businessList a:focus-visible {
  padding-block: 4.25rem;
}
.businessList a:focus-visible .businessList__number,
.businessList a:focus-visible .businessList__en {
  background: linear-gradient(244deg, #E7211A 46.97%, #FFA530 95.68%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.businessList a:focus-visible::before {
  animation: flashShadowTop .5s ease-out;
}
.businessList a:focus-visible::after {
  animation: flashShadowBottom .5s ease-out;
}
.businessList a:focus-visible .businessList__container::after {
  opacity: 1;
}
/* PC青アイコン */
.businessList a:focus-visible .businessList-icon__bg {
  transform: scale(1.4286);
}
.businessList a:focus-visible .businessList__icon-arrow svg {
  transform: translate(-50%, -50%) scale(1.4286);
  path {
    stroke: var(--linkBlue);
  }
}
.businessList a:focus-visible .businessList-icon__bg::before {
  transform: rotate(-45deg) translate(50%, 10%);
}

@media screen and (max-width: 768px) {
  .business {
    padding-bottom: 0;
    margin-top: 6vw;
  }
  .business__head {
    flex-direction: column;
    gap: 2rem;
    margin-top: 2rem;

    .button {
      margin-left: auto;
    }
  }
  .business__contents {
    margin-block: 2rem;
  }
  .businessList__container {
    padding-inline: 1rem 1.25rem;
    gap: 0.5rem;
  }
  .businessList__container::after {
    content: "";
    width: 5.8125rem;
    height: 3.5rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    right: 1.2rem;
    opacity: 1;
  }
  .businessList:nth-of-type(1) .businessList__container::after {
    background-image: url(../../images/top/business-arrow-01-sp.png);
  }
  .businessList:nth-of-type(2) .businessList__container::after {
    background-image: url(../../images/top/business-arrow-02-sp.png);
  }
  .businessList:nth-of-type(3) .businessList__container::after {
    background-image: url(../../images/top/business-arrow-03-sp.png);
  }
  .businessList:nth-of-type(4) .businessList__container::after {
    background-image: url(../../images/top/business-arrow-04-sp.png);
  }
  
  .businessList a {
    padding-block: 2.15rem;
  }
  .businessList__en {
    padding-bottom: 0.125rem;
  }
  .businessList__title {
    font-size: 1rem;
  }
  .businessList__text {
    margin-top: 0.125rem;
  }
  .businessList__icon-arrow.for-pc {
    display: none;
  }
}

/* =================== */
/* 事業紹介 */
/* =================== */
.knowlege{
  overflow-x: clip;
  position: relative;
  margin-block: 0 10rem;
}
.knowlege__contents {
  margin-top: 6rem;
}
@media screen and (max-width: 767px) {
  .knowlege__contents {
    margin-top: 2rem;
  }
}

/* =================== */
/* 採用情報 */
/* =================== */
.recruit {
  overflow-x: clip;
  padding-top: min(13.4375rem, 14.93056vw);
  padding-bottom: min(25.4375rem, 41.2639vw);
  background: url(../../images/top/recruit-bg.webp) no-repeat top left / cover;
  width: 100%;
  color: #fff;
  position: relative;
  
  .topSectionLead h2,
  .topSectionLead__text {
    color: #fff;
    position: relative;
    z-index: var(--indexRingTop);
  }

  .container {
    z-index: var(--indexMostTopText);
    position: relative;
  }
}
.rectuit__contents {
  position: absolute;
  right: 5.56vw;
}
.rectuit__text {
  color: #fff;
  font-size: clamp(1.25rem, 0.986rem + 1.13vw, 2rem);
  font-weight: 700;
  line-height: 165%;
}
.rectuit__button {
  margin-top: 5rem;
  text-align: right;
}

.recruit__bg {
  position: absolute;
  bottom: min(4rem, 4.44vw);
  left: 0;
  width: 100%;

  .item-1-bottom {
    background-image: url(../../images/top/recruit-bg_item-1-bottom.png);
    width: 6.604861vw;
    height: 8.19vw;
    bottom: 6vw;
    left: 5vw;
    z-index: var(--indexRingBottom);
  }
  .item-1-top {
    background-image: url(../../images/top/recruit-bg_item-1-top.png);
    width: 6.78264vw;
    height: 8.3507vw;
    bottom: 6vw;
    left: 5vw;
    z-index: var(--indexRingTop);
  }
  .item-2-bottom {
    background-image: url(../../images/top/recruit-bg_item-2-bottom.png);
    width: 7.1625vw;
    height: 14.10139vw;
    bottom: 4vw;
    left: 26vw;
    z-index: var(--indexRingBottom);
  }
  .item-2-top {
    background-image: url(../../images/top/recruit-bg_item-2-top.png);
    width: 8.357vw;
    height: 13.31806vw;
    bottom: 4vw;
    left: 26vw;
    z-index: var(--indexRingTop);
  }
}

@media screen and (max-width: 768px) {
  .recruit {
    padding-top: 15vw;
    padding-bottom: 15vw;
  }
  .rectuit__contents {
    position: static;
    bottom: auto;
    right: auto;
    margin-top: 2rem;
    line-height: 1.65;
    font-size: 1.25rem;
  }
  .rectuit__button {
    margin-top: 2rem;
  }
  .recruit__bg {
    bottom: -24vw;

    .item-1-bottom {
      background-image: url(../../images/top/recruit-bg_item-1-bottom.png);
      width: 11.32vw;
      height: 13.1093vw;
      bottom: 9vw;
      left: 13vw;
      z-index: var(--indexRingBottom);
    }
    .item-1-top {
      background-image: url(../../images/top/recruit-bg_item-1-top.png);
      width: 12.6vw;
      height: 13.36267vw;
      bottom: 9vw;
      left: 13vw;
      z-index: var(--indexRingTop);
    }
    .item-2-bottom {
      background-image: url(../../images/top/recruit-bg_item-2-bottom.png);
      width: 11.62933vw;
      height: 19.6613vw;
      bottom: 6.5vw;
      left: 50vw;
      z-index: var(--indexRingBottom);
    }
    .item-2-top {
      background-image: url(../../images/top/recruit-bg_item-2-top.png);
      width: 11.933vw;
      height: 18.9973vw;
      bottom: 6.5vw;
      left: 50vw;
      z-index: var(--indexRingTop);
    }
  }
}

/* =================== */
/* ニュース */
/* =================== */
.news {
  margin-block: 6rem 16rem;
  position: relative;
  overflow-x: clip;
}
.news {
  position: relative;
  z-index: var(--indexMostTopText);
}
.news__contents {
  margin-top: 3rem;
  display: flex;
  justify-content: space-between;
  gap: 2rem;
}
.news__categories {
  flex: 0 0 8rem;
  display: flex;
  flex-direction: column;
}
.news__categories-button {
  border: none;
  background-color: inherit;
  font-family: var(--familyNotoSans);
  padding: 1em 0 1em 1em;
  display: inline-block;
  width: fit-content;
  position: relative;
  transition: color .3s;
  font-weight: 600;
  white-space: nowrap;
}
.news__categories-button::before {
  content: "";
  background-color: #A6A6A6;
  width: 0.3125rem;
  height: 0.3125rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  transition: all .3s;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.news__categories-button.is-active {
  color: var(--textRed);
  &::before {
    background-color: var(--textRed);
    width: 0.375rem;
    height: 0.375rem;
  }
}
@media (hover:hover) {
  .news__categories-button:hover {
    color: var(--textRed);
    cursor: pointer;
  }
  .news__categories-button:hover::before {
    background-color: var(--textRed);
    width: 0.375rem;
    height: 0.375rem;
  }
}
.news__categories-button:focus-visible {
  color: var(--textRed);
  cursor: pointer;
}
.news__categories-button:focus-visible::before {
  background-color: var(--textRed);
  width: 0.375rem;
  height: 0.375rem;
}

.news__lists {
  max-width: 781px;
  flex: 1;
}
.newsList {
  border-bottom: 1px solid #eee;
  position: relative;
}
.newsList::after {
  content: "";
  background: url(../../images/common/icon_button-blue-_arrow-right.svg) no-repeat center center / contain;
  width: 2rem;
  height: 2rem;
  aspect-ratio: 1 / 1;
  position: absolute;
  right: 0;
  bottom: 2rem;
  opacity: 0;
  transition: opacity .3s;
}
.newsList__link {
  display: block;
  padding-block: 2rem 3rem;
}
.newsList__time {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 288.571%;
  display: inline-block;
  width: fit-content;
  color: #A6A6A6;
  font-family: var(--familyPoppins);
}
.newsList__tag {
  display: inline-block;
  width: fit-content;
  margin-left: 0.5rem;
  border-radius: 2px;
  background-color: #eee;
  color: #A6A6A6;
  font-size: 0.625rem;
  padding: 0.4em 1.2em;
}
.newsList__title {
  margin-top: 0.5rem;
  font-weight: 400;
  line-height: 2;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
@media (hover:hover) {
  .newsList:hover::after {
    opacity: 1;
  }
  .newsList:hover .newsList__title {
    padding-right: 3.5rem;
  }
}
.newsList:focus-visible::after {
  opacity: 1;
}
.newsList:focus-visible .newsList__title {
  padding-right: 3.5rem;
}

.news__button {
  margin-top: 6rem;
  text-align: right;
}

.news__bg {
  position: absolute;
  bottom: 0vw;
  left: 0;
  width: 100%;
  z-index: -2;

  .news__bg-line-1 {
    position: absolute;
    bottom: 0vw;
    left: -4vw;
    width: 104%;
    z-index: var(--indexLine);
  }
  .news__bg-line-2 {
    position: absolute;
    bottom: -5vw;
    left: 0;
    width: 104%;
    z-index: var(--indexLine);
  }
  .news__ring {
    position: absolute;
    img {
      width: 100%;
    }
  }
  .item-1-bottom {
    width: 10.34583vw;
    bottom: -8vw;
    left: 12.5vw;
    z-index: var(--indexRingBottom);
  }
  .item-1-top {
    width: 10.524305vw;
    bottom: -8vw;
    left: 12.5vw;
    z-index: var(--indexRingTop);
  }
}

@media screen and (max-width: 1180px) {
  .news__bg {
    .news__bg-line-1 {
      bottom: -8vw;
    }
    .news__bg-line-2 {
      bottom: -8vw;
    }
  }
}

@media screen and (max-width: 768px) {
  .news {
    margin-block: 24vw 0;
    padding-block: 2rem;
  }
  .news__contents {
    flex-direction: column;
    margin-top: 2rem;
    gap: 1.5rem;
  }
  .news__categories {
    flex-direction: row;
    gap: 1.5rem;
    flex: auto;
    overflow-x: auto;
    padding-bottom: 0.5rem;
  }
  .news__categories-button {
    padding: 0 0 0 0.8125rem;
  }
  .newsList:first-of-type .newsList__link {
    border-top: 1px solid #eee;
  }
  .newsList__link {
    padding-block: 1.25rem 1.5rem;
  }
  .newsList__time {
    font-size: 0.75rem;
    line-height: 266.667%;
  }
  .newsList__title {
    margin-top: 0.025rem;
    line-height: 171.429%;
    -webkit-line-clamp: 2;
  }
  .news__button {
    margin-top: 2rem;
  }
}

/* =================== */
/* マウスストーカー */
/* =================== */
#cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  pointer-events: none;
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  will-change: transform;
}

/* 表示状態（JSで制御） */
#cursor.is-active {
  opacity: 1;
  visibility: visible;
}

/* 内部の青い円（バウンスアニメーション） */
.cursor-inner {
  width: 100%;
  height: 100%;
  background-color: #002DD1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: scale(0);
  /* 弾むようなイージング（1.8という数値がバウンスの肝） */
  transition: transform 0.5s cubic-bezier(0.34, 1.8, 0.64, 1);
}

#cursor.is-active .cursor-inner {
  transform: scale(1);
}

/* 矢印SVG（白抜き） */
#cursor svg {
  width: 28px;
  height: 28px;
  display: block;
}

.js-clickable-section {
  cursor: none; /* セクション内では標準カーソルを完全に消す */
}

@media screen and (max-width: 768px) {
  #cursor {
    display: none;
  }
}