.sisousen2606 {
  /*----- FV -----*/
  .fv {
    position: relative;
    width: 100%;
    animation: fadeIn 0.3s ease-in;
    transition: all 0.3s ease;
    overflow: hidden;
    &::before {
      position: absolute;
      pointer-events: none;
      content: "";
    }
    &::after {
      position: absolute;
      left: 50%;
      opacity: 0;
      transform: translate(-50%,0);
      animation: slideInDown 1s cubic-bezier(.71,.18,.59,.96) .7s forwards;
      content: "";
    }
    .fv-frame {
      position: relative;
      background-image:
      linear-gradient(#FFF958, #FFF958),
      linear-gradient(#FFF958, #FFF958),
      linear-gradient(#FFF958, #FFF958),
      linear-gradient(#FFF958, #FFF958);
      background-repeat: no-repeat;
    }
    .fv-frame__deco {
      position: absolute;
      pointer-events: none;
      z-index: 2;
      background-image:
        url(../images/deco_fv_corner_tl.svg),
        url(../images/deco_fv_corner_tr.svg),
        url(../images/deco_fv_corner_bl.svg),
        url(../images/deco_fv_corner_br.svg);
      background-position:
        top left,
        top right,
        bottom left,
        bottom right;
      background-repeat: no-repeat;
      background-size: 32px 32px;
    }
    .fv-inner {
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      width: clamp(500px, 48vw, 718px);
      margin-left: auto;
      margin-right: 4%;
      padding: 3% 0;
      z-index: 10;
    }
    .fv-inner__logo {
      animation: slideInUp 0.8s cubic-bezier(.71,.18,.59,.96) .2s forwards;
      animation-fill-mode: backwards;
      z-index: 1001;
    }
    .fv-about {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      animation: slideInUp 0.8s cubic-bezier(.71,.18,.59,.96) .35s forwards;
      animation-fill-mode: backwards;
      .fv-about__ttl {
        position: relative;
        color: #ffffff;
        font-weight: 600;
        line-height: 1.2;
        background-color: #9F1A1B;
        animation: slideInUp 0.8s cubic-bezier(.71,.18,.59,.96) .5s forwards;
        animation-fill-mode: backwards;
        &::before {
          position: absolute;
          border: 1px solid #FFCD6C;
          pointer-events: none;
          content: "";
        }
      }
      .fv-about__list {
        display: flex;
        flex-direction: column;
        list-style: none;
        animation: slideInUp 0.8s cubic-bezier(.71,.18,.59,.96) .5s forwards;
        animation-fill-mode: backwards;
        .date-group {
          .label {
            color: #9F1A1B;
            font-size: clamp(14px, 1.38vw, 20px);
            font-weight: 800;
            span {
              padding: 0 4px;
              background: #fff;
            }
          }
          .date {
            color: #000000;
            font-size: clamp(16px, 1.66vw, 24px);
            font-weight: 700;
            letter-spacing: -0.03em;
            line-height: 1.5;
            white-space: nowrap;
            word-break: break-all;
            overflow-wrap: break-word;
            span {
              font-size: 0.9em;
            }
          }
        }
      }
      .fv-about__item {
        width: 100%;
        padding: 1.2% 0;
        border-bottom: 1px solid #9F1A1B;
        &:last-child {
          padding-bottom: 8px;
          border-bottom: none;
        }
      }
      .fv-about__label {
        color: #9F1A1B;
        font-weight: 800;
        span {
          padding: 0 4px;
          background: #fff;
        }
      }
      .fv-about__date {
        font-weight: 700;
        letter-spacing: -0.03em;
        line-height: 1.5;
        white-space: nowrap;
        word-break: break-all;
        overflow-wrap: break-word;
        span {
          font-size: 0.8em;
        }
      }
    }
    .fv-company {
      animation: slideInUp 0.8s cubic-bezier(.71,.18,.59,.96) .65s forwards;
      animation-fill-mode: backwards;
      .fv-company__list {
        display: flex;
        align-items: center;
      }
      .fv-company__item {
        height: auto;
      }
    }
    .fv-character {
      position: absolute;
      z-index: 3;
      opacity: 0;
      animation: slideBlurChr .8s cubic-bezier(.71,.18,.59,.96) .8s forwards;
      img {
        width: auto;
        object-fit: contain;
        object-position: bottom left;
        display: block;
      }
    }
  }
  /*----- scroll bar -----*/
  .deco-scrollbar {
    position: relative;
    width: 100%;
    background-color: #9F1A1B;
    background-image: url(../images/deco_band.webp);
    background-repeat: repeat-x;
    background-size: auto 100%;
    background-position: 0 center;
    animation: deco-scroll 10s linear infinite;
    &::before,
    &::after {
      position: absolute;
      left: 0;
      width: 100%;
      height: 2px;
      content: "";
    }
    &::before {
      top: 0;
      background: linear-gradient(90deg, #FFD75B 0%, #FFFFDB 100%);
    }
    &::after {
      bottom: 0;
      background: linear-gradient(90deg, #FFFFDB 0%, #FFD75B 100%);
    }
  }
  /*------ catch ------*/
  .catch {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 24px;
    align-self: stretch;
    padding: 40px 5%;
    background-image: url(../images/bg_catch.webp);
    background-repeat: repeat;
  }
  /*------ howto ------*/
  .howto {
    background-image: url(../images/bg_pt_howto.webp);
    background-repeat: repeat;
    .c-cont {
      align-items: center;
    }
    .howto-inner {
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 24px;
      flex-shrink: 0;
      margin: 0 auto;
    }
    .howto-tx {
      font-size: 24px;
      font-weight: 800;
      line-height: 48px;
      text-align: center;
      .howto-tx__large {
        color: #CEA000;
      }
      .howto-tx__change {
        font-family: "Noto Serif JP", serif;
      }
    }
  }
  /*------ prize ------*/
  .prize {
    position: relative;
    background-image: url(../images/bg_pt_yellow.webp);
    background-repeat: repeat;
    &::before,
    &::after {
      position: absolute;
      top: 0;
      z-index: 1;
      content: "";
    }
    &::before {
      left: 0;
      background-color: #FFCD6C;
      clip-path: polygon(0 0, 100% 0, 0 100%);
    }
    &::after {
      right: 0;
      background-color: #FFCD6C;
      clip-path: polygon(0 0, 100% 0, 100% 100%);
    }
    .prize-deco {
      background-image:
        url(../images/bg_deco_left_prize.webp),
        url(../images/bg_deco_right_prize.webp);
      background-repeat: no-repeat;
    }
    .prize__inner {
      display: flex;
      flex-flow: column;
    }
    .prize-main {
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      box-sizing: border-box;
      background-repeat: no-repeat;
      .badge {
        position: absolute;
      }
      .prize-main__box {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
      }
      .item__secondary {
        color: #ffffff;
        text-shadow:
          1px  1px 0 #9F1A1B,
        -1px  1px 0 #9F1A1B,
          1px -1px 0 #9F1A1B,
        -1px -1px 0 #9F1A1B;
      }
    }
    .prize-list__main {
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: start;
      &::after {
        position: absolute;
        left: 50%;
        transform: translate(-50%,0);
        background-image: url(../images/deco_line.webp);
        background-repeat: no-repeat;
        background-size: contain;
        content: "";
      }
    }
    .item__primary {
      position: relative;
      border: 1px solid #FFCD6C;
      background: #FFF;
      box-shadow: 1px 1px 0 0 #FFCD6C;
      &::before {
        position: absolute;
        background: #9F1A1B;
        transform: rotate(45deg);
        content: "";
      }
    }
    .item__secondary {
      position: relative;
      font-weight: 800;
      &::before {
        position: absolute;
        background: #FFCD6C;
        transform: rotate(45deg);
        content: "";
      }
    }
    .prize-secondary {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap;
    }
    .prize-secondary__list,
    .prize-other__list {
      .item {
        font-weight: 700;
        line-height: 1.6;
      }
    }
    .prize-secondary__list {
      display: flex;
      justify-content: center;
      align-items: center;
      .panel_secondary {
        position: relative;
        background-image: url(../images/bg_secondary.webp);
        background-repeat: no-repeat;
        .prize-secondary__item {
          background-image: url(../images/bg_runnerup.webp);
        }
        .badge {
          position: absolute;
          top: -16px;
          left: 0;
        }
        .badge_3rd {
          width: 120px;
          img {
            width: 100%;
          }
        }
        .badge_4th {
          width: 90px;
        }
      }
    }
    .prize-other__list {
      position: relative;
      display: grid;
      grid-template-columns: repeat(auto-fit, 260px);
      justify-content: flex-start;
      width: 100%;
      max-width: 800px;
      padding-top: 10px;
      gap: 10px;
      z-index: 10;
    }
    .panel-other {
      padding-top: 24px;
      width: 260px;
      height: 160px;
      background-image: url(../images/bg_other.webp);
      background-repeat: no-repeat;
      .badge {
        display: flex;
        justify-content: center;
      }
    }
    .list-other {
      padding-top: 20px;
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-start;
      grid-template-columns: repeat(auto-fit, 260px);
      gap: 10px;
      width: 100%;
      max-width: 800px;
      .content {
        width: 260px;
        padding: 5px;
        border: 1px solid #FFCD6C;
        background-color: #fff;
        .wrap {
          width: 100%;
          height: 100%;
          padding: 0;
          background-image: none;
          .wrap-in {
            display: grid;
            align-content: flex-start;
            gap: 10px;
            width: 100%;
            height: 100%;
            padding: 16px 20px 24px 20px;
            border: 4px solid #FFCD6C;
          }
          .corner {
            width: 100%;
            height: 100%;
            background-image:
              url(../images/deco_prize_corner_ur.svg),
              url(../images/deco_prize_corner_dl.svg),
              url(../images/bg_pt_howto.webp);
            background-repeat:
              no-repeat,
              no-repeat,
              repeat;
            background-position:
              top 2px right 2px,
              bottom 2px left 2px;
            background-size:
              20px 20px,
              20px 20px,
              100%;
          }
          .list-prize {
            padding: 0;
          }
        }
      }
    }
  }
  /*------ rule guest ------*/
  .ruleGuest {
    position: relative;
    background-image: url(../images/bg_pt_yellow.webp);
    background-repeat: repeat;
    .c-cont {
      z-index: 3;
    }
    .ruleGuest-inner {
      position: relative;
      display: flex;
      flex-flow: column;
      justify-content: center;
      background-image: url(../images/bg_pt_howto.webp);
      background-size: 50%;
      background-repeat: repeat;
      border: 2px solid #FFCD6C;
      z-index: 2;
    }
    .ruleGuest-cont {
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
    }
    .rule {
      display: grid;
      width: 100%;
      @media screen and (min-width: 900px) {
        grid-template-columns: 200px 1fr;
        align-items: center;
        border-bottom: 1px solid #9F1A1B;
      }
      &:last-child {
        border-bottom: none;
      }
      .rule-head {
        color: #9F1A1B;
        font-weight: 800;
      }
      .rule-capt {
        font-weight: 800;
      }
      .rule-cont {
        .rule-cont__list {
          line-height: 2;
        }
        .rule-cont__tx {
          padding-left: 1em;
          text-indent: -1em;
          &:before {
            content: "・";
          }
        }
        .rule-cont__variant {
          padding-left: 1em;
          text-indent: -1em;
          &:before {
            content: "◆";
          }
        }
        .rule-cont__caution {
          padding-left: 1em;
          text-indent: -1em;
          font-size: 14px;
          &:before {
            content: "※";
          }
        }
      }
    }
    .guest {
      display: flex;
      justify-content: center;
      .guest-list {
        display: grid;
      }
      .guest-item {
        display: flex;
        flex-direction: column;
        text-align: center;
        .guest-item__capt {
          span {
            padding: 0 .2rem;
            font-weight: 800;
            background-color: #FFCD6C;
          }
        }
        .guest-item__name {
          font-weight: 800;
        }
      }
      .pic-guest {
        border: 1px solid #FFCD6C;
      }
    }
  }
  /*------ caution ------*/
  .caution {
    position: relative;
    z-index: 3;
    .caution-inner {
      display: flex;
      flex-direction: column;
      width: fit-content;
      margin: 0 auto;
      color: #FFF;
      line-height: 1.6;
      border: 2px solid #FFCD6C;
      background-color: rgba(0, 0, 0, 0.9);
      .caution-inner__capt {
        span {
          color: #42372E;
          background-color: #FFCD6C;
        }
      }
    }
  }
  /*------ footer ------*/
  footer {
    position: relative;
    display: flex;
    justify-content: center;
    color: #fff;
    background-color: #000000;
    z-index: 100;
    .footer-inner {
      display: flex;
    }
    .footer-cont {
      display: flex;
      flex-direction: column;
    }
    .footer-badge {
      display: flex;
    }
    .footer-company {
      display: flex;
      li {
        img {
          height: 100%;
        }
      }
    }
    .footer-link {
      display: flex;
      &__item {
        display: flex;
        align-items: center;
        border-right: 1px solid #ffffff;
        &:last-child {
          border-right: none;
        }
      }
      a {
        color: #fff;
        text-decoration: none;
      }
    }
  }

  /*======================
            PC
  ======================*/
  /*----- FV -----*/
  @media screen and (min-width: 900px) {
    .fv {
      background: url(../images/bg.webp) no-repeat;
      background-position: center top;
      background-size: cover;
      &::after {
        top: 0;
        width: clamp(120px, 20vw, 300px);
        height: 109px;
        transform: translate(-50%,0);
        background: url(../images/deco_fv_top.webp) no-repeat;
        background-size: contain;
      }
      .fv-frame {
        background-size: 0 8px, 0 8px, 8px 0, 8px 0;
        background-position: center top 10px, center bottom 10px, left 10px center, right 10px center;
        animation: frameExtend 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1s forwards;
      }
      .fv-frame__deco {
        position: absolute;
        top: 16px;
        left: 16px;
        right: 16px;
        bottom: 16px;
        pointer-events: none;
        z-index: 2;
        background-image:
          url(../images/deco_fv_corner_tl.svg),
          url(../images/deco_fv_corner_tr.svg),
          url(../images/deco_fv_corner_bl.svg),
          url(../images/deco_fv_corner_br.svg);
        background-position:
          top left,
          top right,
          bottom left,
          bottom right;
        background-repeat: no-repeat;
        background-size: 32px 32px;
        opacity: 0;
        animation: fadeIn .8s cubic-bezier(0.22, 1, 0.36, 1) 1.6s forwards;
      }
      .fv-character {
        position: absolute;
        top: 0;
        left: -10%;
        width: 80%;
        z-index: 3;
      }
      .fv-inner {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: clamp(500px, 48vw, 718px);
        margin-left: auto;
        margin-right: 4%;
        padding: 3% 0;
        z-index: 10;
        .fv-inner__logo {
          width: 60%;
          margin: 0 auto;
        }
      }
      .fv-about {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        padding: 4% 2%;
        overflow: visible;
        background: url("../images/bg_fv_overview.svg") no-repeat center center;
        background-size: 100% 100%;
        .fv-about__ttl {
          position: relative;
          flex-shrink: 0;
          margin-right: 20px;
          padding: .6rem .5rem;
          color: #ffffff;
          font-size: clamp(20px, 2.22vw, 32px);
          font-weight: 600;
          line-height: 1.2;
          writing-mode: vertical-rl;
          background-color: #9F1A1B;
          &::before {
            position: absolute;
            top: 4px;
            left: 4px;
            right: 4px;
            bottom: 4px;
            border: 1px solid #FFCD6C;
            pointer-events: none;
            content: "";
          }
        }
        .fv-about__list {
          display: flex;
          flex-direction: column;
          gap: 0.8vw;
          list-style: none;
          margin: 0;
          padding: 0;
        }
        .fv-about__item {
          width: 100%;
          padding: 1.2% 0;
          border-bottom: 1px solid #9F1A1B;
          &:last-child {
            padding-bottom: 8px;
            border-bottom: none;
          }
        }
        .fv-about__label {
          color: #9F1A1B;
          font-size: clamp(14px, 1.38vw, 20px);
          span {
            padding: 0 4px;
            background: #fff;
          }
        }
        .fv-about__date {
          color: #000000;
          font-size: clamp(16px, 1.66vw, 24px);
          line-height: 1.5;
          white-space: nowrap;
          word-break: break-all;
          overflow-wrap: break-word;
        }
      }
      .fv-company {
        padding-top: 16px;
        .fv-company__item {
          padding: 0 10px;
        }
        .fv-company__item--catfood {
          width: 140px;
        }
        .fv-company__item--mjnews {
          width: 90px;
        }
        .fv-company__item--yostar {
          width: 160px;
        }
      }
    }
    /*----- scroll bar -----*/
    .deco-scrollbar {
      position: relative;
      width: 100%;
      height: 70px;
      background-color: #9F1A1B;
      background-image: url(../images/deco_band.webp);
      background-repeat: repeat-x;
      background-size: auto 100%;
      background-position: 0 center;
      animation: deco-scroll 10s linear infinite;
      &::before,
      &::after {
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        content: "";
      }
      &::before {
        top: 0;
        background: linear-gradient(90deg, #FFD75B 0%, #FFFFDB 100%);
      }
      &::after {
        bottom: 0;
        background: linear-gradient(90deg, #FFFFDB 0%, #FFD75B 100%);
      }
    }
    /*------ catch ------*/
    .catch {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 24px;
      align-self: stretch;
      padding: 40px 5%;
      background-image: url(../images/bg_catch.webp);
      background-size: 25%;
      background-repeat: repeat;
      .catch-top {
        padding: 0 10%;
      }
    }
    /*------ howto ------*/
    .howto {
      background-image: url(../images/bg_pt_howto.webp);
      background-size: 25%;
      background-repeat: repeat;
      .howto-inner {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 24px;
        flex-shrink: 0;
        margin: 0 auto;
      }
      .howto-tx {
        font-size: 24px;
        font-weight: 800;
        line-height: 48px;
        text-align: center;
      }
    }
    /*------ prize ------*/
    .prize {
      position: relative;
      background-image: url(../images/bg_pt_yellow.webp);
      background-repeat: repeat;
      &::before,
      &::after {
        position: absolute;
        top: 0;
        width: 24px;
        height: 24px;
        z-index: 1;
        content: "";
      }
      &::before {
        left: 0;
        background-color: #FFCD6C;
        clip-path: polygon(0 0, 100% 0, 0 100%);
      }
      &::after {
        right: 0;
        background-color: #FFCD6C;
        clip-path: polygon(0 0, 100% 0, 100% 100%);
      }
      .prize-deco {
        background-image:
          url(../images/bg_deco_left_prize.webp),
          url(../images/bg_deco_right_prize.webp);
        background-repeat: no-repeat;
        background-size: 355px 188px;
        background-position: left 40px top 20px, right 40px top 20px;
      }
      .prize-inner {
        position: relative;
        display: flex;
        flex-flow: column;
        z-index: 10;
      }
      .prize-main {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 881px;
        margin: 0 auto;
        padding: 104px 100px 40px;
        box-sizing: border-box;
        background-image: url(../images/bg_victory.webp);
        background-repeat: no-repeat;
        .badge {
          position: absolute;
          top: -28px;
          left: 50%;
          width: 208px;
          height: 116px;
          transform: translate(-50%,0);
        }
        .prize-main__box {
          position: relative;
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center;
          gap: 16;
        }
        .prize-list__main {
          position: relative;
          display: flex;
          flex-direction: column;
          align-items: start;
          gap: 8px;
          align-self: stretch;
          &::after {
            position: absolute;
            bottom: -32px;
            left: 50%;
            width: 33px;
            height: 15px;
            transform: translate(-50%,0);
            background-image: url(../images/deco_line.webp);
            background-repeat: no-repeat;
            background-size: contain;
            content: "";
          }
        }
        .prize-list__sub {
          padding-top: 40px;
        }
        .item__secondary {
          color: #ffffff;
          font-size: 18px;
          text-shadow:
            1px  1px 0 #9F1A1B,
          -1px  1px 0 #9F1A1B,
            1px -1px 0 #9F1A1B,
          -1px -1px 0 #9F1A1B;
        }
      }
      .item__primary {
        position: relative;
        padding: 6px 10px 6px 1.2em;
        font-size: 24px;
        font-weight: 800;
        border: 1px solid #FFCD6C;
        background: #FFF;
        box-shadow: 1px 1px 0 0 #FFCD6C;
        &::before {
          position: absolute;
          left: 0.4em;
          top: 0.55em;
          width: 0.4em;
          height: 0.4em;
          background: #9F1A1B;
          transform: rotate(45deg);
          content: "";
        }
      }
      .item__secondary {
        position: relative;
        padding-left: 1.4em;
        font-size: 16px;
        line-height: 1.4;
        &::before {
          position: absolute;
          left: 0.4em;
          top: 0.45em;
          width: 0.5em;
          height: 0.5em;
          background: #FFCD6C;
          transform: rotate(45deg);
          content: "";
        }
      }
      .prize-secondary {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        width: 100%;
        padding-top: 16px;
      }
      .prize-secondary__list,
      .prize-other__list {
        .tx-secondary {
          font-size: 16px;
          font-weight: 700;
          line-height: 1.6;
        }
      }
      .prize-secondary__list {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 10px;
        .panel_secondary {
          position: relative;
          width: 260px;
          height: 240px;
          padding: 56px 24px 24px 16px;
          background-image: url(../images/bg_secondary.webp);
          background-repeat: no-repeat;
          &__runnerup {
            background-image: url(../images/bg_runnerup.webp);
          }
          .badge {
            position: absolute;
            top: -16px;
            width: 168px;
            left: 0;
            img {
              width: 100%;
            }
          }
          .badge_3rd {
            width: 120px;
          }
          .badge_4th {
            width: 90px;
          }
        }
      }
      .prize-other__list {
        position: relative;
        display: grid;
        grid-template-columns: repeat(auto-fit, 260px);
        justify-content: flex-start;
        width: 100%;
        max-width: 800px;
        padding-top: 10px;
        gap: 10px;
        z-index: 10;
      }
      .panel-other {
        padding-top: 24px;
        width: 260px;
        height: 160px;
        background-image: url(../images/bg_other.webp);
        background-repeat: no-repeat;
        .badge {
          display: flex;
          justify-content: center;
          height: 40px;
        }
        .list-prize__secondary {
          padding: 8px 0 0 24px;
        }
      }
    }
    @media (max-width: 1150px) and (min-width: 900px) {
      .c-cont {
        --raw-scale: calc(100vw / 1150px);
        transform: scale(var(--raw-scale));
        transform-origin: top center;
        width: 1150px;
        margin-left: 50%;
        translate: -50% 0;
      }
    }
    /*------ rule guest ------*/
    .ruleGuest {
      position: relative;
      .ruleGuest-inner {
        width: 880px;
        background-image: url(../images/bg_pt_howto.webp);
        background-size: 25%;
        background-repeat: repeat;
        border: 2px solid #FFCD6C;
        z-index: 2;
      }
      .ruleGuest-cont {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 16px;
        padding: 40px;
      }
      .rule {
        display: grid;
        width: 100%;
        padding-bottom: 16px;
        font-size: 16px;
        @media screen and (min-width: 900px) {
          grid-template-columns: 200px 1fr;
          align-items: center;
          border-bottom: 1px solid #9F1A1B;
        }
        &:last-child {
          border-bottom: none;
        }
        .rule-cont {
          padding: 16px 0;
          @media screen and (min-width: 900px) {
            padding-left: 32px;
            border-left: 1px solid #9F1A1B;
          }
        }
        .rule-head {
          padding-right: 32px;
          color: #9F1A1B;
          font-weight: 800;
        }
        .rule-capt {
          padding-bottom: 16px;
          font-weight: 800;
        }
      }
      .fix-chr {
        position: sticky;
        top: auto;
        bottom: 0;
        left: 0;
        width: 0;
        height: 0;
        align-self: flex-start;
        z-index: 1;
        img {
          display: block;
          position: absolute;
          bottom: 0;
          left: 0;
          width: 100%;
          height: auto;
          min-width: 460px;
          max-width: none;
          transform: translateY(32%);
          z-index: 1;
        }
      }
      .guest {
        display: flex;
        justify-content: center;
        .guest-list {
          display: grid;
          grid-template-columns: repeat(3, 1fr);
          gap: 32px;
        }
        .guest-item {
          display: flex;
          flex-direction: column;
          text-align: center;
          width: 240px;
          gap: 8px;
          .guest-item__capt {
            padding-top: 8px;
            font-size: 16px;
            span {
              background-color: #FFCD6C;
            }
          }
          .guest-item__name {
            font-size: 20px;
            font-weight: 800;
          }
        }
        .pic-guest {
          border: 1px solid #FFCD6C;
          img {
            width: 100%;
          }
        }
      }
    }
    /*------ caution ------*/
    .caution {
      position: relative;
      padding-bottom: 80px;
      z-index: 3;
      .caution-inner {
        display: flex;
        flex-direction: column;
        width: fit-content;
        gap: 8px;
        margin: 0 auto;
        padding: 24px;
        font-size: 16px;
        font-weight: 800;
        color: #FFF;
        line-height: 1.6;
        border: 2px solid #FFCD6C;
        .caution-inner__capt {
          span {
            padding: 0 .2em;
            color: #333;
            background-color: #FFCD6C;
          }
        }
      }
    }
    /*------ footer ------*/
    footer {
      display: flex;
      justify-content: center;
      padding: 40px 0;
      color: #fff;
      background-color: #000000;
      .footer-inner {
        gap: 32px;
      }
      .footer-logo {
        width: 160px;
        transition: opacity 0.3s ease-in;
        &:hover {
          opacity: 0.8;
        }
      }
      .footer-cont {
        display: flex;
        flex-direction: column;
        gap: 24px;
      }
      .footer-badge {
        display: flex;
        gap: 8px;
        a {
          position: relative;
          top: 0;
          transition: all 0.3s ease;
          &:hover {
            top: 3px;
          }
        }
      }
      .footer-company {
        display: flex;
        gap: 24px;
        .footer-company__item {
          height: 36px;
          img {
            height: 100%;
          }
        }
      }
      .footer-link {
        display: flex;
        gap: 16px;
        .footer-link__item {
          display: flex;
          align-items: center;
          padding-right: 16px;
          border-right: 1px solid #ffffff;
          &:last-child {
            border-right: none;
          }
        }
        a {
          color: #fff;
          font-size: 14px;
          text-decoration: none;
          transition: all 0.3s ease;
          &:hover {
            color: #FFCD6C;
          }
        }
      }
      .copyright {
        font-size: 12px;
      }
    }
  }

  /*======================
            SP
  ======================*/
  /*------ FV ------*/
  @media screen and (max-width: 899px) {
    .fv {
      background: url(../images/bg.webp) no-repeat;
      background-position: center top;
      background-size: cover;
      &::after {
        top: 0;
        width: 51.28vw;
        height: 18.71vw;
        background: url(../images/deco_fv_top.webp) no-repeat;
        background-size: contain;
        z-index: 10;
      }
      .fv-frame {
        background-size: 0 1.4vw, 0 1.4vw, 1.4vw 0, 1.4vw 0;
        background-position: center top 1.4vw, center bottom 1.4vw, left 1.4vw center, right 1.4vw center;
        animation: frameExtendSp 1.5s cubic-bezier(0.22, 1, 0.36, 1) 1s forwards;
      }
      .fv-frame__deco {
        top: 2.6vw;
        left: 2.6vw;
        right: 2.6vw;
        bottom: 2.6vw;
        background-size: 6vw 6vw;
        opacity: 0;
        animation: fadeIn .8s cubic-bezier(0.22, 1, 0.36, 1) 1.6s forwards;
      }
      .fv-character {
        width: 196%;
        height: auto;
        left: -53vw;
        top: 5.33vw;
      }
      .fv-inner {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding: 87.43vw 2.6vw 0;
        .fv-inner__logo {
          width: 100%;
          padding: 0 18.94vw;
        }
      }
      .fv-about {
        flex-direction: column;
        margin-top: 4vw;
        padding: 4vw;
        background: url("../images/bg_fv_overview_sp.svg") no-repeat center center;
        background-size: contain;
        box-sizing: border-box;
        .fv-about__ttl {
          margin-top: 2vw;
          padding: 2vw 3.2vw;
          color: #ffffff;
          font-size: 4.2vw;
          &::before {
            top: 1vw;
            left: 1vw;
            right: 1vw;
            bottom: 1vw;
          }
        }
        .fv-about__list {
          gap: 0.8vw;
          margin: 0 0 2.6vw;
        }
        .fv-about__item {
          width: 100%;
          padding: 2.6vw 0;
          border-bottom: 1px solid #9F1A1B;
          &:last-child {
            padding-bottom: 1.2vw;
            border-bottom: none;
          }
        }
        .fv-about__label {
          font-size: 3.6vw;
        }
        .fv-about__date {
          font-size: 4.2vw;
        }
      }
      .fv-company {
        padding: 5.3vw 0 10vw;
        .fv-company__item {
          padding: 0 2.6vw;
        }
        .logo-catfoodstudio {
          width: 29.48vw;
        }
        .logo-mj-news {
          width: 21.5vw;
        }
        .logo-yostar {
          width: 29.74vw;
        }
      }
    }
    /*----- scroll bar -----*/
    .deco-scrollbar {
      height: 13.33vw;
      &::before,
      &::after {
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        content: "";
      }
    }
    /*------ catch ------*/
    .catch {
      gap: 4vw;
      padding: 8vw 5.3vw;
      background-size: 50%;
    }
    /*------ howto ------*/
    .howto {
      padding-bottom: 6vw;
      background-size: 50%;
      .howto-inner {
        gap: 2.6vw;
      }
      .howto-tx {
        font-size: 4.6vw;
        line-height: 2;
      }
    }
    /*------ prize ------*/
    .prize {
      &::before,
      &::after {
        width: 4vw;
        height: 4vw;
      }
      .prize-deco {
        background-size: 46vw auto;
        background-position: left 1vw top 2.6vw, right 1vw top 2.6vw;
      }
      .prize-inner {
        z-index: 3;
      }
      .prize-main {
        width: 100%;
        margin: 0 auto;
        box-sizing: border-box;
        background-image: url(../images/bg_victory_sp.webp);
        background-repeat: no-repeat;
        background-size: 100% auto;
        background-position: center;
        .badge {
          top: -7vw;
          width: 30.17vw;
          height: auto;
        }
        .prize-main__box {
          width: 100%;
          padding: 12.8vw 0 4vw 0;
          gap: 1.3vw;
        }
        .prize-list__sub {
          padding-top: 5.3vw;
        }
        .item__secondary {
          font-size: 3.2vw;
          font-weight: 800;
        }
      }
      .prize-list__main  {
        gap: 1.3vw;
        &::after {
          bottom: -5.3vw;
          width: 5.3vw;
          height: 2.6vw;
        }
      }
      .item__primary {
        padding: .3rem .3rem .3rem 1.2em;
        font-size: 4.2vw;
        font-weight: 700;
        &::before {
          left: 0.4em;
          top: 0.6em;
          width: 0.4em;
          height: 0.4em;
        }
      }
      .item__secondary {
        padding-left: 1.2em;
        font-size: 2.6vw;
        font-weight: 800;
        line-height: 1.4;
        &::before {
          left: 0.4em;
          top: 0.45em;
          width: 0.5em;
          height: 0.5em;
        }
      }
      .prize-secondary {
        padding: 5.3vw 2.6vw 0;
      }
      .prize-secondary__list,
      .prize-other__list {
        .item__secondary {
          font-size: 3.2vw;
        }
      }
      .prize-secondary__list {
        flex-wrap: wrap;
        justify-content: center;
        align-items: stretch;
        gap: 1.3vw;
        .panel_secondary {
          width: 49%;
          padding: 8vw 3.6vw 6vw;
          background-image: url(../images/bg_secondary.webp);
          background-repeat: no-repeat;
          background-size: 100% 100%;
          &:nth-child(n+3) {
            margin-top: 2.6vw;
          }
          img {
            width: 100%;
          }
          .badge {
            position: absolute;
            top: -3vw;
            width: 17.94vw;
            left: 0;
          }
          .badge_2nd {
            width: 25.64vw;
          }
        }
      }
      .prize-other__list {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 1.3vw;
        width: 100%;
        padding-top: 2.6vw;
      }
      .panel-other {
        padding-top: 3.6vw;
        width: 49%;
        height: auto;
        background-image: url(../images/bg_other_sp.webp);
        background-repeat: no-repeat;
        background-size: contain;
        .badge {
          width: 27.17vw;
          margin: 0 auto;
          img {
            width: 100%;
          }
        }
        .list-prize__secondary {
          padding: 1vw 2vw 0 2vw;
        }
      }
      .list-other {
        padding-top: 2.6vw;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        grid-template-columns: none;
        gap: 1.3vw;
        width: 100%;
        .badge {
          width: 27.17vw;
          margin: 0 auto;
          img {
            width: 100%;
          }
        }
        .content {
          width: 49%;
          height: auto;
          padding: .8vw;
          border: 1px solid #FFCD6C;
          background-color: #fff;
          .wrap {
            width: 100%;
            height: 100%;
            padding: 0;
            background-image: none;
            .wrap-in {
              display: grid;
              align-content: flex-start;
              gap: 1.3vw;
              width: 100%;
              height: 100%;
              padding: 2vw 2.6vw 3.2vw 2.6vw;
              border: .8vw solid #FFCD6C;
            }
            .corner {
              width: 100%;
              height: 100%;
              background-image:
                url(../images/deco_prize_corner_ur.svg),
                url(../images/deco_prize_corner_dl.svg),
                url(../images/bg_pt_howto.webp);
              background-repeat:
                no-repeat,
                no-repeat,
                repeat;
              background-position:
                top .6vw right .6vw,
                bottom .6vw left .6vw;
              background-size:
                4vw 4vw,
                4vw 4vw,
                100%;
            }
            .list-prize {
              padding: 0;
            }
          }
        }
      }
    }
    /*------ rule guest ------*/
    .ruleGuest {
      .c-cont {
        padding: 5.3vw 2.6vw 0;
      }
      .ruleGuest-cont {
        gap: 0;
        padding: 5.3vw;
      }
      .rule {
        padding-bottom: 2.6vw;
        font-size: 3.2vw;
        line-height: 1.2;
        .rule-head {
          padding-bottom: 2.6vw;
          font-size: 4vw;
          border-bottom: 1px solid #9F1A1B;
        }
        .rule-cont {
          padding: 2.6vw 0 0;
          padding-left: 0;
        }
        .rule-capt {
          padding-bottom: 2.6vw;
        }
        .rule-cont__list {
          .tx-caution {
            font-size: 2.6vw;
          }
        }
      }
      .guest {
        width: 100%;
        .guest-list {
          grid-template-columns: repeat(2, 1fr);
          width: 100%;
          gap: 5.3vw;
        }
        .guest-item {
          gap: 1.3vw;
          .guest-item__capt {
            padding-top: 1vw;
            font-size: 2.6vw;
            span {
              padding: 0 1vw;
              line-height: 1;
            }
          }
          .guest-item__name {
            font-size: 4vw;
          }
        }
        .pic-guest {
          img {
            width: 100%;
          }
        }
      }
    }
    /*------ caution ------*/
    .caution {
      padding: 5.3vw 2.6vw 8vw;
      z-index: 3;
      .caution-inner {
        gap: 1.3vw;
        margin: 0 auto;
        padding: 5.3vw;
        font-size: 3.2vw;
        font-weight: 700;
        .caution-inner__capt {
          span {
            padding: 0 1vw;
          }
        }
      }
    }
    /*------ footer ------*/
    footer {
      padding: 5.3vw 0;
      .footer-inner {
        flex-direction: column;
        justify-content: center;
        gap: 2.6vw;
      }
      .footer-logo {
        width: 100%;
        padding: 0 26.66vw;
        img {
          width: 100%;
        }
      }
      .footer-cont {
        gap: 5.3vw;
        padding: 0 2.6vw;
      }
      .footer-badge {
        justify-content: center;
        gap: 2vw;
        .footer-badge__item {
          height: 12vw;
          img {
            height: 100%;
          }
        }
      }
      .footer-company {
        justify-content: center;
        gap: 2.6vw;
        .footer-company__item {
          height: 8vw;
        }
      }
      .footer-link {
        flex-wrap: wrap;
        justify-content: center;
        gap: 2.6vw;
        li {
          padding-right: 2.6vw;
          &:last-child {
            border-right: none;
          }
        }
        a {
          font-size: 2.6vw;
        }
      }
      .copyright {
        text-align: center;
        font-size: 2vw;
      }
    }
  }
}
