.sisousen2606 {
  /*----- FV -----*/
  .fv {
    position: relative;
    width: 100%;
    animation: blurIn 0.3s ease-in;
    transition: all 0.3s ease;
    overflow: hidden;
    z-index: 1;
    &::before,
    &::after {
      position: absolute;
      width: 90px;
      height: 90px;
      background: url(../images/deco_corner_fv.svg) no-repeat;
      background-repeat: no-repeat;
      background-size: cover;
      z-index: 2;
      content: "";
    }
    &::before {
      top: 0;
      right: 0;
    }
    &::after {
      left: 0;
      bottom: 0;
      transform: rotate(180deg);
    }
    .fv-inner {
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      width: clamp(500px, 48vw, 718px);
      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;
      img {
        width: 100%;
      }
    }
    .fv-about {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #ffffff;
      background: rgba(0, 0, 0, 0.70);
      border: 2 solid #ffffff;
      animation: slideInUp 0.8s cubic-bezier(.71,.18,.59,.96) .35s forwards;
      animation-fill-mode: backwards;
      .fv-about__ttl {
        position: relative;
        line-height: 1.2;
        color: var(--c-text);
        background-color: #ffffff;
        animation: slideInUp 0.8s cubic-bezier(.71,.18,.59,.96) .5s forwards;
        animation-fill-mode: backwards;
      }
      .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 {
            display: flex;
            color: var(--c-main);
            span {
              padding: 0 4px;
              background: #fff;
            }
          }
          .date {
            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 var(--c-sub);
        &:last-child {
          padding-bottom: 8px;
          border-bottom: none;
        }
      }
      .fv-about__label {
        color: var(--c-main);
        span {
          padding: 0 4px;
          background: #fff;
        }
      }
      .fv-about__date {
        font-weight: 700;
        line-height: 1.5;
        white-space: nowrap;
        word-break: break-all;
        overflow-wrap: break-word;
        span {
          font-size: 0.8em;
        }
      }
    }
    .fv-company {
      position: absolute;
      top: 0;
      left: 0;
      width: 26%;
      .fv-company__list {
        display: flex;
        align-items: center;
      }
      .fv-company__item {
        height: auto;
      }
    }
  }
  /*----- scroll bar -----*/
  .deco-scrollbar {
    position: relative;
    width: 100%;
    background-color: var(--c-main);
    background: linear-gradient(90deg, #200000 0%, #7A0600 50%, #200000 100%);
    .deco-scrollbar__tx {
      width: 100%;
      height: 100%;
      background-image: url(../images/deco_band.webp);
      background-repeat: repeat-x;
      background-size: auto 60%;
      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: #F2B224;
    }
    &::after {
      bottom: 0;
      background: #F2B224;
    }
  }
  /*------ 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.webp);
    background-repeat: repeat;
    background-color: #ffffff;
    .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: #ffffff;
      clip-path: polygon(0 0, 100% 0, 0 100%);
    }
    &::after {
      right: 0;
      background-color: #ffffff;
      clip-path: polygon(0 0, 100% 0, 100% 100%);
    }
    .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;
      }
      .item__secondary {
        font-weight: 700;
        color: #ffffff;
        &::before {
          position: absolute;
          left: 0.4em;
          top: 0.5em;
          width: 0.4em;
          height: 0.4em;
          background: #ffffff;
          transform: rotate(45deg);
          content: "";
        }
      }
    }
    .item__primary {
      position: relative;
      border: 1px solid #FFCD6C;
      background: #FFF;
      box-shadow: 1px 1px 0 0 #FFCD6C;
    }
    .item__secondary {
      position: relative;
      font-weight: 800;
      &::before {
        position: absolute;
        left: 0.4em;
        top: 0.5em;
        width: 0.4em;
        height: 0.4em;
        background: var(--c-sub);
        transform: rotate(45deg);
        content: "";
      }
    }
    .list-secondary {
      position: relative;
      display: grid;
      grid-auto-flow: column;
      gap: 16px;
      .badge {
        position: absolute;
        top: -16px;
        left: 0;
        width: 170px;
      }
      .badge_3rd {
        width: 120px;
        img {
          width: 100%;
        }
      }
      .content {
        position: relative;
        width: 100%;
        padding: 4px;
        border: 1px solid var(--c-main);
        background: url(../images/bg_pt.webp) repeat, #ffffff;
      }
      .content-second {
        position: relative;
        &::after {
          position: absolute;
          top: 16px;
          right: 16px;
          width: 147px;
          height: 164px;
          background: url(../images/bg_deco_second.webp) no-repeat;
          background-size: cover;
          content: "";
        }
      }
      .wrap {
        position: relative;
        height: 100%;
        padding: 56px 30px 40px 8px;
        border: 4px solid var(--c-main);
        &::before,
        &::after {
          position: absolute;
          width: 20px;
          height: 20px;
          background: url(../images/deco_corner_cont.svg) no-repeat;
          background-size: cover;
          content: "";
        }
        &::before {
          top: 0;
          right: 0;
        }
        &::after {
          bottom: 0;
          left: 0;
          transform: rotate(180deg);
        }
      }
    }
    .list-other {
      padding-top: 20px;
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-start;
      gap: 10px;
      width: 100%;
      max-width: 800px;
      .content {
        width: 260px;
        padding: 4px;
        border: 1px solid var(--c-main);
        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 var(--c-main);
          }
          .corner {
            width: 100%;
            height: 100%;
            background-image:
              url(../images/deco_corner_cont.svg),
              url(../images/bg_pt.webp);
            background-repeat:
              no-repeat,
              repeat;
            background-position: top 4px right 4px;
            background-size:
              20px 20px,
              auto auto;
            &::after {
              position: absolute;
              bottom: 8px;
              left: 8px;
              width: 20px;
              height: 20px;
              background: url(../images/deco_corner_cont.svg) no-repeat;
              background-size: contain;
              transform: rotate(180deg);
              content: "";
            }
          }
          .list-prize {
            padding: 0;
          }
        }
        .item__secondary {
          &::before {
            background: var(--c-sub);
          }
        }
      }
    }
  }
  /*------ rule guest ------*/
  .ruleGuest {
    position: relative;
    .c-cont {
      z-index: 3;
    }
    .ruleGuest-inner {
      position: relative;
      display: flex;
      flex-flow: column;
      justify-content: center;
      background-color: #ffffff;
      background-image: url(../images/bg_pt.webp);
      background-repeat: repeat;
      border: 2px solid var(--c-main);
      z-index: 2;
      &::before {
        position: absolute;
        top: 0;
        right: 0;
        width: 20px;
        height: 20px;
        background: url(../images/deco_corner_cont.svg) no-repeat;
        content: "";
      }
      &::after {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 20px;
        height: 20px;
        background: url(../images/deco_corner_cont.svg) no-repeat;
        transform: rotate(180deg);
        content: "";
      }
    }
    .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 var(--c-sub);
      }
      &:last-child {
        border-bottom: none;
      }
      .rule-head {
        color: var(--c-sub);
        font-weight: 800;
      }
      .rule-cont {
        font-weight: 600;
        .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: "※";
          }
        }
      }
      .rule-capt {
        font-weight: 800;
      }
    }
    .guest {
      display: flex;
      justify-content: center;
      .guest-list {
        display: grid;
      }
      .guest-item {
        display: flex;
        flex-direction: column;
        text-align: center;
        font-weight: 600;
        .guest-item__capt {
          span {
            color: #ffffff;
            padding: 0 .2rem;
            background-color: var(--c-sub);
          }
        }
      }
      .pic-guest {
        border: 1px solid var(--c-sub);
      }
    }
  }
  /*------ 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;
      font-weight: 700;
      border: 2px solid var(--c-sub);
      background-color: rgba(0, 0, 0, 0.5);
      .caution-inner__capt {
        span {
          color: #ffffff;
          background-color: var(--c-sub);
        }
      }
    }
  }
  /*------ 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 {
      border: 8px solid #ffffff;
      background: url(../images/pic_fv.webp) no-repeat;
      background-size: cover;
      background-position: center;
      .fv-inner {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin: 0 auto;
        padding: 17% 0 6%;
        z-index: 10;
        .fv-inner__logo {
          width: 32vw;
          margin: 0 auto;
          img {
            width: 100%;
          }
        }
      }
      .fv-about {
        position: relative;
        margin-top: 2.6vw;
        padding: 1%;
        border: 3px solid #ffffff;
        &::before {
          position: absolute;
          top: -1.5px;
          left: -1.5px;
          width: 0;
          height: 0;
          border-top: 1.6vw solid #ffffff;
          border-right: 1.6vw solid transparent;
          content: "";
        }
        &::after {
          position: absolute;
          bottom: -1.5px;
          right: -1.5px;
          width: 0;
          height: 0;
          border-bottom: 1.6vw solid #ffffff;
          border-left: 1.6vw solid transparent;
          content: "";
        }
        .fv-about__frame {
          display: flex;
          align-items: center;
          justify-content: center;
          overflow: visible;
          padding: 1rem 2rem .4rem;
          border: 1px solid #ffffff;
        }
        .fv-about__ttl {
          position: relative;
          flex-shrink: 0;
          margin-right: 1.4rem;
          padding: .6rem .4rem;
          font-size: clamp(20px, 2.22vw, 26px);
          line-height: 1.2;
          writing-mode: vertical-rl;
          &::before {
            position: absolute;
            top: .2rem;
            left: .2rem;
            width: 0;
            height: 0;
            border-top: .3em solid var(--c-text);
            border-right: .3em solid transparent;
            content: "";
          }
          &::after {
            position: absolute;
            bottom: .2rem;
            right: .2rem;
            width: 0;
            height: 0;
            border-bottom: .3em solid var(--c-text);
            border-left: .3em solid transparent;
            content: "";
          }
        }
        .fv-about__list {
          display: flex;
          flex-direction: column;
          gap: 0.8vw;
          list-style: none;
          margin: 0;
          padding: 0;
          font-weight: normal;
        }
        .fv-about__item {
          width: 100%;
          padding: 1.2% 0;
          border-bottom: 1px solid var(--c-sub);
          &:last-child {
            padding-bottom: 8px;
            border-bottom: none;
          }
        }
        .fv-about__label {
          color: var(--c-main);
          font-size: clamp(14px, 1.38vw, 16px);
          span {
            padding: 0 3.2px;
          }
        }
        .fv-about__date {
          font-size: clamp(16px, 1.66vw, 24px);
          line-height: 1.5;
          font-weight: 600;
          white-space: nowrap;
          letter-spacing: 1px;
          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: linear-gradient(90deg, #200000 0%, #7A0600 50%, #200000 100%);
      .deco-scrollbar__tx {
        width: 100%;
        height: 100%;
        background-image: url(../images/deco_band.webp);
        background-repeat: repeat-x;
        background-size: auto 60%;
        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: #F2B224;
      }
      &::after {
        bottom: 0;
        background: #F2B224;
      }
    }
    /*------ catch ------*/
    .catch {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 24px;
      align-self: stretch;
      padding: 80px 5%;
      background-image: url(../images/bg_catch.webp);
      background-size: 100% 100%;
      background-position: center center;
      background-repeat: no-repeat;
      .catch-top {
        padding: 0 10%;
      }
    }
    /*------ howto ------*/
    .howto {
      background-image: url(../images/bg_pt.webp);
      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;
      padding-top: 56px;
      background: url(../images/bg.webp) no-repeat;
      background-size: cover;
      background-attachment: fixed;
      background-position: center center;
      &::before,
      &::after {
        position: absolute;
        top: 0;
        width: 24px;
        height: 24px;
        z-index: 1;
        content: "";
      }
      &::before {
        left: 0;
        background-color: #ffffff;
        clip-path: polygon(0 0, 100% 0, 0 100%);
      }
      &::after {
        right: 0;
        background-color: #ffffff;
        clip-path: polygon(0 0, 100% 0, 100% 100%);
      }
      .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: 800px;
        margin: 0 auto;
        padding: 94px 80px 77px;
        box-sizing: border-box;
        background-image: url(../images/bg_first.webp);
        background-repeat: no-repeat;
        .badge {
          position: absolute;
          top: -56px;
          left: 50%;
          width: 208px;
          height: 116px;
          transform: translate(-50%,0);
        }
        .prize-list {
          display: grid;
          gap: 16px;
        }
        .item__secondary {
          color: #ffffff;
          font-size: 24px;
          &::before {
            width: 0.4em;
            height: 0.4em;
            background: #ffffff;
          }
        }
      }
      .item__secondary {
        position: relative;
        padding-left: 1.4em;
        font-size: 20px;
        line-height: 1.4;
        &::before {
          position: absolute;
          left: 0.4em;
          top: 0.5em;
          width: 0.4em;
          height: 0.4em;
          background: var(--c-sub);
          transform: rotate(45deg);
          content: "";
        }
      }
      .prize-secondary {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        width: 100%;
        padding-top: 40px;
      }
      .list-prize__secondary {
        display: grid;
        gap: 8px;
        padding: 20px 0 0 16px;
      }
      .prize-secondary__list,
      .prize-other__list {
        .tx-secondary {
          font-size: 20px;
          line-height: 1.6;
        }
      }
      .prize-secondary__list {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 10px;
        .panel_secondary__second {
          background-image: url(../images/bg_second.webp);
        }
        .panel_secondary__third {
          background-image: url(../images/bg_third.webp);
        }
        .panel_secondary {
          position: relative;
          width: 395px;
          height: 240px;
          padding: 56px 30px 24px 16px;
          .badge {
            position: absolute;
            top: -16px;
            width: 170px;
            left: 0;
            img {
              width: 100%;
            }
          }
          .badge_3rd {
            width: 118px;
          }
        }
      }
      .list-prize {
        .item__secondary {
          font-size: 16px;
        }
      }
    }
    @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;
      background: url(../images/bg.webp) no-repeat;
      background-size: cover;
      background-attachment: fixed;
      background-position: center center;
      .ruleGuest-inner {
        width: 880px;
      }
      .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 var(--c-sub);
        }
        &:last-child {
          border-bottom: none;
        }
        .rule-cont {
          padding: 16px 0;
          @media screen and (min-width: 900px) {
            padding-left: 32px;
            border-left: 1px solid var(--c-sub);
          }
        }
        .rule-head {
          padding-right: 32px;
        }
        .rule-capt {
          padding-bottom: 16px;
        }
      }
      .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;
          flex-wrap: wrap;
          width: 220px;
          gap: 8px;
          .guest-item__capt {
            padding-top: 8px;
            font-size: 16px;
          }
          .guest-item__name {
            font-size: 20px;
            font-weight: 800;
          }
        }
        .pic-guest {
          background-color: #ffffff;
          img {
            object-fit: cover;
            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;
        color: #FFF;
        line-height: 1.6;
        border: 2px solid var(--c-sub);
        .caution-inner__capt {
          span {
            padding: 0 .2em;
            background-color: var(--c-sub);
          }
        }
      }
    }
    /*------ 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/pic_fv_sp.webp) no-repeat;
      background-position: center top;
      background-size: cover;
      &::before,
      &::after {
        width: 16vw;
        height: 16vw;
      }
      .fv-inner {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding: 5.3vw 2.6vw 0;
        .fv-inner__logo {
          width: 100%;
          padding: 0 0 0 10vw;
        }
      }
      .fv-about {
        display: block;
        width: 100%;
        margin-top: 72vw;
        padding: 1.6vw;
        border: .6vw solid #ffffff;
        &::before {
          position: absolute;
          top: 0;
          left: 0;
          width: 0;
          height: 0;
          border-top: 6vw solid #ffffff;
          border-right: 6vw solid transparent;
          content: "";
        }
        &::after {
          position: absolute;
          bottom: 0;
          right: 0;
          width: 0;
          height: 0;
          border-bottom: 6vw solid #ffffff;
          border-left: 6vw solid transparent;
          content: "";
        }
        .fv-about__frame {
          display: flex;
          align-items: center;
          justify-content: center;
          flex-direction: column;
          overflow: visible;
          padding: 1em;
          border: 1px solid #ffffff;
        }
        .fv-about__ttl {
          margin-top: 1.6vw;
          padding: 1vw 4vw 1.2vw;
          color: var(--c-text);
          font-size: 4.2vw;
          &::before {
            position: absolute;
            top: .2rem;
            left: .2rem;
            width: 0;
            height: 0;
            border-top: .4em solid var(--c-text);
            border-right: .4em solid transparent;
            content: "";
          }
          &::after {
            position: absolute;
            bottom: .2rem;
            right: .2rem;
            width: 0;
            height: 0;
            border-bottom: .4em solid var(--c-text);
            border-left: .4em solid transparent;
            content: "";
          }
        }
        .fv-about__list {
          width: 100%;
          gap: 2.6vw;
          margin: 0 0 2.6vw;
        }
        .fv-about__item {
          width: 100%;
          border-bottom: 1px solid var(--c-sub);
          &:last-child {
            padding-bottom: 0;
            border-bottom: none;
          }
        }
        .fv-about__label {
          display: flex;
          font-size: 3.6vw;
          span {
            padding: .6vw 1.2vw;
          }
        }
        .fv-about__date {
          font-size: 4.2vw;
        }
      }
      .fv-company {
        position: relative;
        width: 100%;
        padding: 5.3vw 5.3vw 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;
      .deco-scrollbar__tx {
        background-size: auto 60%;
      }
      &::before,
      &::after {
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        content: "";
      }
    }
    /*------ catch ------*/
    .catch {
      gap: 4vw;
      padding: 12vw 6.66vw;
      background: url(../images/bg_catch_sp.webp) no-repeat;
      background-size: cover;
    }
    .catch-top {
      padding: 0 12.6vw;
    }
    /*------ howto ------*/
    .howto {
      padding-bottom: 6vw;
      background-size: 25%;
      .howto-inner {
        gap: 2.6vw;
      }
      .howto-tx {
        font-size: 4.6vw;
        line-height: 2;
      }
    }
    /*------ prize ------*/
    .prize {
      padding-top: 6vw;
      &::before,
      &::after {
        width: 4vw;
        height: 4vw;
      }
      .c-cont {
        &::before {
          position: fixed;
          inset: 0;
          background: url(../images/bg_sp.webp) center / cover no-repeat;
          z-index: -1;
          content: "";
        }
      }
      .prize-deco {
        background-size: 46vw auto;
        background-position: left 1vw top 2.6vw, right 1vw top 2.6vw;
      }
      .prize-inner {
        padding: 6vw 2.6vw 0;
        z-index: 3;
      }
      .prize-main {
        width: 100%;
        margin: 0 auto;
        box-sizing: border-box;
        background-image: url(../images/bg_first_sp.webp);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
        .badge {
          top: -7vw;
          width: 30.17vw;
          height: auto;
        }
        .prize-list {
          display: grid;
          gap: 1.6vw;
        }
        .prize-main__box {
          display: flex;
          justify-content: center;
          width: 100%;
          padding: 12.8vw 0 6vw;
        }
        .prize-list__sub {
          padding-top: 5.3vw;
        }
        .item__secondary {
          font-size: 4vw;
          font-weight: 800;
        }
      }
      .prize-list__main  {
        &::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.4em;
          height: 0.4em;
          background-color: #ffffff;
        }
      }
      .prize-secondary {
        padding: 6.66vw 0 0;
      }
      .prize-secondary__list,
      .prize-other__list {
        .item__secondary {
          font-size: 3.2vw;
        }
      }
      .prize-other__list {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 1.3vw;
        width: 100%;
        padding-top: 2.6vw;
      }
      .list-secondary {
        position: relative;
        display: grid;
        grid-auto-flow: column;
        gap: 2vw;
        .badge {
          position: absolute;
          top: -16px;
          left: 0;
          width: 25.64vw;
          z-index: 2;
        }
        .badge_3rd {
          width: 17.94vw;
          img {
            width: 100%;
          }
        }
        .content {
          position: relative;
          width: 100%;
          padding: 1vw;
          border: 1px solid var(--c-main);
          background: url(../images/bg_pt.webp) repeat, #ffffff;
          background-size: 25%;
        }
        .content-second {
          position: relative;
          &::after {
            position: absolute;
            top: 2vw;
            right: 16px;
            width: 26.69vw;
            height: 31vw;
            background: url(../images/bg_deco_second.webp) no-repeat;
            background-size: contain;
            content: "";
          }
        }
        .wrap {
          position: relative;
          height: 100%;
          padding: 8.66vw 2.6vw 4vw 2vw;
          border: .6vw solid var(--c-main);
          &::before,
          &::after {
            position: absolute;
            width: 3.6vw;
            height: 3.6vw;
            background: url(../images/deco_corner_cont.svg) no-repeat;
            background-size: cover;
            content: "";
          }
          &::before {
            top: 0;
            right: 0;
          }
          &::after {
            bottom: 0;
            left: 0;
            transform: rotate(180deg);
          }
        }
        .item__secondary {
          font-size: 3vw;
          line-height: 1.6;
          &::before {
            top: .6em;
            background-color: var(--c-sub);
          }
        }
      }
      .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 var(--c-main);
          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: .6vw solid var(--c-main);
            }
            .corner {
              width: 100%;
              height: 100%;
              background-image:
                url(../images/deco_corner_cont.svg),
                url(../images/bg_pt.webp);
              background-repeat:
                no-repeat,
                repeat;
              background-position: top .4vw right .4vw;
              background-size:
                3.6vw 3.6vw,
                25%;
              &::after {
                position: absolute;
                bottom: 1.4vw;
                left: 1.2vw;
                width: 3.6vw;
                height: 3.6vw;
                background: url(../images/deco_corner_cont.svg) no-repeat;
                background-size: contain;
                transform: rotate(180deg);
                content: "";
              }
            }
            .list-prize {
              padding: 0;
            }
            .item__secondary {
              &::before {
                background-color: var(--c-sub);
              }
            }
          }
        }
      }
    }
    /*------ 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 var(--c-main);
        }
        .rule-cont {
          padding: 2.6vw 0 0;
          padding-left: 0;
          .rule-cont__caution {
            font-size: 2.6vw;
          }
        }
        .rule-capt {
          padding-bottom: 2.6vw;
        }
        .rule-cont__list {
          .tx-caution {
            font-size: 2.6vw;
          }
        }
      }
      .guest {
        width: 100%;
        padding-top: 8vw;
        .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 {
          background-color: #ffffff;
          img {
            width: 100%;
          }
        }
      }
    }
    /*------ caution ------*/
    .caution {
      padding: 5.3vw 2.6vw 12.6vw;
      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;
      }
    }
  }
}
