@charset "UTF-8";

/* vari */

:root {
  --mincho: "游明朝", YuMincho, "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  --key-color: #FF8C8B;
  --base-color: #7b5632;
}

/* common */

.pc-only{display: block;}
.sp-only{display: none;}

@media screen and (max-width: 640px) {
  .pc-only{display: none;}
  .sp-only{display: block;}
}

.youtube_wrap {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.youtube_wrap iframe {
  width: 100%;
  height: 100%;
  display: block;
}

.senryu_title {
  color: var(--base-color);
  font-size: 34px;
  line-height: 1.2;
  font-weight: 600;
  margin-bottom: 28px;
  font-family: var(--mincho);
  text-align: center;
  position: relative;
  z-index: 0;

  & b{
    font-family: sans-serif;
    color: var(--key-color);
  }
}

.senryu_subtext{
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  margin-bottom: 20px;
  color: var(--base-color);
  font-weight: bold;

  @media screen and (max-width: 640px) {
    font-size: 15px;
  }

  & .deco_line {
    flex: 1;
    max-width: 40px;
    height: 2px;
    background: var(--base-color);
    position: relative;
    left: -20px;


    &::after {
      content: "";
      width: 8px;
      height: 8px;
      border: 2px solid var(--base-color);
      border-radius: 50%;
      position: absolute;
      top: 50%;
      right: -10px;
      transform: translateY(-50%);
    }

    &.dl_right {
      left: auto;
      right: -20px;
      &::after{
        right: auto;
        left: -10px;
      }
    }
  }

  & > p {
    color: var(--base-color);
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    white-space: nowrap;
  }

  & b {
    color: var(--key-color);
    font-size: 1.8em;
    line-height: 1;

    @media screen and (max-width: 640px) {
      font-size: 1.4em;
    }
  }
}

/* section */

.fvimg{

  & img{
    width: 100%;
  }

  @media screen and (max-width: 640px) {
    padding-top: 50px;
  }
}

.fv_days{
  max-width: 700px;
  margin: 0 auto;
  padding: 10px 0 30px;

  @media screen and (max-width: 640px) {
    display: none;
  }
}

.fv_sub{
  display: flex;
  margin: 0 auto 60px;
  justify-content: space-between;
  align-items: center;
  max-width: 840px;
  gap: 30px;

  @media screen and (max-width: 640px) {
    max-width: 100%;
    flex-direction: column;
    padding: 30px 16px 0;
    gap: 20px;
    margin:0;
  }

  & .search_box{
    width: 430px;
    border: 1px solid var(--base-color);
    border-radius: 100px;
    padding: 12px 50px 12px 10px;
    font-size: 20px;
    color: var(--base-color);
    position: relative;
    font-size: 18px;
    line-height: 1;
    white-space: nowrap;
    background: #FFFDF6;

    &::after{
      display: block;
      position: absolute;
      width: 20px;
      content: url('../image/icon_search.svg');
      top: 50%;
      right: 16px;
      transform: translateY(-50%);
    }

    @media screen and (max-width: 640px) {
      width: 100%;
      box-sizing: border-box;
      background: none;
    }
  }

  & .btn_toform{
    width: 100%;
    padding: 12px 48px 12px 22px;
    background: var(--key-color);
    color: #fff;
    font-size: 22px;
    border-radius: 10px;
    box-shadow: 0 5px 0 0 #FFEBEA;
    text-align: center;
    font-weight: bold;
    position: relative;
    font-weight: bold;

    & span{
      color: #FFEFBB;
    }

    &::after{
      display: block;
      position: absolute;
      width: 20px;
      content: url('../image/icon_arrow_u.svg');
      top: 50%;
      right: 18px;
      transform: translateY(-50%);
    }

    @media screen and (max-width: 640px) {
      box-sizing: border-box;
      padding: 12px 22px;

      &::after{
        display: inline-block;
        position: absolute;
        width: 16px;
        content: url('../image/icon_arrow_u2.svg');
        top: auto;
        right: auto;
        transform: translateY(2px);
        margin-left: 5px;
      }
    }
  }
}

.sec_wrapper {
  & .sec_box{
    max-width: 980px;
    margin: 0 auto;
    text-align: center;
  }

  &.senryu_cm{
    background: #F9F8F8;
    background-image: url('../image/back_sakura.png');
    background-size: 150px;
    padding: 80px 0;

    @media screen and (max-width: 640px) {
      padding: 80px 20px 60px;
    }

    & .senryu_title{
      margin: 0 auto 30px;

      & .deco_line{
        left: -25px;

        &.dl_right{
          right: -25px;
        }
      }

      &::after{
        width: 220px;
        position: absolute;
        content: url('../image/cm_title_uline.svg');
        bottom: -10px;
        left: 50%;
        transform: translateX(-50%);
        z-index: -1;
      }

      & img{
        width: 100%;
      }
    }

    & .youtube_wrap{
      max-width: 560px;
      margin: 0 auto;
      box-shadow: 0 0 0 10px #fff;
      border-radius: 20px;
      overflow: hidden;

      @media screen and (max-width: 640px) {
        box-shadow: none;
      }

      & .youtube_thumb {
        width: 100%;
        height: 100%;
        cursor: pointer;

        & img, iframe {
          width: 100%;
          height: 100%;
          display: block;
          border: 0;
          object-fit: cover;
        }
      }
    }
  }
}


/* 賞 */

.prize_intro {
  background: #FFFBEA;
  background-image: url('../image/back_sakura.png');
  background-size: 150px;
  padding: 140px 20px 70px;

  @media screen and (max-width: 640px) {
    padding: 100px 20px 30px;
  }

  & .prize_intro_inner {
    width: min(100%, 1000px);
    margin: 0 auto;
  }

  & .prize_intro_head {
    text-align: center;
    margin-bottom: 70px;

    @media screen and (max-width: 640px) {
      margin-bottom: 20px;
    }

    & > h2 {
      font-family: var(--mincho);
      color: var(--base-color);
      font-size: 42px;
      font-weight: 600;
      line-height: 1.3;
      margin-bottom: 20px;
      position: relative;

      &::before{
        display: block;
        width: 80px;
        position: absolute;
        content: url('../image/triple_star.svg');
        top: -60px;
        left: 50%;
        transform: translateX(-50%);
      }

      @media screen and (max-width: 640px) {
        font-size: 34px;
      }
    }

    & .senryu_subtext{

      & b{
        transform: translateY(-5px);

        @media screen and (max-width: 640px) {
          transform: translateY(-3px);
        }
      }

      & .deco_line{
        max-width: 240px;

        @media screen and (max-width: 640px) {
          display: none;
        }
      }

    }
  }

  & .prize_intro_cardarea {
    display: flex;
    gap: 22px;
    margin-bottom: 70px;

    @media screen and (max-width: 640px) {
      flex-direction: column;
      gap: 40px;
    }
  }

  & .image_caution{
    text-align: center;
    font-size: 14px;
    padding: 10px 0 20px;
    color: var(--base-color);
  }

  & .prize_intro_card {
    --ribbon-color: #d0a63e;

    flex: 1;
    position: relative;

    &.is-gold {
      --ribbon-color: #caa33d;
    }

    &.is-pink {
      --ribbon-color: var(--key-color);
    }

    &.is-green {
      --ribbon-color: #35c43d;
    }

    & > h3 {
      display: flex;
      justify-content: center;
      margin-bottom: 18px;
      position: relative;
      z-index: 2;

      & > span {
        min-width: 110px;
        background: var(--ribbon-color);
        color: #fff;
        font-size: 22px;
        font-weight: 700;
        line-height: 1.2;
        text-align: center;
        padding: 5px 14px;
        position: relative;

        &::before,
        &::after {
          content: "";
          width: 22px;
          height: 100%;
          background: var(--ribbon-color);
          position: absolute;
          top: 0;
          clip-path: polygon(0 0, 100% 0, 50% 50%, 100% 100%, 0 100%);
        }

        &::before {
          left: -26px;
          transform: scaleX(-1);
        }

        &::after {
          right: -26px;
        }
      }
    }

    & .prize_intro_card_image {
      background: #ececec;
      border-radius: 28px 28px 0 0;
      overflow: hidden;

      & img{
        width: 100%;
      }
    }

    & .prize_intro_card_body {
      background: #fff;
      border-radius: 0 0 28px 28px;
      padding: 30px 12px 16px;
      text-align: center;

      & > h3 {
        color: var(--base-color);
        font-size: 26px;
        font-weight: 700;
        line-height: 1.5;
        margin-bottom: 10px;
      }

      & > p {
        color: var(--base-color);
        font-size: 16px;
        line-height: 1.75;
      }

      & .prize_num {
        background: #FFFBEA;
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 14px;
        padding: 10px 16px;
        line-height: 1;
        position: relative;

        &::after{
          content: "";
          display: block;
          width: 20px;
          height: 20px;
          position: absolute;
          top: 50%;
          transform: translateY(-50%);
          left: 16px;
          background-image: url('../image/icon_present.svg');
          background-repeat: no-repeat;
        }

        & > p {
          color: var(--base-color);
          font-size: 18px;
          font-weight: 700;
        }
      }
    }
  }

  & .prize_intro_double {
    max-width: 800px;
    margin: 0 auto 80px;

    @media screen and (max-width: 640px) {
      margin:0 -20px 50px;
    }

    & .senryu_title {
      max-width: 320px;
      background: #fff;
      border-radius: 28px 28px 0 0;
      color: var(--base-color);
      font-weight: 700;
      line-height: 1.2;
      padding: 14px 24px 0px;
      margin: 0 auto;
      position: relative;
      top: 20px;

      @media screen and (max-width: 640px) {
        padding: 24px 10px 14px;
        top: 10px;
        font-size: 36px;
      }

      & > span {
        color: var(--key-color);
      }

      & .t_small{font-size: 0.7em;}
    }

    & .wchance_wrap{
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 20px;
      background: #fff;
      border-radius: 28px;
      padding: 30px;
      text-align: center;
      flex-direction: row-reverse;

      @media screen and (max-width: 640px) {
        padding: 10px 0px 20px;
        flex-direction: column;
        background: #FFF;
        background: linear-gradient(180deg, #fff 0%, #FFF8F8 90%, #FFF8F8 100%);
      }

      & .wchance_info {
        width: 100%;

        & > p {
          color: var(--base-color);
          font-size: 18px;
          line-height: 1.9;
          margin-bottom: 12px;

          @media screen and (max-width: 640px) {
            font-size: 15px;
            margin-bottom: 0px;
            padding: 0 16px;
            text-align: left;
            line-height: 1.7;
          }

          & > span {
            color: var(--key-color);
            font-weight: 700;
          }
        }

        & > strong {
          display: block;
          width: 100%;
          background: #FEF8F8;
          border-radius: 18px;
          color: var(--base-color);
          font-size: 28px;
          font-weight: 700;
          line-height: 1.4;
          padding: 18px 0px;
          margin: 0 auto 16px;

          & > span {
            color: var(--key-color);
            font-size: 1.3em;
            line-height: 1;
          }

          @media screen and (max-width: 640px) {
            width: 100%;
            font-size: 28px;
            line-height: 1.6;
            border-radius: 0;
            background: none;
            margin: 0 auto;
            padding: 14px 0px 18px;

            & > span {
              font-size: 1em;
              display: block;
            }

          }
        }

        & > small {
          display: block;
          color: var(--base-color);
          font-size: 14px;
          line-height: 1.7;

          & .pc-only{
            display: inline;
          }

          @media screen and (max-width: 640px) {
            padding: 0 20px;
            text-align: left;

            & .pc-only{
              display: none;
            }
          }
        }
      }

      & .wchance_images{
        max-width: 190px;

        & .sp-only{
          font-size: 14px;
          line-height: 1;
        }

        & img{width: 100%;}
      }
    }


  }

  & .prize_intro_announce {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;

    @media screen and (max-width: 640px) {
      flex-direction: column;

      & .deco_line{
        display: none;
      }
    }

    &.senryu_subtext .deco_line{
      max-width: 130px;
    }

    & .announce_ribbon {
      background: var(--key-color);
      color: #fff;
      font-size: 18px;
      font-weight: 700;
      line-height: 1;
      padding: 6px 12px;
      position: relative;
      line-height: 1;
      margin-left: 10px;

      @media screen and (max-width: 640px) {
        display: block;
        width: calc(100% - 20px);
        padding: 10px 0;
        text-align: center;
        margin:0 auto;
      }


      &::before,
      &::after {
        content: "";
        width: 10px;
        height: 100%;
        background: var(--key-color);
        position: absolute;
        top: 0;
        clip-path: polygon(100% 0, 0 50%, 100% 100%);
      }

      &::before {
        left: -10px;
      }

      &::after {
        right: -10px;
        transform: scaleX(-1);
      }
    }

    & > p {
      color: var(--base-color);
      font-size: 26px;
      font-weight: 600;
      font-family: var(--mincho);
      vertical-align: middle;
      position: relative;
      top: -10px;
      padding-left: 10px;
      margin-right: -10px;

      @media screen and (max-width: 640px) {
        text-align: center;
        padding: 0;
        line-height: 1.8;
      }
    }

    & b {
      color: var(--base--color);
      font-size: 1.3em;
      font-weight: 600;

      & span{
        font-size: 1.8em;
        position: relative;
        bottom: -8px;
      }
    }

    & small {
      font-size: 0.75em;
      font-weight: 400;
      font-family: sans-serif;
      position: relative;
      bottom: 3px;

      @media screen and (max-width: 640px) {
        display: block;
      }
    }
  }


}

/* フォーム */

.sec_contact_area{
  padding: 80px 0;
  background-image: url('../image/back_sakura2.png');
  background-size: 150px;

  @media screen and (max-width: 640px) {
    padding: 60px 0 60px;
  }
}

.senryu_form_intro {
  margin-bottom: 40px;
  text-align: center;
  @media screen and (max-width: 640px) {
    margin-bottom: 0;
  }

  & .senryu_title{
    display: table;
    margin: 0 auto 10px;

    &::before{
      display: block;
      width: 30px;
      position: absolute;
      content: url('../image/icon_contact.svg');
      top: 50%;
      left: -40px;
      transform: translateY(-50%);
    }
  }

  & .lead {
    color: var(--base-color);
    font-size: 18px;
    line-height: 2;
    margin-bottom: 40px;
  }

  & .notice_box {
    max-width: calc(1000px - 160px);
    text-align: left;
    border: 2px dashed var(--base-color);
    border-radius: 28px;
    padding: 48px 80px 42px;
    margin: 0 auto;
    position: relative;

    @media screen and (max-width: 640px) {
      border: 2px dashed var(--base-color);
      border-style: dashed;
      border-width: 1px;
      border-color: var(--base-color) transparent;
      border-radius: 0;
      padding: 40px 10px;
    }

  }

  & .notice_title {
    color: var(--base-color);
    font-size: 20px;
    line-height: 1.4;
    font-weight: 700;
    padding-left: 56px;
    margin-bottom: 20px;
    position: relative;
  }

  & .notice_title::before {
    content: "!";
    width: 30px;
    height: 30px;
    color: var(--base-color);
    font-size: 20px;
    line-height: 1;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--base-color);
    border-radius: 50%;
    background: #FFFBEA;
    position: absolute;
    top: -3px;
    left: 10px;
  }

  & .notice_list {
    margin: 0;
    padding-left: 76px;
  }

  & .notice_list li {
    color: var(--base-color);
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 2px;
    list-style-type: disc;
  }

  & .notice_list li:last-child {
    margin-bottom: 0;
  }

  @media screen and (max-width: 640px) {

    & .senryu_title {
      font-size: 34px;
      margin-bottom: 20px;
    }

    & .lead {
      font-size: 16px;
      line-height: 1.8;
      margin-bottom: 32px;
    }

    & .notice_title {
      font-size: 22px;
      padding-left: 60px;
      margin-bottom: 14px;
    }

    & .notice_title::before {
      width: 32px;
      height: 32px;
      font-size: 22px;
    }

    & .notice_list {
      padding-left: 22px;
    }

    & .notice_list li {
      font-size: 16px;
      line-height: 1.8;
      margin-bottom: 6px;
    }
  }
}



.sec_form {

  & .c_in {
    max-width: 1000px;
    margin: 0 auto;
  }

  & .border_box {
    background: #F9F8F8;
    border-radius: 32px;
    padding: 56px 60px 48px;
    margin-bottom: 36px;
    position: relative;

    @media screen and (max-width: 640px) {
      background: #fff;
      margin-bottom: 0;
    }
  }

  & .error {
    color: #d85b5b;
    font-size: 14px;
    line-height: 1.6;
    font-weight: 700;
    display: block;
    margin-bottom: 10px;

    @media screen and (max-width: 640px) {
      font-size: 13px;
      margin-bottom: 0px;
    }
  }

  & dl {
    display: grid;
    grid-template-columns: 252px 1fr;
    column-gap: 20px;
    align-items: start;
    margin-bottom: 44px;
  }

  & dt {
    color: var(--base-color);
    font-size: 16px;
    line-height: 1.6;
    font-weight: 500;
    padding-top: 20px;
    position: relative;
  }

  & dd {
    margin: 0;

    & .caution_text{
      color: var(--base-color);
      padding: 10px;
      font-size: 14px;
    }
  }

  & .hissu dt {
    padding-right: 64px;
  }

  & .hissu dt::after {
    content: "必須";
    min-width: 46px;
    height: 26px;
    color: #fff;
    font-size: 14px;
    line-height: 1;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--key-color);
    border-radius: 6px;
    position: absolute;
    top: 20px;
    right: 0;
  }

  & .ninni dt {
    padding-right: 64px;
  }

  & .ninni dt::after {
    content: "任意";
    min-width: 46px;
    height: 26px;
    color: #fff;
    font-size: 14px;
    line-height: 1;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #bdbdbd;
    border-radius: 6px;
    position: absolute;
    top: 20px;
    right: 0;
  }

  & label {
    display: block;
  }

  & input[type="text"],
  & input[type="email"],
  & textarea {
    width: 100%;
    color: var(--base-color);
    font-size: 18px;
    line-height: 1.6;
    background: #fff;
    border: 0;
    border-radius: 16px;
    padding: 18px 24px;
    appearance: none;
    box-sizing: border-box;

    &::placeholder{
      font-size: 16px;
    }

    @media screen and (max-width: 640px) {
      background: #F8F8F8;
    }
  }

  

  & input[type="text"],
  & input[type="email"] {
    height: 64px;
  }

  & textarea {
    min-height: 190px;
    resize: vertical;

    &.senryu-input{
      min-height: auto;

      @media screen and (max-width: 640px) {
        min-height: 90px;
      }
    }

    &.body_input{
      @media screen and (max-width: 640px) {
        min-height: 300px;
      }
    }
  }

  & input::placeholder,
  & textarea::placeholder {
    color: #b8b8b8;
  }

  & .s_post .add {
    display: grid;
    grid-template-columns: 120px 1fr;
    column-gap: 20px;
    row-gap: 16px;
    align-items: center;
  }

  & .s_post .add_title {
    color: var(--base-color);
    font-size: 18px;
    line-height: 1.6;
    font-weight: 700;
  }

  & .s_post .add_title.m_top {
    margin-bottom: 0;
  }

  & .s_post .add > p {
    margin: 0;
  }

  & .s_post .add > p:nth-of-type(3) {
    grid-column: 2 / 3;
  }

  & .sec_form_caution-txt {
    color: var(--base-color);
    font-size: 14px;
    line-height: 1.9;
    font-weight: 500;
    margin-bottom: 40px;

    @media screen and (max-width: 640px) {
      padding: 10px 16px 16px;
      margin-bottom: 16px;
    }

  }

  & .mwform-radio-field {
    display: block;
  }

  & .yuusou_chk {
    display: block;
    position: relative;
  }

  & .yuusou_chk .mwform-checkbox-field-text {
    display: block;
  }

  & .yuusou_chk label {
    color: var(--base-color);
    font-size: 18px;
    line-height: 1.9;
    font-weight: 500;
    padding-left: 44px;
    cursor: pointer;
    position: relative;
  }

  & .yuusou_chk label::before {
    content: "";
    width: 32px;
    height: 32px;
    background: #fff;
    border: 2px solid #8c6b47;
    border-radius: 8px;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
  }

  & .yuusou_chk label::after {
    content: "";
    width: 10px;
    height: 18px;
    border-right: 3px solid #8c6b47;
    border-bottom: 3px solid #8c6b47;
    opacity: 0;
    transform: rotate(45deg);
    position: absolute;
    top: 4px;
    left: 11px;
  }

  & .yuusou_chk input:checked + .mwform-checkbox-field-text label::after {
    opacity: 1;
  }

  & .check_link{
    display: block;
    font-size: 16px;
    padding-left: 44px;
    line-height: 1.9;
    font-weight: 500;
    color: var(--base-color);
  }

  & dl:has(#double_chance) {
    background: #FFFBEA;
    border-radius: 20px;
    padding: 16px 40px 24px;
    grid-template-columns: 1fr;
    row-gap: 16px;
    margin-bottom: 32px;

    @media screen and (max-width: 640px) {
      margin-bottom: 0px;
      border-radius: 0;
      padding: 0px 18px 22px;
    }
  }

  & dl:has(#double_chance) dt {
    display: none;
  }

  & dl:has(#double_chance) dd {
    padding-left: 0;

    & span{
      font-weight: bold;
      font-size: 18px;
    }
  }

  & dl:has(#double_chance) .yuusou_chk label {
    font-size: 16px;
    line-height: 2;

    & b{
      font-weight: bold;
      color: var(--key-color);
    }
  }

  & dl:has(#double_chance) .yuusou_chk label strong,
  & dl:has(#double_chance) .yuusou_chk label em {
    color: var(--key-color);
    font-style: normal;
    font-weight: 700;
  }

  & dl:has(#agreement) {
    background: #f2f2f2;
    border-radius: 20px;
    padding: 8px 40px 20px;
    grid-template-columns: 1fr;
    row-gap: 0;
    margin-bottom: 28px;

    @media screen and (max-width: 640px) {
      border-radius: 0px;
      padding: 10px 18px 22px;
      margin-bottom: 0;
    }
  }

  & dl:has(#agreement) dt {
    display: none;
  }

  & dl:has(#agreement) dd {
    padding-left: 0;
  }

  & dl:has(#agreement) .yuusou_chk label {
    font-size: 18px;
    line-height: 1.9;
  }

  & dl:has(#agreement) .yuusou_chk a,
  & dl:has(#agreement) .yuusou_chk label a,
  & dl:has(#agreement) .yuusou_chk label .link {
    color: var(--key-color);
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  & .border_box > .c-member-txt:last-of-type {
    font-size: 14px;
    line-height: 2;
  }

  & .submit {
    text-align: center;
    position: relative;

    @media screen and (max-width: 640px) {
      padding: 0 20px;
    }

    &::after{
      display: block;
      position: absolute;
      width: 30px;
      content: url('../image/icon_arrow_l.svg');
      top: 53%;
      right: 30px;
      transform: translateY(-50%);
    }
  }

  & .submit input[type="submit"] {
    width: 100%;
    height: 60px;
    color: #fff;
    font-size: 18px;
    line-height: 1;
    font-weight: 700;
    background: var(--key-color);
    border: 0;
    border-radius: 999px;
    padding: 0 32px;
    appearance: none;
    cursor: pointer;
  }

  & .txt_uline{
    text-decoration: underline;
    color: var(--key-color);
  }

  @media screen and (max-width: 640px) {
    margin-bottom: 0px;

    & .border_box {
      border-radius: 24px;
      padding: 28px 20px 24px;
    }

    & dl{
      grid-template-columns: 1fr;
      row-gap: 12px;
      margin-bottom: 40px;

      &:last-of-type{
        margin-bottom: 20px;
      }
    }

    & dt {
      font-size: 16px;
      padding-top: 0;
    }

    & .hissu dt,
    & .ninni dt {
      padding-right: 56px;
    }

    & .hissu dt::after,
    & .ninni dt::after {
      min-width: 42px;
      height: 24px;
      font-size: 12px;
      top: 0;
    }

    & input[type="text"],
    & input[type="email"],
    & textarea {
      font-size: 16px;
      border-radius: 12px;
      padding: 16px 18px;
    }

    & input[type="text"],
    & input[type="email"] {
      height: 56px;
    }

    & textarea {
      min-height: 160px;
    }

    & .s_post .add {
      grid-template-columns: 1fr;
      row-gap: 10px;
    }

    & .s_post .add_title {
      font-size: 16px;
    }

    & .s_post .add > p:nth-of-type(3) {
      grid-column: auto;
    }

    & .c-member-txt {
      font-size: 13px;
      line-height: 1.8;
    }

    & .yuusou_chk label {
      font-size: 16px;
      line-height: 1.8;
      padding-left: 44px;
    }

    & .yuusou_chk label::before {
      width: 28px;
      height: 28px;
      border-radius: 6px;
    }

    & .yuusou_chk label::after {
      width: 8px;
      height: 15px;
      top: 3px;
      left: 10px;
    }

    & dl:has(#double_chance) dt {
      font-size: 18px;
    }

    & dl:has(#double_chance) .yuusou_chk label,
    & dl:has(#agreement) .yuusou_chk label {
      font-size: 15px;
    }

    & .submit input[type="submit"] {
      width: 100%;
      min-width: 0;
      height: 56px;
    }
  }
}


/* 応募規約 */

.sec_entry_rules{
  background: #F8F8F8;
  padding: 80px 0;

  & .senryu_title{
    margin-bottom: 20px;
  }

  @media screen and (max-width: 640px) {
    padding: 60px 0 40px;
  }
}

.entry_rules_table {
  max-width: 1000px;
  margin: 0 auto;
  margin-bottom: 40px;

  @media screen and (max-width: 640px) {
    padding: 0 16px;
    margin-bottom: 0;
  }

  & table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
    border-radius: 28px;
    overflow: hidden;

    @media screen and (max-width: 640px) {
      background: none;
      border-radius: 0;
    }
  }

  & th,
  & td {
    color: var(--base-color);
    font-size: 16px;
    line-height: 1.9;
    padding: 20px 16px;
    vertical-align: middle;
    border-bottom: 1px solid #9b7a58;

    @media screen and (max-width: 640px) {
      display: block;
      width: 100%;
      border:none;
    }
  }

  & th {
    width: 200px;
    font-weight: 700;
    text-align: left;
    padding: 20px 0px 16px 40px;
    border-right: 1px solid #9b7a58;

    @media screen and (max-width: 640px) {
      width: 100%;
      background: #fff;
      border:none;
      text-align: center;
      padding: 10px 0;
      border-radius: 10px;
    }

  }

  & td {
    font-weight: 500;
    text-align: left;
    padding-left: 54px;

    @media screen and (max-width: 640px) {
      padding: 10px 0;
    }
  }

  & tr:last-child th,
  & tr:last-child td {
    border-bottom: 0;
  }
}


/* confilm */
main.confirm{

  & .step_text{
    font-size: 20px;
    text-align: center;
    margin-bottom: 20px;

  }

  & .sec_form{

    & dl{
      align-items: center;
      @media screen and (max-width: 640px) {
        margin-bottom: 20px;
      }

      & dt{
        padding: 0;
      }

      & dd{
        font-size: 18px;
      }
    }

    & .confirm_submit{
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 20px;

      @media screen and (max-width: 640px) {
        gap: 10px;
        flex-direction: column;
      }

      & .confirm{
        width: 200px;

        @media screen and (max-width: 640px) {
          width: auto;
          width: 100%;
        }


        & .submit{
          padding: 0;

          &::after{
           @media screen and (max-width: 640px) {
            right: 16px;
          }
        }
      }

      &.back .submit{
        padding: 0;

        & input[type="submit"]{
          background: #999;
        }

        &::after{
          left: 20px;
          top: 47%;
          right: auto;
          transform: translateY(-50%) rotate(180deg);

          @media screen and (max-width: 640px) {
            left: 16px;
          }
        }
      }
    }
  }
}

}


/* complite */
.renewWrap.complite{
  font-size: 16px;

  & .contHeader{
    height: 120px;
  }
}

.sec_form.complite{

  & .desc{
    padding: 20px;
    max-width: 640px;
    margin: 0 auto;
    text-align: center;

    & .title{
      margin-bottom: 20px;
    }
  }

  & .thanks_btn_wrap{
    margin: 0 auto 20px;
    width: 90%;
  }
}



