@charset "UTF-8";

/*-----------------------------------------
  outer main
-----------------------------------------*/
/* h1の下の余白を消す際は有効化 */
/* .sg25-no-image:is(body:has(#ir_iro) *) {
  @media (width <=  768px) {
    margin-bottom: 0;
  }
} */

#main:has(#ir_iro) {
  background: url(/img/bg_main_section.png) repeat-y center top 468px;
  background-size: 100% auto;

  @media (width <= 768px) {
    background: none;
  }
}

#main .section.ir_integrated-report_online_section_top {
  padding-top: 0px;
}

#main .section.ir_integrated-report_online_section {
  margin-bottom: var(--spacing-xl);

  @media (width <= 768px) {
    padding-top: 0px;
  }

  h2 {
    margin-top: 0!important;
  }

  h3 {
    margin-bottom: var(--spacing-xs-plus);

    @media (width <= 768px) {
      margin-bottom: calc(24 / var(--b-w-sp) * 100vw);
      font-size: calc(16 / var(--b-w-sp) * 100vw);
      line-height: 1.5;
    }
  }

  p {
    line-height: 2;

    @media (width <= 768px) {
      font-size: calc(14 / var(--b-w-sp) * 100vw);
    }
  }

  p + p {
    margin-top: 1em;
  }

  &:has(.ir_iro_sports_title) {
    padding-top: 0px;
  }

  .mt-xl {
    @media (width <= 768px) {
      margin-top: calc(40 / var(--b-w-sp) * 100vw);
    }
  }
}

/*-----------------------------------------
  inner content
-----------------------------------------*/
#ir_iro:is(#main *) {
  --b-w-design: 1440;
  --b-w-pc: 1280;
  --b-w-sp: 375;

  --spacing-xs-plus: 30px;
  --spacing-sm: 50px;
  --spacing-xxl: 90px;

  /*-----------------------------------------
    reset
  -----------------------------------------*/
  figure {
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0;
    margin-inline-end: 0;
  }

  /*-----------------------------------------
    rewite base
  -----------------------------------------*/
  hr {
    @media (width <= 960px) {
      margin: var(--spacing-m) 0;
    }
  }

  p {
    @media (width <= 768px) {
      font-size: calc(16 / var(--b-w-sp) * 100vw);

      &:where(.section.ir_integrated-report_online_section * ) {
        font-size: calc(14 / var(--b-w-sp) * 100vw);
      }
    }
  }

  @media (hover: none) {
    a:hover {
      text-decoration: none;
      color: inherit;
    }

    .text_more:hover::after {
      transform: translateX(0px);
      transition: 0s;
    }
  }

  .ir_mod_btn_more_inner {
    &::after {
      @media (width <= 768px) {
        transform: none;
      }
    }
  }

  .ir_iro_wrap:has(+ .ir_iro_wrap) {
    padding-bottom: var(--spacing-l);

    @media (width <= 960px) {
      padding-bottom: 0;
    }
  }

  .ir_iro_wrap + .ir_iro_wrap {
    margin-top: var(--spacing-xl);

    @media (width <= 960px) {
      margin-top: var(--spacing-m);
    }
  }

  .ir_iro_wrap:last-child {
    padding-bottom: var(--spacing-xxl);
  }

  /*-----------------------------------------
    ir_iro_mainvis
  -----------------------------------------*/
  .ir_iro_mainvis {
    display: grid;
    place-content: center;
    margin-bottom: var(--spacing-m);
    aspect-ratio: var(--b-w-design) / 450;
    background: url(/ir/assets/online/images/bg_mv_pc.png) no-repeat center center / contain;

    @media (width <= 960px) {
      aspect-ratio: var(--b-w-sp) / 260;
      background: url(/ir/assets/online/images/bg_mv_sp.png) no-repeat center center / contain;
    }
  }

  .ir_iro_mainvis_catch {
    text-align: center;
  }

  .ir_iro_mainvis_catch {
    position: relative;
  }

  .ir_iro_mainvis_copy {
    margin-bottom: 32px;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: calc(62 / var(--b-w-design) * 100vw);
    line-height: 1.20967;

    @media (width <= 960px) {
      margin-bottom: calc(15 / var(--b-w-sp) * 100vw);
      font-size: calc(24 / var(--b-w-sp) * 100vw);
      letter-spacing: calc(-1 / var(--b-w-sp) * 100vw);
    }
  }

  .ir_iro_mainvis_text {
    font-weight: 700;
    font-size: calc(22 / var(--b-w-design) * 100vw);
    line-height: 1.18181;

    @media (width <= 960px) {
      font-size: calc(15 / var(--b-w-sp) * 100vw);
      line-height: 1.8;
    }
  }

  /*-----------------------------------------
    ir_iro_anchor
  -----------------------------------------*/
  .ir_iro_anchor {
    display: flex;
    flex-wrap: wrap;
    gap: 18px 0;
  }

  .ir_iro_anchor_item {
    width: 25%;
    padding: 10px 17px;

    &:not(:nth-child(4n)) {
      border-right: 1px solid var(--color-txt-gray);
    }

    @media (width <= 1164px) {
      width: 33.33333%;

      &:not(:nth-child(4n)) {
        border-right: none;
      }

      &:not(:nth-child(3n)) {
        border-right: 1px solid var(--color-txt-gray);
      }
    }

    @media (width <= 768px) {
      width: 50%;

      &:not(:nth-child(3n)) {
        border-right: none;
      }

      &:not(:nth-child(even)) {
        border-right: 1px solid var(--color-txt-gray);
      }
    }
  }

  .ir_iro_anchor_item a {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 100%;
    position: relative;
    padding-bottom: 30px;
    font-size: 1.6rem;
    text-align: center;

    @media (width <= 1280px) {
      font-size: calc(15 / var(--b-w-pc) * 100vw);
    }

    @media (width <= 960px) {
      font-size: calc(18 / var(--b-w-pc) * 100vw);
    }

    @media (width <= 768px) {
      padding-bottom: calc(14 / var(--b-w-sp) * 100vw);
      font-size: max(calc(10 / var(--b-w-sp) * 100vw), 10px);
      line-height: 1.4;
    }
  }

  @media (hover: hover) and (pointer: fine) {
    .ir_iro_anchor_item a:hover {
      text-decoration: none;
    }
  }

  .ir_iro_anchor_item a::after {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    background: url(/ir/rs_v3/ir/img/glance/icon_glance_anchor.svg) no-repeat;
    background-size: contain;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    transition: 0.5s;

    @media (max-width: 768px) {
      width: max(calc(10 / var(--b-w-sp) * 100vw), 10px);
      height: max(calc(10 / var(--b-w-sp) * 100vw), 10px);
    }
  }

  @media (max-width: 768px) {
    .ir_iro_anchor {
      gap: calc(8 / var(--b-w-sp) * 100vw) 0;
    }

    .ir_iro_anchor_item {
      width: 50%;
      padding: calc(8 / var(--b-w-sp) * 100vw);
    }

    .ir_iro_anchor_item:not(:nth-child(2n)) {
      border-right: 1px solid var(--color-txt-gray);
    }
  }

  /*-----------------------------------------
    ir_iro_topmessage
  -----------------------------------------*/
  .ir_iro_topmessage_wrap {
    position: relative;

    @media (width <= 960px) {
      display: grid;
      row-gap: var(--spacing-xs);
    }
  }

  .ir_iro_topmessage_bg {
    max-width: 690px;
    min-height: 450px;
    padding: var(--spacing-xs);
    background: url(/ir/assets/online/images/topmessage_pc.jpg) no-repeat center center / cover;
    color: var(--logo-blue);
    border-radius: 10px;

    @media (width <= 1164px) {
      margin: 0 auto calc(64px + 80px);
      width: 100%;
    }

    @media (width <= 960px) {
      margin: 0 auto;
      padding: var(--spacing-xs) calc(8 / var(--b-w-sp) * 100vw) var(--spacing-xs) var(--spacing-xs);
    }

    @media (width <= 768px) {
      background: url(/ir/assets/online/images/topmessage_sp.jpg) no-repeat center center / contain;
      aspect-ratio: 343 / 450;
      border-radius: calc(10 / var(--b-w-sp) * 100vw);
    }
  }

  .ir_iro_topmessage_title_wrap {
    margin-bottom: var(--spacing-xs);

    @media (width <= 768px) {
      margin-bottom: calc(30 / var(--b-w-sp) * 100vw);
    }
  }

  .ir_iro_topmessage_title_en {
    margin-bottom: 0;
    font-weight: 700;
    font-size: 5rem;
    line-height: 1.16279;

    @media (width <= 768px) {
      font-size: calc(calc(29 + 8) / var(--b-w-sp) * 100vw);
      line-height: 1.46666;
    }
  }

  .ir_iro_topmessage_title_ja {
    font-weight: 600;
    font-size: 1.6rem;
    line-height: 2.6875;

    @media (width <= 768px) {
      line-height: 1.4375;
    }
  }

  .ir_iro_topmessage_caption {
    padding-left: 188px;

    @media (width <= 768px) {
      padding-left: calc(calc(164 - 20) / var(--b-w-sp) * 100vw);
    }
  }

  .ir_iro_topmessage_position {
    font-size: 1.2rem;
    line-height: 1.16666;

    @media (width <= 768px) {
      font-size: calc(12 / var(--b-w-sp) * 100vw);
    }
  }

  .ir_iro_topmessage_name {
    margin-right: 8px;
    font-weight: 600;
    font-size: 2.2rem;
    line-height: 1.45454;

    @media (width <= 768px) {
      margin-right: calc(8 / var(--b-w-sp) * 100vw);
      font-size: calc(22 / var(--b-w-sp) * 100vw);
    }
  }

  .ir_iro_topmessage_name_en {
    font-size: 1.2rem;
    line-height: 1.16666;

    @media (width <= 768px) {
      font-size: calc(12 / var(--b-w-sp) * 100vw);
    }
  }

  .ir_iro_topmessage_detail {
    display: grid;
    row-gap: var(--spacing-xs);
    padding: 41px var(--spacing-xs);
    width: 490px;
    box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.12);
    background-color: var(--white);
    border-radius: 7px;
    position: absolute;
    inset: 146px 0 auto auto;

    .ir_btn_more {
      display: flex;
    }

    .ir_mod_btn_more_inner {
      margin: 0 0 0 auto;
    }

    @media (width <= 1164px) {
      margin: 0 auto;
      inset: auto -360px -64px 0;
    }

    @media (width <= 960px) {
      width: 100%;
      padding: 0;
      background: transparent;
      box-shadow: unset;
      position: unset;
    }
  }

  .ir_iro_topmessage_text {
    font-size: min(1.8rem, calc(18 / var(--b-w-pc) * 100vw));
    line-height: 2;

    @media (width <= 768px) {
      font-size: calc(16 / var(--b-w-sp) * 100vw);
      line-height: 1.4375;
    }
  }

  /*-----------------------------------------
    ir_iro_imagebox
  -----------------------------------------*/
  .ir_iro_imagebox {
    display: grid;
    row-gap: var(--spacing-xxl);

    @media (width <= 960px) {
      row-gap: var(--spacing-m);
    }
  }

  .ir_iro_imagebox_box {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 540px;
    column-gap: min(calc(40 / var(--b-w-pc) * 100vw), 40px);

    @media (width <= 960px) {
      grid-template-columns: 1fr;
      row-gap: var(--spacing-xs);
    }

    &:nth-child(even) {
      grid-template-columns: 540px 1fr;

      .ir_iro_imagebox_detail {
        grid-column: 2;
      }

      .ir_iro_imagebox_img {
        grid-column: 1;
      }

      @media (width <= 960px) {
        grid-template-columns: 1fr;

        .ir_iro_imagebox_detail {
          display: contents;
        }

        .ir_iro_imagebox_img {
          order: 2;
        }
      }
    }

    &.box--sanrio_time {
      .ir_iro_imagebox_img .ir_iro_imagebox_caption_wrap > div {
        @media (width <= 960px) {
          align-items: flex-end;
        }
      }
    }

    &.box--analyst {
      .ir_iro_imagebox_img .ir_iro_imagebox_caption_wrap {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        column-gap: 10px;

        @media (width <= 960px) {
          grid-template-columns: 1fr;
        }

        > .caption--tsuji .ir_iro_imagebox_position {
          margin-top: 5px;

          @media (width <= 960px) {
            margin-top: 0;
          }
        }

        .ir_iro_imagebox_name_en {
          width: 100%;

          @media (width <= 960px) {
            display: inline;
            grid-template-columns: 1fr;
            width: auto;
          }
        }
      }
    }

    &.box--steakholder {
      .ir_iro_imagebox_caption_wrap {
        display: grid;
        grid-template-columns: repeat(2, auto);
        justify-content: space-between;
        width: 100%;

        @media (width <= 960px) {
          grid-template-columns: 1fr;
        }
      }
    }

    .ir_iro_imagebox_detail {
      display: grid;
      row-gap: 30px;

      @media (width <= 960px) {
        display: contents;
      }
    }

    .ir_iro_imagebox_title {
      margin-bottom: 0;
      font-size: min((calc(30 / var(--b-w-pc) * 100vw)), 3rem);
      font-weight: 700;
      line-height: 1.43333;

      @media (width <= 960px) {
        order: 1;
      }

      @media (width <= 768px) {
        font-size: calc(20 / var(--b-w-sp) * 100vw);
        order: 1;
      }
    }

    .ir_iro_imagebox_num {
      display: block;
      font-size: min((calc(24 / var(--b-w-pc) * 100vw)), 2.4rem);
      line-height: 2;

      @media (width <= 768px) {
        font-size: calc(18 / var(--b-w-sp) * 100vw);
      }
    }

    .ir_iro_imagebox_detail_text {
      display: grid;
      row-gap: 30px;

      @media (width <= 960px) {
        row-gap: var(--spacing-xs);
        order: 3;
      }
    }

    .ir_iro_imagebox_detail_lead {
      line-height: 2;
    }

    .ir_mod_btn_more_inner {
      justify-content: flex-end;
      margin-top: 0;
    }

    .ir_iro_imagebox_img {
      grid-column: 2;
      grid-row: 1;
      border-radius: 10px;
      position: relative;
      overflow: hidden;

      @media (width <= 960px) {
        display: grid;
        grid-column: auto;
        grid-row: auto;
        order: 2;
        row-gap: 4px;
      }

      @media (width <= 768px) {
        row-gap: calc(4 / var(--b-w-sp) * 100vw);
        border-radius: calc(10 / var(--b-w-sp) * 100vw);
      }

      img {
        width: 100%;
      }

      .ir_iro_imagebox_caption_wrap {
        color: var(--white);
        position: absolute;
        inset: auto auto 10px 0;

        @media (width <= 960px) {
          display: grid;
          row-gap: 4px;
          position: unset;
          inset: unset;
        }

        @media (width <= 768px) {
          row-gap: calc(4 / var(--b-w-sp) * 100vw);
        }

        > div {
          padding: 10px;
          background: rgba(175, 69, 142, 0.8);
          color: var(--color-text-white);

          @media (width <= 960px) {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            column-gap: 8px;
            padding: 9px 8px;
          }

          @media (width <= 768px) {
            column-gap: calc(8 / var(--b-w-sp) * 100vw);
            padding: calc(9 / var(--b-w-sp) * 100vw) calc(8 / var(--b-w-sp) * 100vw);
          }
        }
      }

      .ir_iro_imagebox_position {
        margin-bottom: 4px;
        font-size: clamp(1rem, (calc(12 / var(--b-w-pc) * 100vw)), 1.2rem);
        line-height: 1.58333;

        @media (width <= 960px) {
          margin-bottom: 0;
        }

        @media (width <= 768px) {
          font-size: calc(10 / var(--b-w-sp) * 100vw);
        }
      }

      .ir_iro_imagebox_name {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        gap: 2px 8px;
        font-size: min((calc(22 / var(--b-w-pc) * 100vw)), 2.2rem);
        font-weight: 600;
        line-height: 1.45454;

        @media (width <= 768px) {
          column-gap: calc(8 / var(--b-w-sp) * 100vw);
          font-size: calc(18 / var(--b-w-sp) * 100vw);
        }
      }

      .ir_iro_imagebox_name_en {
        font-size: clamp(1rem, (calc(12 / var(--b-w-pc) * 100vw)), 1.2rem);
        line-height: 1.41666;

        @media (width <= 768px) {
          font-size: calc(10 / var(--b-w-sp) * 100vw);
        }
      }
    }
  }

  /*-----------------------------------------
    ir_iro_discussion
  -----------------------------------------*/
  .ir_iro_discussion {
    h2 {
      @media (width <= 768px) {
        font-size: calc(30 / var(--b-w-sp) * 100vw);
        margin-bottom: var(--spacing-xs);
      }
    }

    figure {
      margin-bottom: 48px;
      border-radius: 10px;
      color: var(--white);
      position: relative;
      overflow: hidden;

      @media (width <= 960px) {
        display: grid;
        row-gap: 4px;
        margin-bottom: var(--spacing-xs);
      }

      @media (width <= 768px) {
        row-gap: calc(4 / var(--b-w-sp) * 100vw);
        border-radius: calc(10 / var(--b-w-sp) * 100vw);
      }

      img {
        width: 1100px;
        height: 470px;
        object-fit: cover;

        @media (width <= 960px) {
          width: 100%;
          height: auto;
          aspect-ratio: 343 / 180;
        }
      }

      figcaption {
        @media (width <= 960px) {
          display: grid;
          row-gap: 4px;
        }

        @media (width <= 768px) {
          display: grid;
          row-gap: calc(4 / var(--b-w-sp) * 100vw);
        }
      }
    }

    .ir_iro_discussion_box {
      padding: 8px;
      color: var(--white);
      background: rgba(0, 152, 95, 0.8);
      position: absolute;

      @media (width <= 960px) {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        column-gap: 8px;
        padding: 8px;
        position: unset;
      }

      @media (width <= 768px) {
        column-gap: calc(8 / var(--b-w-sp) * 100vw);
        padding: calc(8 / var(--b-w-sp) * 100vw);
      }

      &.box--01 {
        inset: auto auto 66px 16px;
      }

      &.box--02 {
        margin-inline: auto;
        width: fit-content;
        inset: auto 0 90px -16px;

        @media (width <= 960px) {
          width: 100%;
        }
      }

      &.box--03 {
        inset: auto 16px 66px auto;
      }
    }

    .ir_iro_discussion_position {
      font-size: clamp(1rem, (calc(12 / var(--b-w-pc) * 100vw)), 1.2rem);
      line-height: 1.41666;

      @media (width <= 768px) {
        font-size: calc(10 / var(--b-w-sp) * 100vw);
      }
    }

    .ir_iro_discussion_name {
      font-size: min((calc(22 / var(--b-w-pc) * 100vw)), 2.2rem);
      font-weight: 600;
      line-height: 1.45454;

      @media (width <= 768px) {
        font-size: calc(18 / var(--b-w-sp) * 100vw);
      }
    }

    .ir_iro_discussion_name_en {
      margin-left: 8px;
      font-size: clamp(1rem, (calc(12 / var(--b-w-pc) * 100vw)), 1.2rem);
      font-weight: 500;
      line-height: 1.41666;

      @media (width <= 768px) {
        font-size: calc(10 / var(--b-w-sp) * 100vw);
      }
    }
  }

  .ir_iro_discussion_detail {
    display: flex;
    justify-content: space-between;
    align-items: center;

    @media (width <= 768px) {
      flex-direction: column;
      align-items: flex-end;
      gap: var(--spacing-xs);
    }

    a {
      margin-top: 0;
    }
  }

  .ir_iro_discussion_lead {
    line-height: 2.22222;

    @media (width <= 768px) {
      line-height: 1.4375;
    }
  }

  /*-----------------------------------------
    ir_iro_movie
  -----------------------------------------*/
  .ir_iro_movie.ir_iro_wrap {
    background: #F6FBFF;
    margin-top: 0;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-top: 80px;

    @media (width <= 960px) {
      margin-top: var(--spacing-m);
      padding: var(--spacing-m) 0;
    }
  }

  .ir_iro_movie_container {
    max-width: 1100px;
    width: 80.52%;
    margin-inline: auto;

    @media (width <= 768px) {
      width: 100%;
      padding: 0 4.1%;
    }

    iframe {
      width: 100%;
      height: 100%;
      aspect-ratio: 16 / 9;
    }
  }

  /*-----------------------------------------
    ir_iro_report
  -----------------------------------------*/
  .ir_iro_report {
    display: grid;
    row-gap: var(--spacing-s);

    @media (width <= 768px) {
      row-gap: calc(16 / var(--b-w-sp) * 100vw);
    }
  }

  .ir_iro_report_box {
    padding: var(--spacing-s) var(--spacing-xs);
    background: var(--white);
    border: 2px solid var(--logo-blue);

    @media (width <= 768px) {
      padding: var(--spacing-xs) calc(8 / var(--b-w-sp) * 100vw);
    }
  }

  .ir_iro_report_main_title {
    margin-bottom: var(--spacing-s);

    @media (width <= 768px) {
      font-size: calc(20 / var(--b-w-sp) * 100vw);
      margin-bottom: var(--spacing-xs);
    }
  }

  .ir_iro_report_list_item {
    border-top: 1px solid #f1f3f5;
    border-bottom: 1px solid #f1f3f5;
  }

  .ir_iro_report_entire_title {
    margin-bottom: var(--spacing-xs);
    padding-bottom: 0;
    font-weight: 600;

    @media (width <= 768px) {
      margin-bottom: calc(16 / var(--b-w-sp) * 100vw);
      font-size: calc(18 / var(--b-w-sp) * 100vw);
    }

    &::before {
      content: none;
    }
  }

  .ir_iro_report_title_box {
    display: flex;
    align-items: center;

    @media (width <= 768px) {
      flex-wrap: wrap;
      gap: calc(14 / var(--b-w-sp) * 100vw) 0;
    }
  }

  .ir_iro_report_title {
    display: inline;
    margin-top: 0;
    margin-bottom: 0;
    color: var(--logo-blue);
    position: relative;

    &:has(.text_more) {
      display: block;
      width: 100%;
    }

    @media (width <= 960px) {
      display: block;
      width: 100%;
      line-height: 1.4375;
    }

    &::before {
      display: none;
    }
  }

  .ir_iro_report_section_title {
    margin-top: var(--spacing-s);
    padding-bottom: 0;
    font-weight: 600;

    @media (width <= 768px) {
      margin-top: var(--spacing-xs);
      font-size: calc(20 / var(--b-w-sp) * 100vw);
    }

    &::before {
      content: none;
    }
  }

  .ir_iro_report_title_link {
    display: flex;
    align-items: center;
    padding: 25px 0;
    font-feature-settings: normal;
    transition: color 0.3s;

    @media (width <= 960px) {
      row-gap: calc(14 / var(--b-w-pc) * 100vw);
    }

    @media (width <= 768px) {
      flex-wrap: wrap;
      row-gap: calc(14 / var(--b-w-sp) * 100vw);
      padding: calc(10 / var(--b-w-sp) * 100vw) 0;
    }

    @media (hover: hover) and (pointer: fine) {
      &:hover {
        &:has(.text_more) {
          .text_more {
            color: var(--color-txt-link);

            &::after {
              translate: 35px 0;
            }
          }
        }
      }
    }

    &:has(.text_more) {
      column-gap: min(35px, calc(35 / var(--b-w-pc) * 100vw));
      width: 100%;

      .ir_iro_report_title_label {
        color: var(--b-black);
      }

      a {
        flex-shrink: 0;
        display: inline-block;
        margin-left: auto;
      }
    }
  }

  .ir_iro_report_title_label {
    font-size: min(1.8rem, calc(18 / var(--b-w-pc) * 100vw));
    font-feature-settings: normal;
    transition: color 0.3s;

    @media (width <= 768px) {
      width: 100%;
      font-size: calc(16 / var(--b-w-sp) * 100vw);
    }
  }

  .text_more {
    padding-right: 30px;
    width: fit-content;
    font-size: min(1.6rem, calc(16 / var(--b-w-pc) * 100vw));
    font-weight: 400;
    display: inline-flex;
    justify-content: flex-end;
    align-items: center;
    transition: color 0.3s;

    @media (width <= 768px) {
      padding-right: calc(16 / var(--b-w-sp) * 100vw);
      font-size: calc(12 / var(--b-w-sp) * 100vw);
    }

    @media (hover: hover) and (pointer: fine) {
      &:hover {
        &::after {
          transform: translateX(5px);
        }
      }
    }

    &::after {
      content: '';
      width: 34px;
      height: 6px;
      background: url(/img/arrow_line.png) center right no-repeat;
      background-size: 100% auto;
      transition: 0.5s;
      translate: 30px 0;

      @media (width <= 768px) {
        width: calc(23 / var(--b-w-sp) * 100vw);
        height: 4px;
        translate: calc(16 / var(--b-w-sp) * 100vw) 0;
      }
    }
  }

  .ir_iro_report_type {
    display: inline-flex;

    @media (width <= 768px) {
      margin-left: auto;
    }
  }

  .ir_iro_report_type_img::before {
    content: '';
    display: block;
    width: 15.2px;
    height: 20px;
    font-size: 1.6rem;
    background: url(/ir/rs_v3/ir/img/icon_pdf.png) no-repeat;
    background-size: 100% auto;

    @media (width <= 768px) {
      width: calc(15.2 / var(--b-w-sp) * 100vw);
      height: calc(20 / var(--b-w-sp) * 100vw);
      font-size: calc(16 / var(--b-w-sp) * 100vw);
    }
  }

  .ir_iro_report_type_img {
    margin: 0 min(8px, calc(8 / var(--b-w-pc) * 100vw)) 0 min(35px, calc(35 / var(--b-w-pc) * 100vw));

    @media (width <= 768px) {
      margin: 0 calc(10 / var(--b-w-sp) * 100vw) 0 min(35px, calc(35 / var(--b-w-sp) * 100vw));
    }
  }

  .ir_iro_report_size {
    display: inline;

    @media (width <= 768px) {
      display: inline-block;
    }
  }

  .ir_iro_report_size_item {
    font-weight: 400;

    @media (width <= 768px) {
      font-size: calc(16 / var(--b-w-sp) * 100vw);
    }
  }

  /*-----------------------------------------
    ir_iro_lead
  -----------------------------------------*/
  .ir_iro_lead {
    margin-bottom: 0;
  }

  .ir_iro_sub_lead {
    font-size: 1.8rem;

    @media (width <= 1280px) {
      font-size: calc(18 / var(--b-w-pc) * 100vw);
    }

    @media (width <= 768px) {
      margin-top: calc(40 / var(--b-w-sp) * 100vw);
      font-size: calc(16 / var(--b-w-sp) * 100vw);
    }
  }

  .ir_iro_lead_info {
    line-height: 1.43333;
    font-weight: 500;
    color: var(--logo-blue);
  }

  .ir_iro_lead_name {
    font-size: 2.2rem;
    font-weight: 600;

    @media (width <= 768px) {
      font-size: calc(20 / var(--b-w-sp) * 100vw);
    }
  }

  .ir_iro_lead_name_en {
    margin-left: .5em;

    @media (width <= 768px) {
      font-size: calc(12 / var(--b-w-sp) * 100vw);
    }
  }

  /*-----------------------------------------
    ir_iro_lower_topmessage
  -----------------------------------------*/
  .ir_iro_lower_topmessage_mv {
    margin-top: 30px;
    border-radius: 10px;
    overflow: hidden;

    @media (width <= 960px) {
      font-size: calc(30 / var(--b-w-sp) * 100vw);
    }
  }

  .ir_iro_lower_topmessage_lead {
    margin-top: 50px;
    font-size: 2rem;
    font-weight: 700;
    line-height: 2;

    @media (width <= 1280px) {
      margin-top: calc(50 / var(--b-w-pc) * 100vw);
      font-size: calc(20 / var(--b-w-pc) * 100vw);
    }

    @media (width <= 768px) {
      margin-top: calc(20 / var(--b-w-sp) * 100vw);
      font-size: calc(16 / var(--b-w-sp) * 100vw);
    }
  }

  .float_wrap {
    + p {
      margin-top: 1em;
    }

    &::after {
      content: "";
      display: block;
      clear: both;
    }

    figure {
      width: calc((540 / 1100) * 100%);

      @media (width <= 960px) {
        width: 100%;
      }

      figcaption {
        text-align: center;
        font-size: 1.4rem;
        line-height: 2.57142;

        @media (width <= 1280px) {
          margin: 0 0 calc(14 / var(--b-w-pc) * 100vw);
          font-size: max(calc(14 / var(--b-w-pc) * 100vw), 1rem);
        }

        @media (width <= 768px) {
          margin: 0 0 calc(12 / var(--b-w-sp) * 100vw);
          font-size: calc(14 / var(--b-w-sp) * 100vw);
        }
      }
    }

    .float_right {
      float: right;
      margin-left: 30px;
      margin-bottom: 30px;

      @media (width <= 960px) {
        margin: 0 0 calc(12 / var(--b-w-sp) * 100vw);
        float: unset;
      }
    }

    .float_left {
      float: left;
      margin-right: 30px;
      margin-bottom: 30px;

      @media (width <= 960px) {
        margin: 0 0 calc(12 / var(--b-w-sp) * 100vw);
        float: unset;
      }
    }
  }

  .img_sanrio_time {
    margin: 20px 0 0;

    @media (width <= 768px) {
      margin: calc(16 / var(--b-w-sp) * 100vw) 0 0;
    }
  }

  /*-----------------------------------------
    ir_iro_sports_title
  -----------------------------------------*/
  .ir_iro_sports_title {
    display: grid;
    align-items: center;
    gap: 76px;
    grid-template-columns: 50% 50%;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    height: 360px;
    background: #F6FBFF;

    @media (width <= 1280px) {
      height: auto;
    }

    @media (width <= 960px) {
      gap: calc(12 / var(--b-w-sp) * 100vw);
      grid-template-columns: 1fr;
      margin-left: 0;
      margin-right: 0;
    }

    h2 {
      justify-self: end;
      margin-bottom: 0;
      line-height: 2;

      @media (width <= 960px) {
        padding-top: calc(12 / var(--b-w-sp) * 100vw);
        justify-self: center;
        align-self: center;
      }
    }

    figure {
      position: relative;

      @media (width <= 960px) {
        display: grid;
        gap: calc(4 / var(--b-w-pc) * 100vw);
      }

      @media (width <= 768px) {
        gap: calc(4 / var(--b-w-sp) * 100vw);
      }

      &::before {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background: linear-gradient(270deg, rgba(246, 251, 255, 0) 77.06%, #F6FBFF 95.88%);
        position: absolute;
        inset: 0;

        @media (width <= 960px) {
          background: linear-gradient(0deg, rgba(246, 251, 255, 0) 77.06%, #F6FBFF 100%);
          inset: calc(-1 / var(--b-w-sp) * 100vw);
        }
      }

      div {
        padding: 10px;

        @media (width <= 1280px) {
          padding: calc(10 / var(--b-w-pc) * 100vw);
        }

        @media (width <= 960px) {
          display: flex;
          align-items: flex-end;
          column-gap: calc(8 / var(--b-w-pc) * 100vw);
        }

        @media (width <= 768px) {
          column-gap: calc(8 / var(--b-w-sp) * 100vw);
          padding: calc(8 / var(--b-w-sp) * 100vw);
        }
      }

      img {
        height: 360px;
        object-fit: cover;
        object-position: top;

        @media (width <= 1280px) {
          height: auto;
        }
      }

      figcaption {
        background: rgba(175, 69, 142, 0.8);
        color: var(--white);
        position: absolute;
        inset: auto auto 10px 0;

        @media (width <= 1280px) {
          inset: auto auto calc(10 / var(--b-w-pc) * 100vw) 0;
        }

        @media (width <= 960px) {
          position: unset;
          border-radius: 0 0 10px 10px;
        }

        p {
          margin-top: 0;
        }
      }

      .ir_iro_sports_title_position {
        margin-bottom: 4px;
        font-size: 12px;
        line-height: 1.58333;

        @media (width <= 1280px) {
          margin-bottom: calc(4 / var(--b-w-pc) * 100vw);
          font-size: calc(12 / var(--b-w-pc) * 100vw);
        }

        @media (width <= 768px) {
          font-size: calc(10 / var(--b-w-sp) * 100vw);
        }
      }

      .ir_iro_sports_title_name {
        display: flex;
        column-gap: 4px;
        align-items: flex-end;
        font-size: 2.2rem;
        font-weight: 700;
        line-height: 1.22727;

        @media (width <= 1280px) {
          gap: calc(4 / var(--b-w-pc) * 100vw);
          font-size: calc(22 / var(--b-w-pc) * 100vw);
        }

        @media (width <= 768px) {
          column-gap: calc(8 / var(--b-w-pc) * 100vw);
        }

        @media (width <= 768px) {
          column-gap: calc(8 / var(--b-w-sp) * 100vw);
          font-size: calc(18 / var(--b-w-sp) * 100vw);
        }
      }

      .ir_iro_sports_title_name_en {
        font-size: 12px;
        line-height: 1.16666;

        @media (width <= 1280px) {
          font-size: calc(12 / var(--b-w-pc) * 100vw);
        }

        @media (width <= 768px) {
          font-size: calc(10 / var(--b-w-sp) * 100vw);
        }
      }
    }
  }

  /*-----------------------------------------
    ir_iro_lower_mv
  -----------------------------------------*/
  .ir_iro_lower_mv {
    margin-top: 30px;
    border-radius: 10px;
    overflow: hidden;
    position: relative;

    @media (width <= 960px) {
      display: grid;
      gap: calc(4 / var(--b-w-pc) * 100vw);
    }

    @media (width <= 760px) {
      gap: calc(4 / var(--b-w-sp) * 100vw);
    }

    img {
      height: 450px;
      object-fit: cover;

      @media (width <= 960px) {
        height: auto;
        object-fit: inset;
      }
    }

    /* figure {
      @media (width <= 960px) {
        display: grid;
        gap: calc(4 / var(--b-w-pc) * 100vw);
      }

      @media (width <= 760px) {
        gap: calc(4 / var(--b-w-sp) * 100vw);
      }
    } */

    figcaption {
      color: var(--white);

      @media (width <= 1280px) {
        inset: auto auto calc(10 / var(--b-w-pc) * 100vw) 0;
      }

      @media (width <= 960px) {
        display: grid;
        gap: calc(4 / var(--b-w-pc) * 100vw);
        position: unset;
        border-radius: 0 0 10px 10px;
      }

      @media (width <= 760px) {
        gap: calc(4 / var(--b-w-sp) * 100vw);
      }

      p {
        margin-top: 0;
      }
    }

    .ir_iro_lower_mv_box {
      width: fit-content;
      height: fit-content;
      background: rgba(175, 69, 142, 0.8);
      position: absolute;

      @media (width <= 960px) {
        display: flex;
        align-items: center;
        gap: calc(8 / var(--b-w-pc) * 100vw);
        width: 100%;
        position: unset;
      }

      @media (width <= 768px) {
        gap: calc(8 / var(--b-w-sp) * 100vw);
      }
    }

    .ir_iro_lower_mv_position {
      margin-bottom: 4px;
      font-size: 1rem;
      line-height: 1.2;

      @media (width <= 1280px) {
        margin-bottom: calc(4 / var(--b-w-pc) * 100vw);
        font-size: calc(12 / var(--b-w-pc) * 100vw);
      }

      @media (width <= 960px) {
        margin-bottom: 0;
      }

      @media (width <= 768px) {
        font-size: calc(10 / var(--b-w-sp) * 100vw);
      }
    }

    .ir_iro_lower_mv_name {
      display: flex;
      gap: 8px;
      align-items: flex-end;
      font-size: 2.2rem;
      font-weight: 600;
      line-height: 1.45454;

      @media (width <= 1280px) {
        gap: calc(4 / var(--b-w-pc) * 100vw);
        font-size: calc(22 / var(--b-w-pc) * 100vw);
      }

      @media (width <= 768px) {
        column-gap: calc(8 / var(--b-w-pc) * 100vw);
      }

      @media (width <= 768px) {
        column-gap: calc(8 / var(--b-w-sp) * 100vw);
        font-size: calc(18 / var(--b-w-sp) * 100vw);
      }
    }

    .ir_iro_discussion_name_en {
      font-size: 1rem;
      line-height: 1.2;

      @media (width <= 1280px) {
        font-size: calc(12 / var(--b-w-pc) * 100vw);
      }

      @media (width <= 768px) {
        font-size: calc(10 / var(--b-w-sp) * 100vw);
      }
    }

    &.mv--analyst {
      .box--01 {
        padding: 23px 15px;
        inset: auto auto 24px 60px;

        @media (width <= 960px) {
          padding: calc(10 / var(--b-w-pc) * 100vw);
        }

        @media (width <= 768px) {
          padding: calc(10 / var(--b-w-sp) * 100vw);
        }

        .ir_iro_lower_mv_position {
          font-size: 1.2rem;
          line-height: 1.16666;

          @media (width <= 1280px) {
            font-size: calc(12 / var(--b-w-pc) * 100vw);
          }

          @media (width <= 768px) {
            font-size: calc(10 / var(--b-w-sp) * 100vw);
          }
        }
      }

      .box--02 {
        padding: 8px 15px;
        margin-inline: auto;
        inset: auto 56px 33px 0;

        @media (width <= 960px) {
          padding: calc(10 / var(--b-w-pc) * 100vw);
        }

        @media (width <= 768px) {
          padding: calc(10 / var(--b-w-sp) * 100vw);
        }
      }

      .box--03 {
        padding: 8px 15px;
        inset: auto 60px 33px auto;

        @media (width <= 960px) {
          padding: calc(10 / var(--b-w-pc) * 100vw);
        }

        @media (width <= 768px) {
          padding: calc(10 / var(--b-w-sp) * 100vw);
        }
      }
    }

    &.mv--global {
      .box--01 {
        padding: 8px 15px;
        inset: auto auto 29px 106px;

        @media (width <= 960px) {
          padding: calc(10 / var(--b-w-pc) * 100vw);
        }

        @media (width <= 768px) {
          padding: calc(10 / var(--b-w-sp) * 100vw);
        }

        .ir_iro_lower_mv_position {
          font-size: 1.2rem;
          line-height: 1.16666;

          @media (width <= 1280px) {
            font-size: calc(12 / var(--b-w-pc) * 100vw);
          }

          @media (width <= 768px) {
            font-size: calc(10 / var(--b-w-sp) * 100vw);
          }
        }
      }

      .box--02 {
        padding: 8px 15px;
        inset: auto 96px 29px auto;

        @media (width <= 960px) {
          padding: calc(10 / var(--b-w-pc) * 100vw);
        }

        @media (width <= 768px) {
          padding: calc(10 / var(--b-w-sp) * 100vw);
        }
      }
    }

    &.mv--talk {
      .ir_iro_lower_mv_box {
        background: rgba(0, 152, 95, 0.8);
      }

      .box--01 {
        padding: 8px 15px;
        inset: auto auto 46px 16px;

        @media (width <= 960px) {
          padding: calc(10 / var(--b-w-pc) * 100vw);
        }

        @media (width <= 768px) {
          padding: calc(10 / var(--b-w-sp) * 100vw);
        }

        .ir_iro_lower_mv_position {
          font-size: 1.2rem;
          line-height: 1.16666;

          @media (width <= 1280px) {
            font-size: calc(12 / var(--b-w-pc) * 100vw);
          }

          @media (width <= 768px) {
            font-size: calc(10 / var(--b-w-sp) * 100vw);
          }
        }
      }

      .box--02 {
        padding: 8px 15px;
        margin-inline: auto;
        inset: auto 40px 70px 0;

        @media (width <= 960px) {
          padding: calc(10 / var(--b-w-pc) * 100vw);
        }

        @media (width <= 768px) {
          padding: calc(10 / var(--b-w-sp) * 100vw);
        }
      }

      .box--03 {
        padding: 8px 15px;
        inset: auto 60px 33px auto;

        @media (width <= 960px) {
          padding: calc(10 / var(--b-w-pc) * 100vw);
        }

        @media (width <= 768px) {
          padding: calc(10 / var(--b-w-sp) * 100vw);
        }
      }
    }
  }

  /*-----------------------------------------
    ir_iro_conv-name
  -----------------------------------------*/
  .ir_iro_conv-name {
    margin-right: 0.3em;
    color: var(--logo-blue);
    font-weight: 700;
  }

  /*-----------------------------------------
    ir_iro_box
  -----------------------------------------*/
  .ir_iro_box {
    display: grid;
    align-items: center;
    gap: 30px;
    grid-template-columns: 608fr 400fr;
    padding: 30px;
    background: #F6FBFF;
    border-radius: 10px;
    border: 1px solid #CDD6DD;

    @media (width <= 960px) {
      grid-template-columns: 1fr;
      padding: calc(30 / var(--b-w-pc) * 100vw);
    }

    @media (width <= 768px) {
      padding: calc(15 / var(--b-w-sp) * 100vw);
    }

    p {
      font-size: 1.6rem;

      @media (width <= 1280px) {
        font-size: calc(16 / var(--b-w-pc) * 100vw);
      }

      @media (width <= 768px) {
        font-size: calc(14 / var(--b-w-sp) * 100vw);
      }
    }
  }

  .img_logo_academy {
    background: var(--white);
  }

  /*-----------------------------------------
    ir_iro_column_lead
  -----------------------------------------*/
  .ir_iro_column_lead {
    position: relative;

    .ir_iro_lead {
      padding-right: 200px;

      @media (width <= 1280px) {
        padding-right: calc(200 / var(--b-w-pc) * 100vw);
      }

      @media (width <= 768px) {
        padding-right: 0;
      }
    }
  }

  .ir_iro_column_lead_info {
    margin-top: -80px;

    @media (width <= 1280px) {
      margin-top: calc(-80 / var(--b-w-pc) * 100vw);
    }

    @media (width <= 768px) {
      margin-top: 0;
    }

    figure {
      display: grid;
      align-items: end;
      grid-template-columns: auto 160px;
      column-gap: 16px;
      margin-left: auto;
      width: fit-content;
      height: fit-content;

      @media (width <= 1280px) {
        grid-template-columns: auto calc(160 / var(--b-w-pc) * 100vw);
        column-gap: calc(16 / var(--b-w-pc) * 100vw);
      }

      @media (width <= 768px) {
        justify-content: end;
        grid-template-columns: auto 80px;
        column-gap: calc(16 / var(--b-w-sp) * 100vw);
        margin-top: 24px;
        width: 100%;
      }

      img {
        border-radius: 100vmax;
      }
    }

    figcaption {
      font-size: 1.8rem;
      line-height: 1.44444;
      color: var(--logo-blue);
      text-align: right;

      @media (width <= 1280px) {
        font-size: calc(18 / var(--b-w-pc) * 100vw);
      }

      @media (width <= 768px) {
        font-size: calc(14 / var(--b-w-sp) * 100vw);
      }
    }
  }

  .ir_iro_column_lead_name {
    font-weight: 600;
    font-size: 24px;
    line-height: 1.45833;

    @media (width <= 1280px) {
      font-size: calc(24 / var(--b-w-pc) * 100vw);
    }

    @media (width <= 768px) {
      font-size: calc(18 / var(--b-w-sp) * 100vw);
    }
  }

  /*-----------------------------------------
    utility
  -----------------------------------------*/
  .tb {
    display: none;

    @media (width <= 960px) {
      display: block;
    }
  }

  .bdrs-10 {
    border-radius: 10px;
    overflow: hidden;
  }

  .mt-sm {
    margin-top: var(--spacing-sm);

    @media (width <= 768px) {
      margin-top: calc(25 / var(--b-w-sp) * 100vw);
    }
  }

  .mt-xxl {
    margin-top: var(--spacing-xxl);

    @media (width <= 768px) {
      margin-top: calc(45 / var(--b-w-sp) * 100vw);
    }
  }

  .mt-xs-plus {
    margin-top: var(--spacing-xs-plus);

    @media (width <= 768px) {
      margin-top: calc(15 / var(--b-w-sp) * 100vw);
    }
  }
}