@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&display=swap");
.itemBrandPage {
  --font-sp: "M PLUS Rounded 1c", sans-serif;
  .l-wrapper {
    background-color: #fff;
    color: #000;
    &::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        url(/assets/item_brand/tiny-session/img/bg_top_xSxYnA5m.jpg) no-repeat
          center top,
        url(/assets/item_brand/tiny-session/img/bg_mid_GMtPFbFY.jpg) repeat-y
          center top;
      background-size: 100%, 100%;
      z-index: 0;
      @media only screen and (max-width: 767px) {
        top: 60px;
      }
    }
    .seriesInfo__link {
      a,
      button {
        --btnColor: #000;
        --btnBgColor: #e4007f;
        border: solid 2px #fff;
        color: #fff;
      }
    }
  }

  .pageHeading {
    position: relative;
    z-index: 1;
    @media only screen and (max-width: 767px) {
    }
  }
  .pageHeading__title {
    font-family: var(--font-sp);
  }
  .seriesSection__logoBox {
    color: #fff;
    padding: calc(50% / 11.2) calc(50% / 11.2) calc(50% / 11.2);
    position: relative;
    z-index: 1;
    position: relative;
    background: rgba(0, 0, 0, 0.679);
    /* border: solid calc(5em / 16) #fff; */
    border-radius: calc(12em / 16);
    @media only screen and (max-width: 767px) {
      padding: calc(80% / 6.9) calc(30% / 6.9) calc(80% / 6.9);
    }
    &::before {
      content: "";
      position: absolute;
      inset: 0;
      border: solid calc(6em / 16) #ec50a7;
      border-radius: calc(10em / 16);
      pointer-events: none;
      @media only screen and (max-width: 767px) {
        border: solid calc(6em / 26) #ec50a7;
      }
    }
    &::after {
      content: "";
      position: absolute;
      inset: calc(1em / 16);
      border: solid calc(4em / 16) #fbd7eb;
      border-radius: calc(10em / 16);
      filter: blur(calc(2em / 16));
      pointer-events: none;
      @media only screen and (max-width: 767px) {
        inset: calc(1em / 26);
        border: solid calc(4em / 26) #fbd7eb;
        filter: blur(calc(2em / 26));
      }
    }
  }
  .seriesSection__lead {
    font-family: var(--font-sp);
    font-size: calc(18em / 16);
    font-weight: 500;
  }

  .itemSlide .itemList__item__inner:not(:has(> a)),
  .itemSlide .itemList__item__inner a {
    background: rgba(255, 255, 255, 0.7);
    color: #000;
    border-radius: 0;
    .itemList__thumb {
      border-radius: 0;
    }
  }
  .seriesInfo__title {
    font-family: var(--font-sp);
    font-size: calc(60em / 16);
    -webkit-text-stroke: #df007d calc(4em / 60);
    paint-order: stroke;
    text-shadow:
      0 0 calc(10em / 60) #df007d,
      0 0 calc(10em / 60) #df007d;
    @media only screen and (max-width: 767px) {
      font-size: calc(72em / 26);
    }
    &::before,
    &::after {
      content: "−";
      position: relative;
      display: inline-block;
      top: -0.1em;
      margin-inline: 0.2em;
    }
  }
  .tsBrandSec {
    @media only screen and (min-width: 768px) {
      width: calc(1000% / 11.2);
      margin-inline: auto;
    }
  }
  .tsBrandSec__main {
    margin-bottom: calc(60% / 10);
    &:last-child {
      margin-bottom: 0;
    }
  }
  .tsBrandSec__movBox {
    @media only screen and (min-width: 768px) {
      width: calc(960% / 10);
      margin-inline: auto;
    }
  }
  .tsBrandSec__header {
    margin-bottom: calc(30em / 16);
  }
  .tsBrandSec__chatch {
    font-family: var(--font-sp);
    font-size: calc(38em / 16);
    /* letter-spacing: -0.06em; */
    text-align: center;
    font-weight: 800;
    -webkit-text-stroke: #00a0e9 calc(8em / 38);
    paint-order: stroke;
    line-height: 1.5;
    margin-bottom: 0.5em;
    @media only screen and (max-width: 767px) {
      font-size: calc(38em / 26);
      margin-bottom: 0.2em;
    }
  }
  .tsBrandSec__title {
    font-family: var(--font-sp);
    font-size: calc(50em / 16);
    font-weight: 800;
    text-align: center;
    -webkit-text-stroke: #e4007f calc(8em / 50);
    paint-order: stroke;
    line-height: 1.4;
    @media only screen and (max-width: 767px) {
      font-size: calc(60em / 26);
    }
    img {
      width: 55%;
      vertical-align: middle;
      @media only screen and (max-width: 767px) {
        margin-right: 0.2em;
      }
    }
    .fsize_sml {
      font-size: 0.78em;
      margin: 0 0.04em;
    }
  }
  .tsBrandInfoWrapper {
    @media only screen and (max-width: 767px) {
      font-size: calc(11em / 26);
    }
  }
  .tsBrandInfo__tab {
  }
  .tsBrandInfo__tab__items {
    gap: 0 calc(5% / 10);
    @media only screen and (max-width: 767px) {
      gap: 0 calc(12% / 6.9);
    }
  }
  .tsBrandInfo__tab__item {
    width: calc(296% / 10);
    @media only screen and (max-width: 767px) {
      width: calc(222% / 6.9);
    }
    a,
    button {
      position: relative;
      background: transparent;
      aspect-ratio: 296 / 96;
      border: none;
      width: 100%;
      height: auto;
      min-width: 0;
      z-index: 1;
      color: #fff;
      font-family: var(--font-sp);
      font-weight: bold;
      &::before {
        content: "";
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        margin: 0;
        clip-path: none;
        transform: none;
        opacity: 1;
        background: url(/assets/item_brand/tiny-session/img/point_tab01_on_ARk93ijK.png)
          no-repeat center center / cover;
        transition:
          opacity,
          filter 0.3s;
        box-sizing: border-box;
        z-index: -1;
      }
      &[aria-selected="false"] {
        .tsBrandInfo__tab__txtBox {
          opacity: 0.6;
        }
        &::before {
          filter: brightness(0.4);
        }
      }
    }
    &:nth-child(2) {
      a,
      button {
        &::before {
          background-image: url(/assets/item_brand/tiny-session/img/point_tab02_on_3VbY4YZw.png);
        }
      }
    }
    &:nth-child(3) {
      a,
      button {
        &::before {
          background-image: url(/assets/item_brand/tiny-session/img/point_tab03_on_Fn6VBQcz.png);
        }
      }
    }
  }
  .tsBrandInfo__tab__txtBox {
    font-size: calc(24em / 16);
    display: table;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding-top: calc(40% / 2.96);
    padding-left: calc(50% / 2.96);
    span {
      display: table-cell;
      vertical-align: middle;
    }
  }
  .tsBrand__conts {
    position: relative;
  }
  #area01-01 {
    /* --position: absolute 共通化-- */
    .catch01,
    .catch02,
    .catch03 {
      position: absolute;
      font-family: var(--font-sp);
      text-align: center;
    }
    .catch01 {
      top: 0;
      margin-top: calc(35% / 10);
      left: 50%;
      transform: translateX(-50%);
      color: #fff;
      font-weight: 600;
      font-size: calc(50em / 16);
      -webkit-text-stroke: #e4007f calc(8em / 50);
      paint-order: stroke;
      letter-spacing: -0.06em;
      line-height: 1.3em;
      width: 100%;
    }

    .catch02 {
      top: 0;
      margin-top: calc(280% / 10);
      left: calc(56% / 10);
      color: #595757;
      font-size: calc(20em / 16);
      line-height: 1.2em;
      font-weight: bold;
      html:lang(en) & {
        left: calc(90% / 10);
        font-size: calc(14em / 16);
      }
    }
    .catch03 {
      bottom: 0px;
      margin-bottom: calc(166% / 10);
      right: calc(36% / 10);
      color: #fff100;
      -webkit-text-stroke: #000 calc(8em / 36);
      paint-order: stroke;
      font-size: calc(36em / 16);
      letter-spacing: -0.02em;
      font-weight: bold;
      html:lang(en) & {
      }
      span.fsize_sml {
        font-size: 0.9em;
      }
    }
  }
  #area01-02 {
    .catch01,
    .catch02 {
      position: absolute;
      font-family: var(--font-sp);
      text-align: center;
    }

    .catch01 {
      top: 0;
      margin-top: calc(27% / 10);
      left: 50%;
      transform: translateX(-50%);
      color: #fff;
      font-weight: 600;
      font-size: calc(50em / 16);
      -webkit-text-stroke: #00a0e9 calc(8em / 50);
      paint-order: stroke;
      letter-spacing: -0.06em;
      line-height: 1.3em;
      width: 100%;
    }

    .catch02 {
      bottom: 0;
      margin-bottom: calc(75% / 10);
      left: calc(285% / 10);
      color: #595757;
      font-size: calc(20em / 16);
      line-height: 1.2em;
      font-weight: bold;
      html:lang(en) & {
        margin-bottom: calc(90% / 10);
        left: calc(275% / 10);
        font-size: calc(14em / 16);
      }
    }
  }
  #area01-03 {
    /* --position: absolute 共通化-- */
    .catch01,
    .catch02,
    .catch03,
    .catch04,
    .catch05,
    .catch06 {
      position: absolute;
      font-family: var(--font-sp);
      text-align: center;
    }

    /* --catch02・catch03 共通-- */
    .catch02,
    .catch03 {
      color: #e4007f;
      font-size: calc(19em / 16);
      font-weight: bold;
      line-height: 1.2em;
      letter-spacing: -0.06em;
    }

    /* --catch04・catch05・catch06 共通-- */
    .catch04,
    .catch05,
    .catch06 {
      transform: rotate(-7deg);
      color: #fff;
      font-weight: bold;
      -webkit-text-stroke: #0068bc calc(8em / 24);
      paint-order: stroke;
      font-size: calc(24em / 16);
      letter-spacing: -0.04em;
    }

    .catch01 {
      top: 0;
      margin-top: calc(27% / 10);
      left: 50%;
      transform: translateX(-50%);
      color: #fff;
      font-weight: 600;
      font-size: calc(50em / 16);
      -webkit-text-stroke: #00a73c calc(8em / 50);
      paint-order: stroke;
      letter-spacing: -0.1em;
      line-height: 1.3em;
      width: 100%;

      html:lang(en) & {
        font-size: calc(38em / 16);
      }
    }

    .catch02 {
      bottom: 0;
      margin-bottom: calc(218% / 10);
      right: calc(210% / 10);
      html:lang(en) & {
        margin-bottom: calc(225% / 10);
        font-size: calc(16em / 16);
      }
    }

    .catch03 {
      bottom: 0;
      margin-bottom: calc(63% / 10);
      right: calc(35% / 10);

      html:lang(en) & {
        margin-bottom: calc(66% / 10);
        right: calc(64% / 10);
        font-size: calc(16em / 16);
      }
    }

    .catch04 {
      top: 0;
      margin-top: calc(108% / 10);
      left: calc(231% / 10);
    }

    .catch05 {
      top: 0;
      margin-top: calc(310% / 10);
      right: calc(134% / 10);
    }

    .catch06 {
      bottom: 0;
      margin-bottom: calc(70% / 10);
      left: calc(105% / 10);
    }
  }
  .tsBnr_area {
    position: relative;
    transition: 0.3s ease-in-out;
    @media only screen and (max-width: 767px) {
      font-size: calc(11em / 26);
    }
    &:hover {
      opacity: 0.8;
    }
    a {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 1;
    }
    .bnr_txt {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      color: #fff;
      -webkit-text-stroke: #e60012 calc(4em / 38);
      paint-order: stroke;
      font-size: calc(38em / 16);
      font-weight: 900;
      letter-spacing: -0.02em;
      width: 100%;
      text-align: center;
    }
  }
}
