.itemCharacterPage {
  .l-wrapper {
    &::before {
      content: "";
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, 1)
        url(/assets/item_character/bluelock/img/bg_x6wh748c.jpg) no-repeat
        center center / cover;
      z-index: 0;
      @media only screen and (max-width: 767px) {
      }
    }
    .seriesInfo__link {
      a,
      button {
        --btnColor: #fff;
        --btnBgColor: #00419b;
      }
    }
  }
  .pageHeading__title {
  }
  .seriesSection__logoBox {
    color: #00419b;
    padding: calc(60% / 11.2) calc(50% / 11.2) calc(60% / 11.2);
    position: relative;
    z-index: 1;
    overflow-y: clip;
    @media only screen and (max-width: 767px) {
      padding: calc(60% / 6.9) calc(30% / 6.9) calc(60% / 6.9);
    }
    &::before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 50%;
      width: 100dvw;
      transform: translateX(-50%);
      background: #fff;
      border-top: 8px solid #00419b;
      border-bottom: 8px solid #00419b;
      z-index: -1;
    }
    &::after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 50%;
      width: 100dvw;
      transform: translateX(-50%);
      background: #fff;
      border-top: 3px solid #00419b;
      border-bottom: 3px solid #00419b;
      margin-block: 16px;
      z-index: -1;
    }
  }
  .seriesSection__logo {
    &::before {
      content: "";
      background: url(/assets/item_character/bluelock/img/bl_mark_bk_s32rxgbq.png)
        no-repeat center bottom;
      background-size: contain;
      position: absolute;
      top: 0;
      bottom: 0;
      width: calc(380% / 9.6);

      /* right: -60px; */
      right: 50%;
      transform: translateX(150%);
      @media only screen and (max-width: 767px) {
        width: calc(420% / 6.9);
        margin-bottom: calc(8% / 0.9);
        transform: translateX(100%);
      }
    }
  }

  .itemSlide .itemList__item__inner:not(:has(> a)),
  .itemSlide .itemList__item__inner a {
  }
  .blIntroSec {
    position: relative;
    &::before {
      content: "";
      background: url(/assets/item_character/bluelock/img/bl_mark_a25nfy84.png)
        no-repeat center top;
      background-size: contain;
      position: absolute;
      top: 0;
      margin-top: calc(-80% / 11.2);
      right: calc(60% / 11.2);
      width: calc(379% / 11.2);
      aspect-ratio: 379 / 362;
      position: relative;
      @media only screen and (max-width: 767px) {
        right: 0;
      }
    }
  }
  .gi_subtitle02 {
    position: relative;
    @media only screen and (min-width: 768px) {
      width: calc(753% / 10);
    }
    img {
      width: 100%;
      height: auto;
      display: block;
    }
  }
  .blIntroSec__main {
    @media only screen and (min-width: 768px) {
      width: calc(1000% / 11.2);
      margin-inline: auto;
    }
    .intro_wrap {
      margin-top: calc(-30% / 10);
      margin-bottom: calc(60% / 10);
      @media only screen and (min-width: 768px) {
        display: flex;
        position: relative;
        align-items: center;
        justify-content: space-between;
      }
      @media only screen and (max-width: 767px) {
        margin-top: calc(20% / 6.9);
        margin-bottom: calc(60% / 6.9);
      }
    }
    .intro_txtBox {
      text-align: center;
      @media only screen and (min-width: 768px) {
        width: calc(500% / 10);
      }
      @media only screen and (max-width: 767px) {
        margin-bottom: calc(40% / 6.9);
      }
      h3 {
        font-size: calc(28em / 16);
        font-weight: bold;
        margin-bottom: calc(30em / 28);
        line-height: 1.5;
        @media only screen and (max-width: 767px) {
          font-size: calc(38em / 26);
        }
      }
      p {
        margin-bottom: 1em;
        &:last-child {
          margin-bottom: 0;
        }
      }
    }
    .intro_img {
      @media only screen and (min-width: 768px) {
        width: calc(440% / 10);
      }
      @media only screen and (max-width: 767px) {
        width: calc(440% / 6.9);
        margin-inline: auto;
      }
      img {
        width: 100%;
        height: auto;
        display: block;
      }
    }
    .tv_txt {
      background: #0fb5dd;
      color: #fff;
      padding: calc(10em / 22) calc(5% / 10);
      text-align: center;
      font-size: calc(22em / 16);
      line-height: 1.5;
      font-weight: bold;
      @media only screen and (max-width: 767px) {
        font-size: calc(26em / 26);
      }
      span {
        display: inline-block;
        margin-left: 5px;
        font-size: 16px;
        vertical-align: middle;
      }
    }
  }
  .blPickupSec {
    position: relative;
    &::before {
      content: "";
      background: url(/assets/item_character/bluelock/img/bl_mark_a25nfy84.png)
        no-repeat center top;
      background-size: contain;
      position: absolute;
      top: 0;
      margin-top: calc(-80% / 11.2);
      right: calc(60% / 11.2);
      width: calc(379% / 11.2);
      aspect-ratio: 379 / 362;
      @media only screen and (max-width: 767px) {
        right: 0;
      }
    }
  }
  .blPickupSec__main {
    @media only screen and (min-width: 768px) {
      width: calc(1000% / 11.2);
      margin-inline: auto;
    }
    margin-bottom: calc(60% / 11.2);
    &:last-child {
      margin-bottom: 0;
    }
    ._btn_what {
      margin-top: 1.5em;
      margin-bottom: 1.5em;
      width: fit-content;
      margin-inline: auto;
      @media only screen and (min-width: 768px) {
        font-size: calc(18em / 16);
      }
      a {
        border-radius: 0;
        border-width: 0;
        padding: calc(10em / 16) calc(30em / 16) calc(10em / 16) calc(10em / 16);
        background: #00419b;
        border: solid 1px #fff;
      }
    }
    .pickup_item {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      @media only screen and (max-width: 767px) {
        font-size: calc(12em / 26);
      }
      li {
        width: 49%;
        margin-bottom: 2%;
        background: url(/assets/item_character/bluelock/img/bg_item_h7fsgzki.jpg)
          no-repeat center center;
        background-size: cover;
        padding: calc(10% / 10);
        box-sizing: border-box;
      }
    }
    .item_wrap {
      border: calc(5em / 16) solid #4071b4;
      padding: calc(10% / 4.9);
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      text-align: center;
      box-sizing: border-box;
      .item_img {
        width: 40%;
        position: relative;
        z-index: 1;
      }

      .item_info {
        width: 60%;
        /* --name・date・price 共通-- */
        .name,
        .date,
        .price {
          position: relative;
          &::after {
            content: "";
            background: #1f67ca;
            position: absolute;
            right: 0;
            bottom: 0;
            width: 135%;
            height: 2px;
            z-index: 0;
          }
        }

        .name {
          font-size: calc(50em / 16);
          font-weight: bold;
          line-height: 1.2;
          color: #fff;
          -webkit-text-stroke: calc(4em / 50) #00419b;
          paint-order: stroke;
          margin-bottom: calc(20em / 50);
          padding-bottom: calc(40em / 50);
          z-index: 0;
          margin-top: calc(70em / 50);
          &::before {
            content: "";
            background: url(/assets/item_character/bluelock/img/bl_mark_blue_p4qjzcd8.png)
              no-repeat center top;
            background-size: contain;
            position: absolute;
            top: 50%;
            left: 50%;
            width: calc(170% / 2.64);
            aspect-ratio: 170 / 163;
            z-index: -1;
            transform: translate(-50%, -78%);
          }

          span {
            display: block;
            font-size: calc(20em / 50);
            font-weight: normal;
            -webkit-text-stroke: calc(4em / 20) #00419b;
            paint-order: stroke;
          }
        }

        .date,
        .price {
          color: #ffe92f;
          font-weight: bold;
          margin-bottom: calc(15em / 16);
          padding-bottom: calc(15em / 16);
          @media only screen and (max-width: 767px) {
            font-size: calc(16em / 12);
          }
        }
      }

      .link_btn {
        margin: calc(20em / 16) auto;
        background: #fff;
        @media only screen and (max-width: 767px) {
          font-size: calc(16em / 12);
        }
        a {
          margin: 2px;
          border: 2px solid #00419b;
          color: #00419b;
          padding: calc(12em / 20) calc(50em / 20) calc(10em / 20)
            calc(40em / 20);
          display: block;
          font-weight: bold;
          font-size: calc(20em / 16);
          position: relative;
          transition: all 0.2s;
          text-decoration: none;

          &::after {
            content: "";
            width: calc(8em / 20);
            height: calc(8em / 20);
            margin-top: calc(-6em / 20);
            border-top: solid calc(2em / 20) currentColor;
            border-right: solid calc(2em / 20) currentColor;
            transform: rotate(45deg);
            position: absolute;
            top: 50%;
            right: calc(10em / 20);
            transition: all 0.2s;
          }
          &:hover {
            background: #00419b;
            color: #fff;
          }
        }
      }
    }
  }

  .blModal {
    overflow-x: clip;
  }
  .blModal__content {
    max-width: 800px;
    border-radius: 0;
    background: #fff;
    color: #233e8b;
    background-size: cover;
    overflow-x: visible;
    @media only screen and (max-width: 767px) {
    }
    .modal-ptWrap {
      position: relative;
    }
    .modal-pt {
      padding: calc(20% / 8);
      margin: calc(15% / 8) auto;
      background: #233e8b;
      color: #fff;
      overflow: hidden;
      position: relative;
      @media only screen and (max-width: 767px) {
        padding: calc(20% / 6.3) calc(40% / 6.3);
      }
      &:first-of-type {
        margin-top: calc(30% / 8);
      }
      &::before {
        content: "";
        background: url(/assets/item_character/bluelock/img/bl_mark_a25nfy84.png)
          no-repeat center top;
        background-size: contain;
        width: calc(329% / 8);
        aspect-ratio: 329 / 300;
        position: absolute;
        position: absolute;
        top: 5%;
        right: calc(-85% / 8);
        transform: rotate(20deg);
      }
      &:nth-child(even) {
        &::before {
          position: absolute;
          left: calc(-85% / 8);
          transform: rotate(-20deg);
        }
      }
    }

    .modal-pt-txt {
      h5 {
        font-size: calc(22em / 16);
        text-align: center;
        padding-bottom: calc(10em / 22);
        margin-bottom: calc(30em / 22);
        position: relative;
        @media only screen and (max-width: 767px) {
          font-size: calc(30em / 26);
          margin-bottom: calc(20em / 22);
        }
        &::after {
          content: "";
          position: absolute;
          bottom: 0;
          margin-bottom: calc(-5em / 22);
          left: 50%;
          transform: translateX(-50%);
          background: #fff;
          width: 15%;
          height: calc(3em / 22);
        }
      }
      p {
        width: fit-content;
        margin: auto;
        @media only screen and (max-width: 767px) {
          font-size: calc(22em / 26);
          max-width: 80%;
        }
      }
    }
    .modal-pt-img {
      &._img01 {
        position: absolute;
        top: 0px;
        margin-top: calc(-20% / 7.35);
        left: calc(-50% / 7.35);
        width: calc(185% / 7.85);
        @media only screen and (max-width: 767px) {
          width: calc(160% / 7.85);
          margin-top: calc(-20% / 7.35);
        }
      }

      &._img02 {
        position: absolute;
        bottom: 0;
        margin-bottom: calc(-50% / 7.35);
        right: calc(-50% / 7.35);
        width: calc(158% / 7.85);
        @media only screen and (max-width: 767px) {
          margin-bottom: calc(260% / 7.35);
          width: calc(138% / 7.85);
        }
      }
    }

    .modal-ge {
      font-weight: 900;
      font-style: normal;
      @media only screen and (min-width: 768px) {
        width: 90%;
        margin-inline: auto;
      }
      h5 {
        font-size: calc(40em / 18);
        margin: calc(50% / 6.9) auto 0;
        line-height: 1.4;
        text-align: center;
        font-weight: bold;
        @media only screen and (max-width: 767px) {
          font-size: calc(40em / 26);
          margin-top: calc(50% / 6.3);
        }
      }

      .moda-ge-sub {
        position: relative;
        text-align: left;
        margin-top: calc(40% / 7.35);
        p {
          @media only screen and (min-width: 768px) {
            width: 65%;
            font-size: 1.2em;
          }
          @media only screen and (max-width: 767px) {
            margin-bottom: 1.2em;
          }
        }

        div {
          img {
            width: 100%;
            height: auto;
          }
          @media only screen and (min-width: 768px) {
            position: absolute;
            right: 0;
            top: 50%;
            width: 35%;
            transform: translateY(-60%);
          }
        }
      }
    }
  }
  .seriesInfo__header {
  }
  .seriesInfo__title {
    font-size: calc(56em / 16);
  }
}
