@charset "UTF-8";

@keyframes patterns_scroll1 {
  0% {
    transform: translateX(0%);
  }

  100% {
    transform: translateX(-50%);
  }
}

@keyframes patterns_scroll2 {
  0% {
    transform: translateX(-50%);
  }

  100% {
    transform: translateX(0%);
  }
}

.w2_page-repeat-food {

  --gradient-orange: linear-gradient(90deg, #f71768 0%, #fb761b 18.85%, #f7342a 34.04%, #f6202e 45.94%, #fb6020 65.89%, #ffc700 100%);

  width: 100vw;
  background: url(../../img/common/sp_bg1.jpg) no-repeat;
  background-position: 0 0;
  background-size: 100vw auto;

  :where(img) {
    width: 100%;
    height: auto;
    /* display: block; */
  }

  .w2_sp_open_img::after {
    width: 13.33333vw;
    height: 13.33333vw;
    bottom: 3.33333vw;
    right: 3.33333vw;
    position: absolute;
    display: block;
    content: '';
    background: url(../../img/static/common/zoom_icon.png);
    background-size: 100%;
  }

  .w2_common_button {
    padding-inline: 5.6vw;
    min-width: 56vw;
    display: inline-block;
    color: #FFFFFF;
    background: #0E5CCC;
    text-decoration: none;
    box-sizing: border-box;
    text-align: center;
    cursor: pointer;
    white-space: nowrap;
    font-size: 4.26667vw;
    font-weight: 500;
    line-height: 14.66667vw;
    cursor: pointer;
    border-radius: 7.33333vw;
  }

  .w2_firstview {
    padding-top: 17.6vw;
    margin-bottom: 1.86667vw;
    position: relative;
    overflow: hidden;

    .w2_container {
      padding-bottom: 16vw;
      margin-bottom: 0;
    }

    .w2_fv_text_container {
      padding-top: 5.33333vw;
      position: relative;
    }

    .w2_fv_copy {
      margin-bottom: 8vw;
      display: flex;
      justify-content: center;
      text-align: left;
      column-gap: 2vw;
      font-size: 7.2vw;
      font-weight: 500;

      strong {
        font-size: 6.13333vw;
        line-height: 1.5;
      }
    }

    .w2_fv_no1 {
      margin-bottom: 4vw;
      display: flex;
      justify-content: center;
      align-items: center;

      .w2_fv_no1_img {
        width: 78.66667vw;
      }
    }

    .w2_g1 {
      display: none;
    }
  }

  .w2_patterns {
    padding-bottom: 0;

    .w2_patterns_title {
      margin-bottom: 6.13333vw;
      font-size: 4vw;
      line-height: 6.66667vw;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .w2_patterns_title_hr {
      width: 18.66667vw;
      margin: 0;
      border: none;
      background: #DDD;
      height: 1px;
    }

    .w2_patterns_title_inner {
      text-align: center;
    }

    .w2_patterns_scroll {
      width: 100vw;
      overflow: hidden;
    }

    .w2_patterns_scroll_inner {
      margin-bottom: 5.33333vw;
      background-repeat: repeat-x;
      background-size: auto 100%;
    }

    .w2_patterns_scroll_inner:nth-of-type(1) {
      animation: patterns_scroll1 infinite 80s linear;
    }

    .w2_patterns_scroll>* {
      height: calc(50 * (100vw / 375)) !important;
    }

    .w2_patterns_scroll>img {
      display: none;
    }
  }

  .w2_about {
    margin-bottom: 6vw;

    .w2_container {
      width: 84vw;
      margin-inline: auto;
      padding-top: 16vw;
    }

    .w2_about_text_container {
      width: 100% !important;
      margin-right: 4vw;
    }

    .w2_about_title {
      margin-bottom: 6.66667vw;
      text-align: center;
      font-size: 8vw !important;
      font-weight: 500;
      line-height: 1.5 !important;
    }

    .w2_about_text {
      width: 84vw;
      margin: auto;
      text-align: justify;
      font-size: 4vw !important;
      line-height: 1.6 !important;
    }

    .n_about_lead {
      display: block;
      margin-block: 6vw;
    }

    .n_about_lead_text {
      margin-right: 0;
      font-size: 4.4vw;
      font-weight: 500;
      line-height: 1.5;
      text-align: center;
    }

    .n_about_lead_button {
      margin-top: 4vw;
      text-align: center;
    }

    .w2_about_image_container {
      margin-bottom: 6.66667vw;
      line-height: 0;
      pointer-events: none;
      user-select: none;
    }

    .w2_about_image_container_img {
      margin-left: 0 !important;
      width: 100% !important;
      height: auto;
    }
  }

  .w2_anker_menu_outer {
    position: relative;
    height: 29.33333vw;

    .w2_anker_menu {
      width: 100%;
      position: absolute;
      top: 0;
      left: 0;
      display: flex;
      justify-content: center;
      align-items: center;

      .w2_anker_menu_hr {
        margin: 0;
        border: none;
        position: absolute;
        width: 50vw;
        height: 1px;
        background: var(--gradient-orange);
      }

      .w2_anker_menu_hr:first-child {
        top: 0;
        right: 0;
      }

      .w2_anker_menu_hr:last-child {
        bottom: 0;
        left: 0;
      }
    }

    .w2_anker_menu_inner {
      position: relative;
      z-index: 2;

      ul {
        display: flex;
        justify-content: center;
        align-items: center;
        box-sizing: border-box;
        width: 94.66667vw;
        height: 14.66667vw;
        margin-bottom: .26667vw;
        background: url(../../img/common/sp_anker_menu_bg.png) no-repeat;
        background-size: 100% 100%;

        li:not(:last-child) {
          border-right: solid 1px #FFFFFF;
        }

        li:nth-child(2) {
          .w2_anker_menu_a {
            width: 41.33333vw;
          }
        }
      }

      .w2_anker_menu_a {
        padding-right: 4vw;
        width: 26.66667vw;
        height: 12vw;
        font-size: 3.2vw;
        font-weight: 500;
        line-height: 4.53333vw;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        color: #FFFFFF;
        text-decoration: none;
      }

      .w2_anker_menu_a::after {
        width: 3.46667vw;
        height: 2.13333vw;
        right: 3.73333vw;
        content: '';
        position: absolute;
        background: url(../../img/common/sp_anker_menu_arrow.png) no-repeat;
        background-size: 100% 100%;
      }
    }
  }

  .w2_feature {
    .w2_content {
      border-top: none;
    }

    .w2_right_content {
      position: relative;
    }

    .w2_right_content::before {
      background: url(../../img/common/sp_bg2.jpg) no-repeat;
      background-size: 100%;
      content: "";
      position: absolute;
      width: 100vw;
      height: 222.26667vw;
      top: -113.33333vw;
      left: 0;
      z-index: -1;
    }

    .w2_right_content::after {
      width: 29.33333vw;
      height: 112.66667vw;
      content: "";
      position: absolute;
      bottom: 0;
      right: 0;
      z-index: -1;
      background: url(../../img/feature/graphic1.svg) no-repeat;
      background-size: 100%;
    }

    .w2_text {
      font-weight: 500;
    }

    .w2_feature_list {
      margin-inline: auto;
      width: 89.33333vw;
      display: grid;
      gap: 10.66667vw;
    }

    .w2_feature_list_item {
      position: relative;
      z-index: 1;

      .w2_feature_list_item_inner {
        border-radius: 1.33333vw;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        overflow: hidden;
        background: #FFFFFF;
        box-shadow: 0px 10px 30px rgba(51, 51, 51, 0.15);
      }

      .w2_feature_list_item_title {
        padding-block: 3.73333vw;
        text-align: center;
        height: 13.33333vw;
        font-size: 4vw;
        line-height: 6.4vw;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #FFFFFF;
        background: var(--gradient-orange);
      }

      .w2_feature_list_item_title2 {
        padding-block: 4.8vw;
        font-size: 4vw;
        line-height: 6.4vw;
        color: #FFFFFF;
        width: 100%;
        background: var(--gradient-orange);
        margin: auto;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;
      }

      .w2_feature_list_item_image {
        padding-block: 5.33333vw;
        width: 100%;
        pointer-events: none;
        user-select: none;
        display: flex;
        justify-content: center;
        align-items: center;
        border-bottom: solid 1px #DDD;
      }

      .w2_feature_list_item_image_img {
        width: 27.33333vw;
      }

      .w2_feature_list_item_text1 {
        padding-block: 5.33333vw;
        margin: auto;
        box-sizing: border-box;
        min-height: 8.53333vw;
        width: 74.66667vw;
        font-size: 3.46667vw;
        line-height: 6.4vw;
      }

      .w2_feature_list_item_text2 {
        margin: auto;
        padding-top: 5.33333vw;
        margin-bottom: 2.13333vw;
        width: 74.66667vw;
        font-size: 3.46667vw;
        line-height: 6.4vw;
        text-align: justify;
      }

      .w2_feature_list_item_num {
        font-size: 6.4vw;
        display: inline-block;
        font-weight: 500;
        font-family: 'Barlow Condensed', 'Noto Sans JP', sans-serif;
      }
    }

    .w2_feature_arrow {
      margin-block: 3.73333vw;
      display: flex;
      justify-content: center;
      align-items: center;
      pointer-events: none;
      user-select: none;

      .w2_feature_arrow_img {
        width: 9.33333vw;
      }
    }

    .w2_img-wrapper--single {
      padding: 8vw 2vw;
      margin: auto;
      margin-bottom: 13.33333vw;
      width: 89.33333vw;
      border-radius: 1.33333vw;
      position: relative;
      z-index: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 10px 30px rgba(51, 51, 51, .15);
      background: #fff;
      box-sizing: border-box;
      overflow: hidden;
      line-height: 0;

      img {
        width: 95%;
      }
    }

    .w2_img-wrapper--single::before {
      height: .8vw;
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      z-index: 2;
      width: 100%;
      background: var(--gradient-orange);
    }

    .w2_feature_footer_button {
      margin-bottom: 20vw;
      display: flex;
      justify-content: center;
      align-items: center;
    }
  }

  .w2_functions {
    overflow-x: hidden;
    position: relative;

    .w2_right_content {
      position: relative;
    }

    .w2_right_content::before {
      background: url(../../img/common/sp_bg3.jpg) no-repeat;
      background-size: 100%;
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
      width: 100%;
      height: 100%;
    }

    .w2_right_content::after {
      width: 29.33333vw;
      height: 112.66667vw;
      content: "";
      position: absolute;
      bottom: 0;
      right: 0;
      z-index: -1;
      background: url(../../img/feature/graphic1.svg) no-repeat;
      background-size: 100%;
    }

    .w2_text {
      font-weight: 500;
    }

    .w2_section_title:nth-of-type(1) {
      .w2_text {
        margin-bottom: 10.66667vw;
      }
    }

    .w2_section_title:nth-of-type(2) {
      padding-top: 0;

      .w2_title {
        margin-bottom: 8vw;
      }

      .w2_hr {
        display: none;
      }
    }

    .w2_functions_list {
      padding-bottom: 5.33333vw;
      margin-bottom: calc(6.66667vw + 6.66667vw);
      margin-inline: auto;
      display: grid;
      gap: 6.66667vw;
      width: 89.33333vw;
      position: relative;
      display: flex;
      justify-content: flex-start;
      align-items: flex-start;
      flex-wrap: wrap;
    }

    .w2_functions_list::after {
      content: "";
      position: absolute;
      pointer-events: none;
      z-index: 0;
      display: block;
      background-repeat: no-repeat;
      background-size: contain;
      right: -5.4vw;
      bottom: -6.5vw;
      width: 22.66667vw;
      aspect-ratio: 170 / 250;
      background-image: url(../../img/static/repeat-food/function_graphic1_sp.png);
    }

    .w2_functions_list_item {
      position: relative;
      z-index: 1;
    }

    .w2_functions_list_item_inner {
      padding-top: .8vw;
      border-radius: 1.33333vw;
      display: flex;
      justify-content: flex-start;
      align-items: flex-start;
      flex-wrap: wrap;
      position: relative;
      z-index: 1;
      overflow: hidden;
      background: #FFFFFF;
      box-shadow: 0px 10px 30px rgba(51, 51, 51, 0.15);
    }

    .w2_functions_list_item_inner::before {
      height: .8vw;
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      z-index: 2;
      width: 100%;
      background: var(--gradient-orange);
    }

    .w2_functions_list_item_text1 {
      padding-block: 5.33333vw;
      font-size: 5.06667vw;
      line-height: 8vw;
      order: -1;
      font-weight: 500;
      margin: auto;
      text-align: center;
      display: flex;
      justify-content: center;
      align-items: center;
      white-space: nowrap;
    }

    .w2_functions_list_item_image {
      position: relative;
      z-index: 1;
      display: block;
      width: 100%;
    }

    .w2_functions_list_item_text2 {
      padding: 6.66667vw;
      font-size: 3.46667vw;
      line-height: 6.4vw;
      margin-bottom: 1.33333vw;
      text-align: justify;
    }

    .w2_functions_midashi_text {
      text-align: center;
      font-weight: 500;
      font-size: 6.93333vw;
      line-height: 10.66667vw;
      margin-bottom: 8vw;
    }

    .w2_functions_textbox_list {
      ul {
        width: 89.33333vw;
        margin-inline: auto;
        margin-bottom: 4.53333vw;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 3.46667vw 3.73333vw;
      }

      .w2_functions_textbox_list_item {
        width: 42.66667vw;
        height: 20vw;
        border-radius: 1.33333vw;
        padding-top: .66667vw;
        margin-bottom: 3.46667vw;
        box-shadow: 0px 10px 30px rgba(51, 51, 51, 0.15);
        box-sizing: border-box;
        background: var(--gradient-orange);
      }

      .w2_functions_textbox_list_item_inner {
        height: 19.33333vw;
        border-radius: .53333vw;
        font-size: 4vw;
        line-height: 5.6vw;
        font-weight: 500;
        display: grid;
        place-content: center;
        background: #FFFFFF;
      }
    }

    .w2_functions_footer_button {
      margin-bottom: 24vw;
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .w2_functions_flexible {
      position: relative;
      margin-bottom: 12vw;

      .w2_hr {
        width: 94.66667vw;
        height: .66667vw;
        top: 8.53333vw;
        position: absolute;
        left: 0;
        margin: 0;
        border: none;
        background: var(--gradient-orange);
      }

      .w2_functions_flexible_inner {
        position: relative;
        z-index: 2;
        display: flex;
        flex-wrap: wrap;
        margin: auto;
        line-height: 0;
      }

      .w2_functions_flexible_text {
        width: 100%;
      }

      .w2_functions_flexible_sp_image {
        margin-bottom: 9.33333vw;
        padding-right: 0;

        .w2_functions_flexible_sp_image_img {
          width: 100%;
          height: auto;
          filter: drop-shadow(0px 10px 30px rgba(51, 51, 51, 0.15));
        }
      }

      .w2_functions_flexible_title {
        font-size: 6.93333vw;
        font-weight: 500;
        line-height: 6.93333vw;
        padding-top: 6.8vw;
        padding-bottom: 6.8vw;
        margin-bottom: 2vw;
        padding-left: 5.33333vw;
      }

      .w2_functions_flexible_p {
        font-size: 3.73333vw;
        line-height: 6.66667vw;
        padding-inline: 5.33333vw;
        box-sizing: border-box;
      }
    }

    .w2_functions_customer {
      margin-bottom: 13.33333vw;
      display: flex;
      justify-content: center;
      align-items: flex-start;

      .w2_functions_customer_inner {
        width: 89.33333vw;
        height: 93.86667vw;
        border-radius: 1.33333vw;
        position: relative;
        z-index: 1;
        background: #FFFFFF;
        filter: drop-shadow(0px 10px 30px rgba(51, 51, 51, 0.15));
      }

      .w2_functions_customer_image {
        position: relative;
      }

      .w2_functions_customer_text {
        margin: auto;
        font-size: 3.73333vw;
        line-height: 6.66667vw;
        width: 75.73333vw;

        .w2_hr {
          position: absolute;
          top: 0;
          right: 0;
          border: none;
          margin: auto;
          background: var(--gradient-orange);
        }

        .w2_functions_customer_title {
          font-size: 6.93333vw;
          font-weight: 500;
          line-height: 6.93333vw;
          margin-bottom: 2vw;
          padding-top: 7.73333vw;
          padding-bottom: 4vw;
          text-align: center;
        }
      }
    }
  }

  .w2_plan {
    --padding-vertical: 7.46%;

    .w2_right_content {
      padding-bottom: 20vw;
      position: relative;
    }

    .w2_plan_list {
      margin-bottom: 10.66667vw;
      position: relative;
      display: grid;
      justify-content: center;
      gap: 5.33333vw;
    }

    .w2_plan_list_item {
      width: 89.33333vw;
    }

    .w2_plan_list_item_inner {
      position: relative;
      z-index: 1;
      overflow: hidden;
      background: #FFFFFF;
      box-shadow: 0px 10px 30px rgba(51, 51, 51, 0.15);
      border-radius: 1.33333vw;
    }

    .w2_plan_list_item_inner::before {
      height: .8vw;
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      z-index: 2;
      width: 100%;
      background: var(--gradient-orange);
    }

    .w2_plan_list_item_inner::after {
      width: 6.93333vw;
      height: 10.13333vw;
      content: "";
      position: absolute;
      right: 0;
      bottom: 0;
      z-index: 2;
      background: url(../../img/plan/corner.svg);
      background-size: 100% 100%;
    }

    .w2_plan_list_item_title {
      padding-block: 4.26667vw;
      display: flex;
      justify-content: center;
      align-items: center;
      border-bottom: solid 1px #DDDDDD;

      .w2_plan_list_item_icon {
        margin-right: 2.66667vw;
      }

      .w2_plan_list_item_icon_img {
        width: 16vw;
      }

      .w2_plan_list_item_title_en {
        font-family: 'Barlow Condensed', 'Noto Sans JP', sans-serif;
        font-size: 9.33333vw;
        font-weight: 500;
        line-height: 1;
      }

      .w2_plan_list_item_title_ja {
        font-size: 2.66667vw;
        line-height: 5.33333vw;
      }
    }

    .w2_plan_list_item_text1 {
      padding-top: 4vw;
      padding-bottom: 3.33333vw;
      font-size: 4vw;
      font-weight: 500;
      line-height: 2;
      position: relative;
      text-align: center;

      .w2_plan_color_orange {
        color: #FC6F1B;
      }

      .w2_plan_num {
        padding-left: 1.06667vw;
        padding-right: .53333vw;
        font-size: 8.8vw;
        font-weight: 500;
        font-family: 'Barlow Condensed', 'Noto Sans JP', sans-serif;
        line-height: 8vw;
        color: #FC6F1B;
      }
    }

    .w2_plan_list_item_text1::after {
      width: 18.66667vw;
      height: .53333vw;
      margin-left: -9.33333vw;
      content: " ";
      position: absolute;
      left: 50%;
      bottom: 0;
      background: var(--gradient-orange);
    }

    .w2_plan_list_item_text2 {
      width: auto;
      padding-inline: var(--padding-vertical);
      margin-bottom: 0vw;
      padding-top: 4vw;
      padding-bottom: 5.33333vw;
      font-size: 3.46667vw;
      line-height: 5.33333vw;
    }

    .w2_plan_list_item_button {
      padding-inline: var(--padding-vertical);
      padding-top: 0 !important;
      padding-bottom: 16vw;
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .w2_plan_list_item_image {
      margin-bottom: 5.33333vw;
      padding-inline: var(--padding-vertical);
      width: 100% !important;
    }

    .w2_plan_feature-list {
      padding-inline: var(--padding-vertical);
      margin-bottom: 10.66667vw;
    }
  }
}

#follow-button {
  display: block;
  position: fixed;
  bottom: 10px;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 99;
}

@media (min-width: 768px) {
  .w2_page-repeat-food {
    background: none;

    .w2_common_button {
      border-radius: min(1.38889vw, 20px);
      font-size: min(1.11111vw, 16px);
      line-height: min(2.77778vw, 40px);
      padding-inline: min(2.91667vw, 42px);
      min-width: min(18.05556vw, 260px);
    }

    .w2_firstview {
      padding-top: min(6.94444vw, 100px);

      .w2_container {
        padding-bottom: 5vw;
      }

      .w2_fv_image_container {
        position: absolute;

        .w2_fv_image_container_img {
          width: 61vw;
        }
      }

      .w2_fv_text_container {
        padding-left: 57.98611vw;
        padding-top: 2.77778vw;
      }

      .w2_fv_text1 {
        font-size: 1.25vw;
        font-weight: 500;
        line-height: 1.73611vw;
        margin-bottom: 1.94444vw;
      }

      .w2_fv_logo {
        margin-bottom: 1.80556vw;
        display: flex;
        justify-content: flex-start;
        align-items: flex-end;

        .w2_fv_logo_img {
          width: 24.16667vw;
        }
      }

      .w2_fv_note {
        font-size: .90278vw;
        padding-bottom: 2.91667vw;
        padding-left: .69444vw;
      }

      .w2_fv_copy {
        margin-bottom: 1.11111vw;
        justify-content: flex-start;
        column-gap: .55556vw;
        font-size: 2.5vw;
        line-height: 4.44444vw;

        strong {
          font-size: inherit;
        }
      }

      .w2_fv_no1 {
        margin-bottom: .76389vw;
        justify-content: flex-start;

        .w2_fv_no1_img {
          width: 25.90278vw;
        }
      }

      .w2_g1 {
        display: block;
        pointer-events: none;
        user-select: none;
        position: absolute;
        right: 0;
        bottom: calc(80*(100vw / 1400));
      }
    }

    .w2_patterns {
      .w2_patterns_title {
        font-size: min(1.66667vw, 24px);
        line-height: min(2.5vw, 36px);
        margin-bottom: min(3.19444vw, 46px);
        justify-content: center;
      }

      .w2_patterns_title_hr {
        width: min(30.27778vw, 436px);
      }

      .w2_patterns_title_inner {
        padding-inline: min(1.875vw, 27px);
      }
    }

    .w2_about {
      .w2_container {
        width: 100vw;
        padding-top: min(2.08333vw, 30px);
        display: flex;
        justify-content: center;
        align-items: center;
      }

      .w2_about_text_container {
        width: min(40.97222vw, 690px) !important;
      }

      .w2_about_title {
        font-size: min(2.5vw, 45px) !important;
        line-height: 3.75vw !important;
        margin-bottom: min(1.52778vw, 22px);
        text-align: left;
      }

      .w2_about_text {
        width: 100%;
        font-size: min(1.25vw, 22px) !important;
        line-height: 1.6;
      }

      .w2_about_image_container {
        margin-bottom: 0;
      }

      .w2_about_image_container_img {
        width: min(44.86111vw, 475px) !important;
      }

      .n_about_lead {
        display: flex;
        align-items: center;
      }

      .n_about_lead_text {
        text-align: left;
      }

      .n_about_lead_button {
        margin-top: 0;
      }
    }

    .w2_anker_menu_outer {
      height: min(4.16667vw, 60px);

      .w2_anker_menu_inner {
        ul {
          margin-bottom: 0;
          width: min(77.77778vw, 1120px);
          height: min(4.16667vw, 60px);
          background: url(../../img/common/anker_menu_bg.svg) no-repeat;
          background-size: 100%;

          li:nth-child(2) {
            .w2_anker_menu_a {
              width: auto;
            }
          }
        }

        .w2_anker_menu_a {
          padding-inline: min(2.01389vw, 29px);
          font-size: min(1.11111vw, 16px);
          line-height: min(1.59722vw, 23px);
          width: auto;
          height: min(3.05556vw, 44px);
        }

        .w2_anker_menu_a::after {
          width: min(1.11111vw, 16px);
          height: min(.69444vw, 10px);
          margin-left: min(.69444vw, 10px);
          right: auto;
          position: relative;
          background: url(../../img/common/anker_menu_arrow.svg) no-repeat;
        }
      }
    }

    .w2_feature {
      .w2_left_content {
        .w2_left_content_text_img {
          width: 50%;
          height: auto;
        }
      }

      .w2_right_content::before {
        background: url(../../img/common/bg2.png) no-repeat;
        background-size: 100%;
        width: 88.88889vw;
        height: 129.44444vw;
        top: -75vw;
      }

      .w2_right_content::after {
        width: 16.59722vw;
        height: 63.75vw;
      }

      .w2_feature_list {
        width: min(77.77778vw, 1120px);
        grid-template-columns: repeat(3, 1fr);
        gap: 1.3917%;
      }

      .w2_feature_list_item {
        .w2_feature_list_item_inner {
          display: block;
          border-radius: min(.34722vw, 5px);
        }

        .w2_feature_list_item_inner:last-child {
          min-height: min(42.5vw, 612px);
        }

        .w2_feature_list_item_title {
          height: auto !important;
          padding: min(calc((9 / 1440 * 100) * 1vw), 9px) 0 !important;
          line-height: normal !important;
          font-size: min(1.38889vw, 20px);
        }

        .w2_feature_list_item_title2 {
          padding-top: min(1.11111vw, 16px);
          min-height: min(5.55556vw, 80px);
          padding-bottom: min(.97222vw, 14px);
          font-size: min(1.38889vw, 20px);
          line-height: min(2.5vw, 36px);
        }

        .w2_feature_list_item_image {
          height: min(14.86111vw, 214px);
          padding-block: 0;

          .w2_feature_list_item_image_img {
            width: 6.80556vw !important;
          }
        }

        .w2_feature_list_item_text1 {
          width: 100%;
          min-height: min(calc((96 / 1440 * 100) * 1vw), 96px);
          padding: min(1.45833vw, 21px) min(1.73611vw, 25px) min(1.80556vw, 26px) min(1.73611vw, 25px);
          font-size: min(1.25vw, 18px);
          line-height: min(2.22222vw, 32px);
        }

        .w2_feature_list_item_text2 {
          margin: auto;
          margin-bottom: min(1.11111vw, 16px);
          padding-top: min(1.38889vw, 20px);
          text-align: justify;
          width: min(21.59722vw, 311px);
          font-size: min(1.25vw, 18px);
          line-height: min(2.22222vw, 32px);
        }
      }

      .w2_feature_arrow {
        margin-top: min(2.08333vw, 30px);
        margin-bottom: min(1.38889vw, 20px);

        .w2_feature_arrow_img {
          width: min(2.77778vw, 40px);
        }
      }

      .w2_img-wrapper--single {
        padding: 4.86111vw 0;
        width: min(77.77778vw, 1120px);
        border-radius: .34722vw;
        margin-bottom: 4.16667vw;

        img {
          width: 80%;
        }
      }

      .w2_img-wrapper--single::before {
        height: .34722vw;
      }

      .w2_sp_open_img::after {
        content: none;
      }

      .w2_feature_footer_button {
        margin-bottom: min(calc((130 / 1440 * 100) * 1vw), 130px);
      }
    }

    .w2_functions {
      .w2_right_content::before {
        background: url(../../img/common/bg3.png) no-repeat;
        background-size: 100%;
      }

      .w2_right_content::after {
        width: 16.59722vw;
        height: 63.75vw;
      }

      .w2_section_title {
        .w2_text {
          font-size: min(1.25vw, 18px);
          line-height: min(2.22222vw, 32px);
        }
      }

      .w2_section_title:nth-of-type(1) {
        .w2_text {
          margin-bottom: 3.05556vw;
        }
      }

      .w2_section_title:nth-of-type(2) {
        .w2_title {
          margin-bottom: 1.80556vw;
        }
      }

      .w2_functions_list {
        margin-bottom: min(calc((80 / 1440 * 100) * 1vw), 80px);
        width: min(77.77778vw, 1120px);
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: min(calc((50 / 1440 * 100) * 1vw), 50px) 1.78%;
      }

      .w2_functions_list::after {
        right: min(calc((-68 / 1440 * 100) * 1vw), -68px);
        bottom: min(calc((-82 / 1440 * 100) * 1vw), -82px);
        width: min(calc((160 / 1440 * 100) * 1vw), 160px);
        aspect-ratio: 160 / 275;
        background-image: url(../../img/static/repeat-food/function_graphic1.png);
      }

      .w2_functions_list_item_inner {
        padding-top: 0;
        border-radius: .34722vw;
        display: block;
        height: min(43.75vw, 630px);
      }

      .w2_functions_list_item_inner::before {
        height: .34722vw;
      }

      .w2_functions_list_item_text1 {
        padding-top: min(.97222vw, 14px);
        padding-bottom: min(.41667vw, 6px);
        width: min(21.59722vw, 100%);
        height: min(5.55556vw, 80px);
        font-size: min(1.38889vw, 20px);
        line-height: min(2.5vw, 36px);
      }

      .w2_functions_list_item_text2 {
        padding-inline: 6.66%;
        padding-block: 0;
        margin-top: min(calc((17 / 1440 * 100) * 1vw), 17px);
        margin-bottom: min(1.11111vw, 16px);
        width: auto;
        font-size: min(1.25vw, 18px);
        line-height: min(2.22222vw, 32px);
      }

      .w2_functions_midashi_text {
        font-size: min(2.5vw, 36px);
        line-height: min(3.75vw, 54px);
        margin-bottom: min(3.05556vw, 44px);
      }

      .w2_functions_textbox_list {
        ul {
          width: min(77.77778vw, 1120px);
          grid-template-columns: repeat(4, 1fr);
          gap: 1.80556vw 1.6%;
          margin-bottom: 3.47222vw;
        }

        .w2_functions_textbox_list_item {
          padding-top: min(.34722vw, 5px);
          margin-bottom: 0;
          width: 100%;
          height: min(6.94444vw, 100px);
          border-radius: min(.34722vw, 5px);
        }

        .w2_functions_textbox_list_item_inner {
          height: min(6.59722vw, 95px);
          border-radius: min(.27778vw, 4px);
          font-size: min(1.38889vw, 20px);
          line-height: min(2.22222vw, 32px);
        }
      }

      .w2_functions_footer_button {
        margin-bottom: 4.86111vw;

        .w2_common_button {
          width: 20.83333vw;
        }
      }

      .w2_functions_flexible {
        margin-bottom: 4.16667vw;

        .w2_hr {
          top: .69444vw;
          width: 70vw;
          height: .20833vw;
        }

        .w2_functions_flexible_inner {
          width: 77.77778vw;
          justify-content: space-between;
          align-items: flex-start;
          flex-wrap: nowrap;
        }

        .w2_functions_flexible_sp_image {
          display: none;
        }

        .w2_functions_flexible_text {
          width: 30.45vw;
          padding-top: 3.54167vw;
        }

        .w2_functions_flexible_title {
          padding: 0;
          font-size: 2.22222vw;
          line-height: 3.33333vw;
          margin-bottom: 1.04167vw;
        }

        .w2_functions_flexible_p {
          padding: 0;
          font-size: 1.25vw;
          line-height: 2.22222vw;
        }

        .w2_functions_flexible_image {
          width: 47.31667vw;
          position: relative;

          .w2_functions_flexible_image_img {
            filter: drop-shadow(0px 10px 30px rgba(51, 51, 51, 0.15));
            width: 100%;
            height: auto;
          }
        }
      }

      .w2_functions_customer {
        margin-bottom: 4.16667vw;

        .w2_functions_customer_inner {
          width: 77.77778vw;
          height: 17.36111vw;
          border-radius: .34722vw;
          display: flex;
          justify-content: space-between;
          align-items: flex-start;
        }

        .w2_functions_customer_image_img {
          width: 37.91667vw;
        }

        .w2_functions_customer_text {
          font-size: 1.25vw;
          line-height: 2.22222vw;
          width: 32.5vw;
          padding-right: 4.23611vw;
          padding-top: 3.19444vw;
          border-radius: .34722vw;
          margin: 0;
          position: relative;
          overflow: hidden;

          .w2_hr {
            width: 40.13889vw;
            height: .20833vw;
          }

          .w2_functions_customer_title {
            padding: 0;
            margin-bottom: 1.04167vw;
            font-size: 2.22222vw;
            line-height: 3.33333vw;
            text-align: left;
          }
        }

      }
    }

    .w2_casestudy {
      margin-top: 0;
    }

    .w2_plan {
      .w2_right_content {
        padding-bottom: 0;
      }

      .w2_right_content::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        width: 100%;
        height: 100%;
        background: url(../../img/common/bg4.png) no-repeat;
        background-size: 100% auto;
      }

      .w2_plan_list {
        display: flex;
        justify-content: center;
        align-items: stretch;
        gap: 1.78%;
        width: 100%;
        max-width: min(calc((1120 / 1440 * 100) * 1vw), 1120px);
        margin: 0 auto 3.47222vw;
      }

      .w2_plan_list_item_inner {
        height: 100%;
        min-height: min(40.97222vw, 590px);
        padding-bottom: 3.88889vw;
        box-sizing: border-box;
        border-radius: min(.34722vw, 5px);
      }

      .w2_plan_list_item_inner::after {
        width: 2.77778vw;
        height: 4.09722vw;
      }

      .w2_plan_list_item_inner::before {
        height: .34722vw;
      }

      .w2_plan_list_item_title {
        padding-top: min(1.73611vw, 25px);
        padding-bottom: min(1.38889vw, 20px);

        .w2_plan_list_item_icon {
          margin-right: min(1.38889vw, 20px);

          .w2_plan_list_item_icon_img {
            width: min(5.97222vw, 86px);
          }
        }

        .w2_plan_list_item_title_en {
          font-size: min(2.5vw, 36px);
          line-height: min(2.91667vw, 42px);
        }

        .w2_plan_list_item_title_ja {
          font-size: min(.97222vw, 14px);
          line-height: min(1.73611vw, 25px);
        }
      }

      .w2_plan_list_item_text1 {
        font-size: min(1.25vw, 18px);
        line-height: min(2.22222vw, 32px);
        padding-top: min(.69444vw, 10px);
        padding-bottom: min(.34722vw, 5px);

        .w2_plan_num {
          font-size: min(2.22222vw, 32px);
          line-height: min(3.95833vw, 57px);
          padding-left: min(.55556vw, 8px);
          padding-right: min(.27778vw, 4px);
        }
      }

      .w2_plan_list_item_text1::after {
        width: min(5.55556vw, 80px);
        height: 2px;
        margin-left: min(-2.77778vw, -40px);
      }

      .w2_plan_list_item_text2 {
        margin-bottom: min(1.11111vw, 16px);
        padding-top: min(1.38889vw, 20px);
        padding-bottom: min(.97222vw, 14px);
        width: min(21.59722vw, 100%);
        height: min(5.55556vw, 80px);
        font-size: min(1.25vw, 18px);
        line-height: min(2.22222vw, 32px);
      }

      .w2_plan_list_item_image {
        width: 21.59722vw;
        margin-bottom: 1.38889vw;
      }

      .w2_plan_list_item_button {
        padding-bottom: 0;

        .w2_common_button {
          width: 100%;
        }
      }

      .w2_plan_feature-list {
        margin-bottom: min(calc((60 / 1440 * 100) * 1vw), 60px);
      }

      .w2_plan_footer_button {
        margin-bottom: 4.16667vw;
        display: flex;
        justify-content: center;
        align-items: center;
      }
    }
  }

  #follow-button {
    display: none;
  }

  .w2_page-repeat-food::before {
    width: 90.69444vw;
    height: 115.41667vw;
    background-image: url(../../img/static/repeat-food/bg1.png);
    background-size: 100% 100%;
    content: "";
    position: absolute;
    top: 0vw;
    left: 0;
    z-index: -1;
  }
}

@media (min-width: 1440px) {
  .w2_page-repeat-food {
    .w2_about {
      margin-bottom: 86px;

      .w2_about_text_container {
        margin-right: 58px;
      }

      .w2_about_title {
        line-height: 1.5 !important;
      }

      .n_about_lead {
        margin-top: 29px;
        margin-bottom: 0;
      }

      .n_about_lead_text {
        font-size: 24px;
        margin-right: 29px;
      }
    }

    .w2_firstview {
      margin-bottom: 0;

      .w2_container {
        padding-bottom: 0;
      }
    }

    .w2_patterns {
      .w2_patterns_scroll {
        .w2_patterns_scroll_inner {
          margin-bottom: 40px;
        }
      }
    }

    .w2_plan {
      .w2_plan_list_item_text2 {
        width: auto;
      }
    }
  }
}

.w2_plan .w2_container .w2_content .w2_right_content .w2_plan_list .w2_plan_list_item .w2_plan_list_item_inner .w2_plan_list_item_text2 {
  height: auto;
}