@keyframes kira1 {
  0% {
    opacity: 0;
  }
  60% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes kira2 {
  0% {
    opacity: 1;
  }
  10% {
    opacity: 1;
  }
  20% {
    opacity: 0;
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}

@keyframes infinite_scroll_x {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(-360deg);
  }
}
.itemCharacterPage {
  .l-wrapper {
    &::before {
      content: "";
      position: fixed;
      inset: 0;
      background: #000 url(/assets/item_character/saint_seiya_series/img/bg.jpg)
        no-repeat center top / cover;
      z-index: 0;
      @media only screen and (max-width: 767px) {
      }
    }
  }
  .ssFixedBg {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    --duration: 40s;
    li {
      position: absolute;
      inset: 0;
      animation: kira1 3s linear 0s infinite;
      background: url(/assets/item_character/saint_seiya_series/img/star1.png)
        no-repeat center top / cover;
      &:nth-child(2) {
        animation: kira2 3s linear 0s infinite;
        background: url(/assets/item_character/saint_seiya_series/img/star2.png)
          no-repeat center top / cover;
      }
    }
  }
  .pageHeading__title {
    font-family: var(--font-serif);
    color: #eec748;
    font-weight: 300;
    position: relative;
    padding-bottom: calc(34em / 48);
    &::before {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      padding-bottom: calc(40em / 48);
      background: url(/assets/item_character/saint_seiya_series/img/title_obj.png)
        no-repeat center center / auto 100%;
    }
  }
  .kv {
    color: #fff;
    margin-bottom: min(30px, calc(30% / 12));
  }

  .leadSection {
    padding-top: 1px;
    margin-bottom: 0;
    position: relative;
    text-align: center;
    @media only screen and (min-width: 768px) {
      min-height: min(916px, calc(916vw / 12));
    }
  }
  .block-mv {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: min(916px, calc(916vw / 12));
    overflow: hidden;
    -webkit-mask: linear-gradient(to top, transparent 3%, #000 18%, #000 100%);
    &::before {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      width: min(1500px, calc(1500% / 12));
      aspect-ratio: 1800 / 1100;
      background: url(/assets/item_character/saint_seiya_series/img/bg_mv_00.webp)
        no-repeat center top / cover;
      @media only screen and (min-width: 1500px) {
        width: 100%;
        height: 916px;
        background-size: 100% 100%;
      }
      @media only screen and (max-width: 767px) {
        width: calc(1000% / 7.5);
        aspect-ratio: 1800 / 990;
        background-position: center bottom;
      }
    }
    ._bg {
      position: absolute;
      top: 0;
      left: 50%;
      width: min(1490px, calc(1490% / 12));
      height: auto;
      aspect-ratio: 1490 / 800;
      overflow: hidden;
      transform: translateX(-50%);
      @media only screen and (max-width: 767px) {
        width: calc(780% / 7.5);
      }
      ._bg-inner {
        position: absolute;
        background: url(/assets/item_character/saint_seiya_series/img/star.png)
          no-repeat center center / cover;
        inset: 0;
        bottom: auto;
        aspect-ratio: 1 / 1;
        animation: infinite_scroll_x 240s linear 0s infinite;
        div {
          position: absolute;
          inset: 0;
          background: url(/assets/item_character/saint_seiya_series/img/star_line.png)
            no-repeat center center / cover;
          opacity: 1;
          transition-duration: 0.5s;
          body.js-mv-start2 & {
            opacity: 1;
          }
        }
      }
    }
    ._earth {
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      width: min(1500px, calc(1500% / 12));
      aspect-ratio: 1800 / 1100;
      background: url(/assets/item_character/saint_seiya_series/img/earth.png)
        no-repeat center center / cover;
      @media only screen and (min-width: 1500px) {
        width: 100%;
        height: 916px;
        background-size: 100% 100%;
      }
      @media only screen and (max-width: 767px) {
        width: calc(1000% / 7.5);
        aspect-ratio: 1800 / 990;
        background-position: center bottom;
      }
    }
  }
  .leadSection__inner {
    position: relative;
    margin-top: min(320px, calc(320% / 12));
    padding-top: 0;
    text-align: center;
    @media only screen and (max-width: 767px) {
      margin-top: calc(280% / 7.5);
    }
  }
  .seriesSection__logo {
    margin-bottom: calc(15em / 16);
    @media only screen and (max-width: 767px) {
      margin-bottom: calc(30em / 26);
    }
    img {
      width: auto;
      max-height: calc(140em / 16);
      @media only screen and (max-width: 767px) {
        max-height: calc(140em / 26);
      }
    }
  }

  .leadSection__lead {
    font-size: calc(26em / 16);
    font-family: var(--font-serif);
    margin-bottom: 0.5em;
    font-weight: 600;
    text-shadow: 0px 0 calc(5em / 26) #081430;
    @media only screen and (max-width: 767px) {
      font-size: calc(36em / 26);
    }
  }
  .leadSection__txt {
    font-family: var(--font-serif);
    text-shadow: 0px 0 calc(5em / 16) #081430;
    font-weight: 600;
    @media only screen and (max-width: 767px) {
      font-size: calc(22em / 26);
    }
  }
  .seriesInfo__title {
    font-size: calc(48em / 16);
    font-family: var(--font-serif);
    color: #eec748;
    font-weight: 300;
    position: relative;
    padding-bottom: calc(34em / 48);
    @media only screen and (max-width: 767px) {
      font-size: calc(60em / 26);
    }
    &::before {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      padding-bottom: calc(40em / 48);
      background: url(/assets/item_character/saint_seiya_series/img/title_obj.png)
        no-repeat center center / auto 100%;
    }
  }
  .ssBrandSection {
    position: relative;
  }
  .ssBrandSection__txt {
    width: fit-content;
    margin-inline: auto;
    margin-bottom: calc(40em / 16);
    @media only screen and (max-width: 767px) {
      font-size: calc(22em / 26);
    }
  }
  .ssBrandList {
    margin-inline: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: calc(50em / 18) calc(25% / 9);
    @media only screen and (min-width: 768px) {
      width: calc(900% / 11.2);
    }
    @media only screen and (max-width: 767px) {
      gap: calc(50em / 18) calc(10% / 6.9);
    }
    li {
      width: calc(236% / 9);
      @media only screen and (max-width: 767px) {
        width: calc(223% / 6.9);
      }
      a {
        display: block;
      }
    }
  }
  .itemSlide .itemList__item__inner:not(:has(> a)),
  .itemSlide .itemList__item__inner a {
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    border: solid 1px #fff;
    border-radius: 0;
    .itemList__thumb {
      border-radius: 0;
    }
  }
  .itemList__prev,
  .itemList__next {
    border-radius: 0;
    --btnColor: #000;
    --btnBgColor: #eec748;
    border-width: 0;
  }

  .ssMovSec__movBox {
    @media only screen and (min-width: 768px) {
      width: calc(1000% / 11.2);
      margin-inline: auto;
    }
  }
  .ssModal {
    color: #000;
    text-align: center;
    .modal-content {
      background-color: #ecdfc7;
      position: relative;
      &::before {
        content: "";
        position: absolute;
        inset: 0;
        background: url(/assets/item_character/saint_seiya_series/img/modal/bg.png)
          no-repeat center top / 100% auto;
        margin-bottom: calc(70% / 11.2);
        @media only screen and (max-width: 767px) {
          background-image: url(/assets/item_character/saint_seiya_series/img/modal/bg_sp.png);
        }
      }
      &::after {
        content: "";
        position: absolute;
        inset: 0;
        top: auto;
        background: url(/assets/item_character/saint_seiya_series/img/modal/bg.png)
          no-repeat center top / 100% auto;
        padding-bottom: calc(70% / 11.2);
        transform: scaleY(-1);
        @media only screen and (max-width: 767px) {
          background-image: url(/assets/item_character/saint_seiya_series/img/modal/bg_sp.png);
        }
      }
    }
    ._logo {
      width: calc(330em / 16);
      margin-bottom: calc(20em / 16);
      margin-inline: auto;
      img {
        width: 100%;
        height: auto;
        display: block;
      }
    }
    ._title {
      font-size: calc(34em / 16);
      line-height: 1.5;
    }
    ._sup {
      font-size: calc(20em / 16);
      line-height: 1.5;
      @media only screen and (max-width: 767px) {
        font-size: calc(26em / 26);
      }
    }
    ._row-header {
      position: relative;
      &::after {
        content: "";
        display: block;
        margin: calc(20em / 16) auto;
        background: url(/assets/item_character/saint_seiya_series/img/modal/deco1.png)
          left top no-repeat;
        background-size: contain;
        width: calc(127em / 16);
        aspect-ratio: 127/ 14;
      }
    }
    ._row-body {
      width: calc(900% / 10.3);
      margin-inline: auto;
      margin-bottom: calc(40em / 16);
      p {
        text-align: left;
        width: fit-content;
        margin-inline: auto;
      }
    }
    .ssModal__link {
      a,
      button {
        border-radius: 0;
      }
    }
  }
  .ssCountSection {
    @media only screen and (min-width: 768px) {
      width: calc(1000% / 11.2);
      margin-inline: auto;
    }
    @media only screen and (max-width: 767px) {
    }
  }
  .ssCountSection__header {
    text-align: center;
    margin-bottom: calc(40em / 16);
    @media only screen and (max-width: 767px) {
      margin-bottom: calc(40em / 26);
    }
  }
  .ssCountSection__headerLogo {
    width: calc(138em / 16);
    margin-inline: auto;
    margin-bottom: calc(20em / 16);
    @media only screen and (max-width: 767px) {
      width: calc(160em / 26);
    }
  }
  .ssCountSection__sTitle {
    font-size: calc(32em / 16);
    line-height: 1.5;
    font-weight: 400;
    background: linear-gradient(to bottom, #ffefb0, #fff6d2, #f7cb6b);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    @media only screen and (max-width: 767px) {
      font-size: calc(36em / 26);
    }
  }
  .ssCountSection__title {
    font-size: calc(52em / 16);
    line-height: 1.5;
    font-weight: 400;
    background: linear-gradient(to bottom, #ffefb0, #fff6d2, #f7cb6b);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    width: fit-content;
    margin-inline: auto;
    padding-inline: calc(86em / 52);
    position: relative;
    @media only screen and (max-width: 767px) {
      font-size: calc(46em / 26);
    }
    &::before,
    &::after {
      content: "";
      position: absolute;
      top: 55%;
      width: calc(68em / 52);
      aspect-ratio: 68 / 32;
      background: linear-gradient(to bottom, #ffefb0, #fff6d2, #f7cb6b);
      mask: url(/assets/item_character/saint_seiya_series/img/count/obj_title.png)
        no-repeat center center / contain;
      transform: translateY(-50%);
    }
    &::before {
      left: 0;
      transform: scaleX(-1) translateY(-50%);
    }
    &::after {
      right: 0;
    }
  }
  ._hidokei {
    margin-bottom: calc(40% / 10);
    border: 2px solid #eec748;
    box-sizing: border-box;
  }
  .ssCounMeasure__header {
    aspect-ratio: 1147 / 150;
    background: url(/assets/item_character/saint_seiya_series/img/count/frame_title.png)
      no-repeat center center / 100% 100%;
    display: table;
    width: 100%;
    position: relative;
    z-index: 1;
    @media only screen and (max-width: 767px) {
      aspect-ratio: 1147 / 200;
    }
  }
  .ssCounMeasure__title {
    line-height: 1.5;
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    font-size: calc(32em / 16);
    @media only screen and (max-width: 767px) {
      font-size: calc(30em / 26);
    }
  }
  .ssCounMeasure__main {
    background: rgba(65, 52, 167, 0.2);
    border: 1px solid #5c6d96;
    border-top: 0px;
    margin-top: -15px;
    margin-inline: calc(25% / 10);
    padding: calc(80% / 10) calc(86% / 10) calc(70% / 10);
    box-sizing: border-box;
    @media only screen and (max-width: 767px) {
      padding: 10% 8%;
    }
  }
  .ssCounMeasure__list {
    @media only screen and (min-width: 768px) {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
    }
    li {
      position: relative;
      @media only screen and (min-width: 768px) {
        width: calc(350% / 7.78);
      }
      @media only screen and (max-width: 767px) {
        margin-bottom: calc(60% / 5);
        &:last-child {
          margin-bottom: 0;
        }
      }
      &:nth-child(n + 3) {
        @media only screen and (min-width: 768px) {
          margin-top: calc(70% / 7.78);
        }
      }
      &:nth-child(2) {
        &::before {
          background-image: url(/assets/item_character/saint_seiya_series/img/count/icon02.png);
        }
      }
      &:nth-child(3) {
        &::before {
          background-image: url(/assets/item_character/saint_seiya_series/img/count/icon03.png);
        }
      }
      &::before {
        content: "";
        background: url(/assets/item_character/saint_seiya_series/img/count/icon01.png)
          no-repeat top center;
        background-size: contain;
        width: calc(119% / 3.5);
        aspect-ratio: 119 / 114;
        position: absolute;
        top: 0;
        margin-top: calc(-37% / 3.5);
        left: calc(-40% / 3.5);
        @media only screen and (max-width: 767px) {
          width: calc(85% / 3.5);
          margin-top: calc(-18% / 3.5);
          left: calc(-20% / 3.5);
        }
      }
      p {
        color: #fff;
        /* text-align: center; */
        margin-top: calc(20em / 16);
        line-height: 1.4;
      }
    }
  }
}
