@charset "UTF-8";
@media screen and (min-width: 569px) {
  body {
    min-width: 960px; } }

img {
  max-width: 100%;
  height: auto; }

.senryu-kv {
  width: 100%;
  box-sizing: border-box;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  background-image: url("/cp/senryu-winners/images/kv/kv-bg_sp.png");
  padding: 60px 20px 22.9vw; }
  @media screen and (min-width: 768px) {
    .senryu-kv {
      background-image: url("/cp/senryu-winners/images/kv/kv-bg_pc.png");
      padding: 100px 40px 230px; } }
  .senryu-kv__inner {
    max-width: 1000px;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px; }
    @media screen and (min-width: 768px) {
      .senryu-kv__inner {
        gap: 100px; } }
  .senryu-kv__title {
    width: 100%; }
    .senryu-kv__title img {
      display: block;
      margin-inline: auto;
      width: 80%;
      max-width: 800px; }
      @media screen and (min-width: 768px) {
        .senryu-kv__title img {
          width: 100%; } }
  .senryu-kv__body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px; }
    @media screen and (min-width: 768px) {
      .senryu-kv__body {
        gap: 35px; } }
    .senryu-kv__body img {
      display: block; }
  .senryu-kv__count-text {
    display: inline-block;
    font-weight: 800;
    color: #e73828;
    font-size: 8vw;
    line-height: 1.2;
    letter-spacing: 0.2rem;
    font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'Yu Gothic', sans-serif; }
    @media screen and (min-width: 768px) {
      .senryu-kv__count-text {
        font-size: 4rem; } }
  @media screen and (min-width: 768px) {
    .senryu-kv__period {
      max-width: 835px; } }
  @media screen and (max-width: 768px) {
    .senryu-kv__period {
      width: 58.7%; } }
  @media screen and (min-width: 768px) {
    .senryu-kv__footer-text {
      max-width: 835px; } }
  @media screen and (max-width: 768px) {
    .senryu-kv__footer-text {
      width: 58.7%; } }

.award {
  width: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top; }
  .award--grand {
    background-image: url("/cp/senryu-winners/images/award/award-grand-bg_sp.png");
    margin-top: -14.1vw; }
    @media screen and (min-width: 768px) {
      .award--grand {
        background-image: url("/cp/senryu-winners/images/award/award-grand-bg_pc.png");
        margin-top: -136px; } }
    @media screen and (max-width: 768px) {
      .award--grand .award__title {
        width: 55.9vw; } }
    .award--grand .award__tanzaku {
      background: url("/cp/senryu-winners/images/award/award-grand-tanzaku.png") no-repeat calc(50% + 0.8vw) center/contain; }
      @media screen and (min-width: 768px) {
        .award--grand .award__tanzaku {
          background-position: calc(50% + 6px) center; } }
  .award--excellent {
    background-image: url("/cp/senryu-winners/images/award/award-excellent-bg_sp.png"); }
    @media screen and (min-width: 768px) {
      .award--excellent {
        background-image: url("/cp/senryu-winners/images/award/award-excellent-bg_pc.png"); } }
    @media screen and (max-width: 768px) {
      .award--excellent .award__title {
        width: 49.6vw; } }
    .award--excellent .award__tanzaku {
      background: url("/cp/senryu-winners/images/award/award-excellent-tanzaku.png") no-repeat calc(50% + 0.8vw) center/contain; }
      @media screen and (min-width: 768px) {
        .award--excellent .award__tanzaku {
          background-position: calc(50% + 6px) center; } }
  .award--special {
    background-image: url("/cp/senryu-winners/images/award/award-special-bg_sp.png"); }
    @media screen and (min-width: 768px) {
      .award--special {
        background-image: url("/cp/senryu-winners/images/award/award-special-bg_pc.png"); } }
    .award--special .award__inner {
      padding-top: 120px; }
      @media screen and (max-width: 768px) {
        .award--special .award__inner {
          gap: 25px; } }
    @media screen and (max-width: 768px) {
      .award--special .award__title {
        width: 49.1vw; } }
    .award--special .award__tanzakus {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 15px;
      width: fit-content; }
      @media screen and (min-width: 768px) {
        .award--special .award__tanzakus {
          display: flex;
          flex-wrap: wrap;
          justify-content: center;
          gap: 32px;
          width: 100%; } }
      @media screen and (max-width: 768px) {
        .award--special .award__tanzakus > .award__tanzaku:nth-child(3) {
          grid-column: 1 / -1;
          justify-self: center; } }
    .award--special .award__tanzaku {
      background: url("/cp/senryu-winners/images/award/award-special-tanzaku.png") no-repeat calc(50% + 0.5vw) center/contain;
      width: 35.2vw;
      height: 76.8vw; }
      @media screen and (min-width: 768px) {
        .award--special .award__tanzaku {
          background-position: calc(50% + 4px) center;
          width: 268px;
          height: 585px; } }
    .award--special .award__phrase {
      font-size: 3.5vw; }
      @media screen and (min-width: 768px) {
        .award--special .award__phrase {
          font-size: 1.8rem; } }
    @media screen and (min-width: 768px) {
      .award--special .award__prize {
        margin-top: 20px; } }
  .award__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    max-width: 1000px;
    margin-inline: auto;
    padding: 22vw 15px 50px; }
    @media screen and (min-width: 768px) {
      .award__inner {
        padding: 243px 30px 154px; } }
  .award__tanzaku {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40vw;
    height: calc(40vw * 655 / 300);
    padding-inline: 10px; }
    @media screen and (min-width: 768px) {
      .award__tanzaku {
        width: 340px;
        height: 741px; } }
  .award__tanzaku-inner {
    display: grid;
    align-content: space-between;
    align-items: center;
    justify-items: center;
    font-family: 'Zen Old Mincho', serif;
    font-weight: 900;
    color: #161c60;
    text-align: center;
    height: 75%; }
  .award__phrase {
    writing-mode: vertical-rl;
    text-align: left;
    font-size: 4vw;
    line-height: 1.7;
    letter-spacing: 0.2em; }
    @media screen and (min-width: 768px) {
      .award__phrase {
        font-size: 2.2rem; } }
    .award__phrase span {
      display: block; }
      .award__phrase span:nth-child(1) {
        padding-top: 0; }
      .award__phrase span:nth-of-type(2) {
        padding-top: 1.2em; }
      .award__phrase span:nth-of-type(3) {
        padding-top: calc(1.2em * (1 + var(--text-count))); }
    .award__phrase .horizontal {
      display: inline-block;
      writing-mode: horizontal-tb;
      line-height: 1.1;
      letter-spacing: 0; }
      .award__phrase .horizontal + span {
        display: inline-block;
        padding-top: 0.15em; }
  .award__author {
    font-size: 3.3vw;
    letter-spacing: 0.3rem; }
    @media screen and (min-width: 768px) {
      .award__author {
        font-size: 1.6rem; } }
    .award__author--character {
      letter-spacing: 0; }
  .award__prize {
    width: 100%; }
    @media screen and (min-width: 768px) {
      .award__prize {
        margin-top: 45px; } }
  .award__prize-title {
    display: contents; }
  .award__prize-inner {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    place-items: center; }
  .award__prize-frame, .award__prize-item, .award__prize-name {
    grid-column: 1;
    grid-row: 1; }
  .award__prize-frame {
    width: 100%;
    z-index: 1;
    transform: translateX(-6px); }
    .award__prize-frame img {
      display: block;
      width: 100%; }
  .award__prize-item {
    width: 22.7vw;
    z-index: 2;
    transform: translateY(8%); }
    @media screen and (min-width: 569px) {
      .award__prize-item {
        width: auto;
        margin-inline: auto; } }
  .award__prize-name {
    align-self: end;
    width: 42.5vw;
    margin-bottom: 8%;
    z-index: 3; }
    @media screen and (min-width: 569px) {
      .award__prize-name {
        width: 100%;
        max-width: 55%;
        margin-bottom: 5%;
        margin-inline: auto; } }

.information {
  background: url("/cp/senryu-winners/images/information/gold_bg.png") no-repeat center top/cover;
  padding: 80px 10px 100px;
  text-align: center; }
  @media screen and (max-width: 768px) {
    .information {
      padding: 40px 30px 50px; } }
  .information__container {
    max-width: 860px;
    margin: 0 auto; }
  .information__title {
    margin-bottom: 20px; }
    @media screen and (max-width: 768px) {
      .information__title {
        margin-inline: auto;
        width: 76.4%; } }
  .information__banner {
    display: block;
    margin-bottom: 40px;
    transition: opacity 0.3s ease; }
    @media screen and (max-width: 768px) {
      .information__banner {
        margin-bottom: 15px; } }
    .information__banner:hover {
      opacity: 0.8; }
  .information__promotion-text {
    margin-bottom: 30px; }
    @media screen and (max-width: 768px) {
      .information__promotion-text {
        margin-inline: auto;
        margin-bottom: 0;
        width: 82.2%; } }

.app {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  margin-top: 30px; }
  @media screen and (max-width: 768px) {
    .app {
      flex-direction: column-reverse;
      gap: 11px;
      margin-top: 15px; } }
  .app__store {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 27px; }
    @media screen and (max-width: 768px) {
      .app__store {
        width: 63.8%; } }
  @media screen and (max-width: 768px) {
    .app__bookoff {
      width: 20.3%;
      height: auto; } }
  .app__store-links {
    display: flex;
    justify-content: center;
    gap: 27px; }
  .app__store-link {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s ease; }
    .app__store-link:hover {
      opacity: 0.8; }
  .app__note {
    display: none; }
    @media screen and (min-width: 768px) {
      .app__note {
        display: block; } }

.campaign-terms {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding: 40px 20px 8vw;
  background: url("/cp/senryu-winners/images/information/rule-bg_sp.png") no-repeat center top/cover;
  font-family: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', sans-serif; }
  @media screen and (min-width: 768px) {
    .campaign-terms {
      padding: 130px 40px 40px;
      background: url("/cp/senryu-winners/images/information/rule-bg_pc.png") no-repeat center top/cover; } }
  .campaign-terms__inner {
    width: 100%;
    max-width: 620px; }
    @media screen and (min-width: 768px) {
      .campaign-terms__inner {
        max-width: 820px; } }
  .campaign-terms__card {
    background: #fff;
    border-radius: 20px;
    padding: 30px; }
    @media screen and (min-width: 768px) {
      .campaign-terms__card {
        padding: 60px 95px; } }
  .campaign-terms__title {
    text-align: center;
    color: #e73828;
    font-size: 1rem;
    line-height: 1.4;
    margin-bottom: 20px;
    font-weight: bold; }
    @media screen and (min-width: 768px) {
      .campaign-terms__title {
        font-size: 1.75rem;
        margin-bottom: 30px; } }
  .campaign-terms__section {
    margin-bottom: 25px;
    color: #161c60; }
    @media screen and (min-width: 768px) {
      .campaign-terms__section {
        margin-bottom: 30px; } }
  .campaign-terms__section-title {
    font-size: 0.9rem;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 0.5rem; }
    @media screen and (min-width: 768px) {
      .campaign-terms__section-title {
        font-size: 1.2rem;
        margin-bottom: 0.75rem; } }
  .campaign-terms__text {
    font-size: 0.75rem;
    font-weight: bold;
    line-height: 1.4;
    margin: 0; }
    @media screen and (min-width: 768px) {
      .campaign-terms__text {
        font-size: 1rem; } }
  .campaign-terms__list {
    list-style: none;
    padding: 0;
    margin: 0; }
  .campaign-terms__list-item {
    font-size: 0.75rem;
    font-weight: bold;
    line-height: 1.4;
    padding-left: 1em;
    text-indent: -1.5em; }
    @media screen and (min-width: 768px) {
      .campaign-terms__list-item {
        font-size: 1rem; } }
    .campaign-terms__list-item a {
      color: #161c60; }
    .campaign-terms__list-item + .campaign-terms__list-item {
      margin-top: 4px; }
      @media screen and (min-width: 768px) {
        .campaign-terms__list-item + .campaign-terms__list-item {
          margin-top: 8px; } }
    .campaign-terms__list-item::before {
      content: '・';
      padding-right: 0.5em; }

.footer {
  text-align: center;
  font-size: 2vw;
  font-weight: bold;
  color: #fff;
  border: none;
  padding-bottom: 13.3vw;
  background: url("/cp/senryu-winners/images/information/rule-bg_sp.png") no-repeat center bottom/cover; }
  @media screen and (min-width: 768px) {
    .footer {
      font-size: 0.75rem;
      padding-bottom: 50px;
      background: url("/cp/senryu-winners/images/information/rule-bg_pc.png") no-repeat center bottom/cover; } }
