/*
* top.css
*
*/
/* --------------------------------
  top
-------------------------------- */
.kv {
  display: flex;
  overflow: hidden;
  align-items: center;
  flex-flow: column;
  position: relative;
  height: 50vw;
}
@media (max-width: 767.98px) {
  .kv {
    height: 160vw;
  }
}
.kv img {
  width: 100%;
}
.kv .kv_text {
  opacity: 0;
  position: absolute;
  top: 1.953125vw;
  width: 87.34375vw;
}
@media (max-width: 767.98px) {
  .kv .kv_text {
    top: 16vw;
    width: 91.2vw;
  }
}
.kv .kv_image {
  opacity: 0;
  position: absolute;
  top: 3.125vw;
  width: 26.09375vw;
}
@media (max-width: 767.98px) {
  .kv .kv_image {
    top: 35.7333333333vw;
    width: 61.3333333333vw;
  }
}
.kv .kv_title {
  opacity: 0;
  position: absolute;
  bottom: 3.125vw;
  width: 57.34375vw;
}
@media (max-width: 767.98px) {
  .kv .kv_title {
    bottom: 10.6666666667vw;
    width: 76.8vw;
  }
}

/* --------------------------------
  anchor
-------------------------------- */
.anchor .anchor_inner {
  display: grid;
  position: relative;
  z-index: 4;
  margin: 0 auto;
  width: 100%;
  max-width: 65rem;
  text-align: center;

  grid-template-columns: 1fr;
  gap: 1.5rem;
  padding-block: 2.5rem 3.125rem;
  padding-inline: 1.25rem;
}
@media (max-width: 767.98px) {
  .anchor .anchor_inner {
    grid-template-rows: auto;
    grid-template-columns: initial;
    gap: 1rem;
    padding-block: 2.8125rem 3.4375rem;
    padding-inline: 1.875rem;
  }
}
.anchor .anchor_item {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 1.125rem 0;
  border-radius: 3.875rem;
  transition: filter 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  text-align: center;
  text-decoration: none;
  color: var(--color-white);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.25);

  gap: 2.8125vw;
}
@media (max-width: 767.98px) {
  .anchor .anchor_item {
    padding: 0.75rem 1.25rem;
    border-radius: 6.25rem;
    min-height: 5.625rem;

    gap: 0.75rem;
  }
}
@media (min-width: 768px) {
  .anchor .anchor_item:hover {
    filter: brightness(0.8);
  }
  .anchor .anchor_item:hover::after {
    opacity: 0;
    transition: transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1), opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
    transform: translateY(calc(-50% + 0.9375rem));
  }
  .anchor .anchor_item:hover::before {
    opacity: 1;
    transition: transform 0.3s 0.15s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.35s 0.15s cubic-bezier(0.39, 0.575, 0.565, 1);
    transform: translateY(-50%);
  }
}
.anchor .anchor_item.--left {
  background-color: #449bc7;
}
.anchor .anchor_item.--left img {
  width: 10.9375vw;
  max-width: 8.75rem;
}
@media (max-width: 767.98px) {
  .anchor .anchor_item.--left img {
    width: 24vw;
    max-width: initial;
  }
}
.anchor .anchor_item.--left .anchor_item_content {
  margin-right: 2.5rem;
}
@media (max-width: 767.98px) {
  .anchor .anchor_item.--left .anchor_item_content {
    margin-right: 1.25rem;
  }
}
.anchor .anchor_item.--right {
  padding-right: 1.5625vw;
  background-color: #a2375d;

  gap: 2.03125vw;
}
@media (max-width: 767.98px) {
  .anchor .anchor_item.--right {
    padding-right: 1.875rem;

    gap: 1rem;
  }
}
.anchor .anchor_item.--right img {
  width: 3.4375vw;
}
@media (max-width: 767.98px) {
  .anchor .anchor_item.--right img {
    width: 2.125rem;
  }
}
.anchor .anchor_item.--right .anchor_item_text_br {
  display: none;
}
@media (max-width: 968px) {
  .anchor .anchor_item.--right .anchor_item_text_br {
    display: block;
  }
}
.anchor .anchor_item::after,
.anchor .anchor_item::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 2.625rem;
  width: 0.75rem;
  height: 1.125rem;
  transform: translateY(-50%);
  background-color: var(--color-white);

  -webkit-mask-image: url("../img/common/icon_arrow.svg");

          mask-image: url("../img/common/icon_arrow.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media (max-width: 767.98px) {
  .anchor .anchor_item::after,
  .anchor .anchor_item::before {
    right: 1.375rem;
    width: 0.625rem;
    height: 0.875rem;
  }
}
.anchor .anchor_item::before {
  opacity: 0;
  transform: translateY(calc(-50% - 0.9375rem));
}
.anchor .anchor_item_content {
  display: flex;
  align-items: center;
  flex-flow: column;

  gap: 0.625rem;
}
@media (max-width: 767.98px) {
  .anchor .anchor_item_content {
    gap: 0.3125rem;
  }
}
.anchor .anchor_item_heading {
  border-bottom: 1px solid var(--color-white);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  letter-spacing: 0.92px;
  font-family: Playball, cursive;
  font-size: 1.4375rem;
  font-weight: 400;
  line-height: 1.3043478261;
}
@media (max-width: 767.98px) {
  .anchor .anchor_item_heading {
    font-size: 1rem;
  }
}
.anchor .anchor_item_text {
  letter-spacing: 0.72px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 767.98px) {
  .anchor .anchor_item_text {
    letter-spacing: 0.6px;
    font-size: 0.9375rem;
    line-height: 1.3;
  }
}

/* --------------------------------
  campaign01
-------------------------------- */
.campaign01 {
  position: relative;
  background: linear-gradient(180deg, var(--campaign01-start) 0%, var(--campaign01-end) 100%);
}
.campaign01 .campaign01_inner {
  position: relative;
  z-index: 3;
  margin: 0 auto;
  padding: 5.5rem 1.25rem 17.5rem;
  width: 100%;
  max-width: 66.25rem;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_inner {
    padding: 5rem 1.375rem 12.5rem;
  }
}
.campaign01 .campaign01_obj .campaign01_obj_fruit {
  position: absolute;
  z-index: -1;
  pointer-events: none;
}
.campaign01 .campaign01_obj .campaign01_obj_fruit.--fruit01 {
  top: -7.8125rem;
  left: -13.4375rem;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_obj .campaign01_obj_fruit.--fruit01 {
    top: -2.1875rem;
    left: -3.5rem;
    width: 11.25rem;
  }
}
.campaign01 .campaign01_obj .campaign01_obj_fruit.--fruit02 {
  top: 40.625rem;
  right: -21.25rem;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_obj .campaign01_obj_fruit.--fruit02 {
    top: 58rem;
    right: -7.5rem;
    width: 14.375rem;
  }
}
.campaign01 .campaign01_obj .campaign01_obj_fruit.--fruit03 {
  top: 75.625rem;
  left: -25rem;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_obj .campaign01_obj_fruit.--fruit03 {
    z-index: 3;
    top: 105.625rem;
    left: -8.125rem;
    width: 20.125rem;
  }
}
.campaign01 .campaign01_obj .campaign01_obj_fruit.--fruit04 {
  top: 97.375rem;
  right: -16.5625rem;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_obj .campaign01_obj_fruit.--fruit04 {
    z-index: 3;
    top: 136.875rem;
    right: -7.1875rem;
    width: 22.1875rem;
  }
}
.campaign01 .campaign01_obj .campaign01_obj_fruit.--fruit05 {
  top: 123.375rem;
  left: -25.3125rem;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_obj .campaign01_obj_fruit.--fruit05 {
    top: 247.1875rem;
    left: -10rem;
    width: 23.25rem;
  }
}
.campaign01 .campaign01_obj .campaign01_obj_fruit.--fruit06 {
  top: 156.25rem;
  right: -18.75rem;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_obj .campaign01_obj_fruit.--fruit06 {
    top: 264.125rem;
    right: -3.75rem;
    width: 13.875rem;
  }
}
.campaign01 .campaign01_obj .campaign01_obj_fruit.--bubble01 {
  top: 43.75rem;
  left: -8.75rem;
  width: 21rem;
}
.campaign01 .campaign01_obj .campaign01_obj_fruit.--bubble02 {
  top: 182.8125rem;
  left: -9.375rem;
  width: 26.4375rem;
}
.campaign01 .campaign01_detail {
  display: flex;
  align-items: center;
  flex-flow: column;
  position: relative;
  z-index: 1;
  text-align: center;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_detail {
    padding-bottom: 19.5625rem;
  }
}
.campaign01 .campaign01_detail_obj .campaign01_detail_micho {
  position: absolute;
  z-index: -1;
}
.campaign01 .campaign01_detail_obj .campaign01_detail_micho.--micho01 {
  top: 2.3125rem;
  right: 6.0625rem;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_detail_obj .campaign01_detail_micho.--micho01 {
    top: 1.875rem;
    right: 0;
    width: 3.4375rem;
  }
}
.campaign01 .campaign01_detail_obj .campaign01_detail_micho.--micho02 {
  bottom: 1.5625rem;
  left: -1.25rem;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_detail_obj .campaign01_detail_micho.--micho02 {
    bottom: 10.625rem;
    left: 3.125rem;
    width: 4.375rem;
  }
}
.campaign01 .campaign01_detail_obj .campaign01_detail_micho.--micho03 {
  right: -5.3125rem;
  bottom: 1.875rem;
}
@media (max-width: 1212px) {
  .campaign01 .campaign01_detail_obj .campaign01_detail_micho.--micho03 {
    right: -2.5rem;
    bottom: -1.25rem;
  }
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_detail_obj .campaign01_detail_micho.--micho03 {
    right: 3.75rem;
    bottom: 3.3125rem;
    width: 6.875rem;
  }
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_detail_heading {
    margin: 0 auto;
    width: 10rem;
  }
}
.campaign01 .campaign01_detail_text.campaign01_detail_text--01 {
  margin-top: 1.625rem;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_detail_text.campaign01_detail_text--01 {
    margin: 1.25rem auto 0;
    width: 11.875rem;
  }
}
.campaign01 .campaign01_detail_text.campaign01_detail_text--02 {
  margin-top: 2.1875rem;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_detail_text.campaign01_detail_text--02 {
    margin: 1.5rem auto 0;
    width: 12.5rem;
  }
}
.campaign01 .campaign01_detail_text.campaign01_detail_text--03 {
  margin-top: 0.9375rem;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_detail_text.campaign01_detail_text--03 {
    margin: 0.9375rem auto 0;
    width: 18.625rem;
  }
}
.campaign01 .campaign01_detail_text.campaign01_detail_text--04 {
  margin-top: 0.375rem;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_detail_text.campaign01_detail_text--04 {
    margin: 0.5rem auto 0;
    width: 20rem;
  }
}
.campaign01 .campaign01_detail_date {
  margin-top: 1.375rem;
  padding: 0.625rem 2.1875rem 0.625rem;
  border-radius: 0.625rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: var(--color-white);
  text-align: center;
  letter-spacing: 0.72px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;

  margin-inline: auto;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_detail_date {
    margin-top: 1.0625rem;
    padding: 0.875rem 0.1875rem;
    border-radius: 0.375rem;
    width: 100%;
    font-size: 1rem;
    line-height: 1.2;
  }
  .campaign01 .campaign01_detail_date span {
    font-size: 0.875rem;
  }
}
.campaign01 .campaign01_detail_caption {
  margin-top: 2.5rem;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 2.1111111111;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_detail_caption {
    margin-top: 1.625rem;
    font-size: 0.9375rem;
    line-height: 2;
  }
}
.campaign01 .campaign01_detail_caption strong {
  padding-bottom: 0.125rem;
  transition: background-size 0.4s 0.3s cubic-bezier(0.6, 0.04, 0.98, 0.335);
  background-image: linear-gradient(to right, #449bc7, #449bc7);
  background-repeat: no-repeat;
  background-position: calc(0% + 0.625rem) bottom;
  background-size: 0 0.25rem;
  font-size: 1.3125rem;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_detail_caption strong {
    background-position: calc(0% + 0.625rem) bottom;
    font-size: 1.125rem;
  }
}
.campaign01 .campaign01_detail_caption.is-active strong {
  background-size: calc(100% - 1.25rem) 0.25rem;
}
.campaign01 .campaign01_swiper_main {
  margin-top: 5rem;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_swiper_main {
    margin-top: 0;
  }
}
.campaign01 .campaign01_swiper_main .swiper-slide {
  position: relative;
}
.campaign01 .campaign01_swiper_main .swiper-slide img {
  border-radius: 0.625rem;
  width: 100%;
  height: 100%;

  -o-object-fit: cover;

     object-fit: cover;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_swiper_main .swiper-slide img {
    border-radius: 0.375rem;
  }
}
.campaign01 .campaign01_swiper_thumb {
  margin-top: 0.9375rem;
  max-width: 47.125rem;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_swiper_thumb {
    margin-top: 0.3125rem;
    max-width: initial;
  }
}
.campaign01 .campaign01_swiper_thumb .swiper-slide img {
  border-radius: 0.625rem;
  width: 100%;
  height: 100%;
  cursor: pointer;
  transition: filter 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);

  filter: brightness(0.5);
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_swiper_thumb .swiper-slide img {
    border-radius: 0.375rem;
    height: 1.5625rem;
  }
}
@media (min-width: 768px) {
  .campaign01 .campaign01_swiper_thumb .swiper-slide img:hover {
    filter: brightness(1);
  }
}
.campaign01 .campaign01_swiper_thumb .swiper-slide.swiper-slide-thumb-active img {
  filter: brightness(1);
}
.campaign01 .campaign01_place {
  display: grid;
  position: relative;
  z-index: 3;
  margin-top: 3.5625rem;

  grid-template-columns: repeat(2, 1fr);
  gap: 2.0625rem;
}
@media (max-width: 1080px) {
  .campaign01 .campaign01_place {
    grid-template-columns: initial;
  }
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_place {
    margin-top: 3rem;

    gap: 1rem;
  }
}
.campaign01 .campaign01_place_item {
  display: flex;
  position: relative;
  z-index: 1;
  border-radius: 0.625rem;
  background-color: var(--color-white);
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_place_item {
    flex-flow: column;
  }
}
.campaign01 .campaign01_place_item_heading {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.625rem 0 0 0.625rem;
  width: 5.875rem;
  background-color: #449bc7;
  color: var(--color-white);
  font-size: 1.125rem;
  font-weight: 700;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_place_item_heading {
    border-radius: 0.625rem 0.625rem 0 0;
    width: 100%;
  }
}
.campaign01 .campaign01_place_item_text {
  display: flex;
  flex-flow: column;
  justify-content: center;
  padding: 0.625rem 1.25rem;
  white-space: nowrap;
  letter-spacing: 0.64px;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.2;

  gap: 0.5rem;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_place_item_text {
    margin: 0 auto;
    max-width: 13.75rem;
    text-align: center;
    font-size: 1rem;
    line-height: 1.3;

    gap: 0.875rem;
  }
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_place_item_text .place {
    margin-top: -0.625rem;
    font-size: 0.875rem;
  }
}
.campaign01 .campaign01_place_item_text small {
  font-size: 0.75rem;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_place_item_text small {
    display: block;
    margin-top: -0.3125rem;
    font-size: 0.75rem;
  }
}
.campaign01 .campaign01_place_item_text.--place {
  max-width: initial;
}
.campaign01 .campaign01_place_notice {
  position: relative;
  z-index: 4;
  margin-top: 0.8125rem;
  letter-spacing: 0.56px;
  font-size: 0.875rem;
  font-weight: 500;
  font-style: normal;
  line-height: 1.8;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_place_notice {
    margin-top: 0.625rem;
    letter-spacing: 0;
    font-size: 0.75rem;
    line-height: 1.6666666667;
  }
}
.campaign01 .campaign01_bpc {
  position: relative;
  z-index: 2;
  margin: 4.375rem auto 0;
  padding: 1.875rem;
  border-radius: 0.625rem;
  max-width: 48.625rem;
  background: #f6f4f1;
  text-align: center;
  box-shadow: 0 0 0.9375rem 0.3125rem #c4e5eb;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_bpc {
    margin-top: 3.4375rem;
    padding: 2.8125rem 0;
    border-radius: 0.375rem;
  }
}
.campaign01 .campaign01_bpc_heading {
  margin: 0 auto;
  padding: 0 1.25rem 0.1875rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: linear-gradient(90deg, #a8dff1 2.04%, #f5f3d5 91.43%);
  text-align: center;
  letter-spacing: 0.72px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.8;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_bpc_heading {
    padding: 0.375rem 0 0.5625rem;
    width: calc(100% - 1.625rem);
    line-height: 1.3333333333;
  }
}
.campaign01 .campaign01_bpc_text {
  margin-top: 1.125rem;
  letter-spacing: 0.6px;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 2.2666666667;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_bpc_text {
    margin-top: 1.25rem;
    font-size: 0.875rem;
    line-height: 2;
  }
}
.campaign01 .campaign01_bpc_link {
  display: inline-block;
  position: relative;
  margin-top: 1.875rem;
  text-decoration: none;
  letter-spacing: 0.56px;
  color: var(--color-black);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 2.2666666667;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_bpc_link {
    margin-top: 1.25rem;
    font-size: 0.875rem;
    line-height: 1.7692307692;
  }
}
.campaign01 .campaign01_bpc_link::after {
  content: "";
  display: inline-block;
  margin-left: 0.3125rem;
  width: 0.625rem;
  height: 0.625rem;
  transform: translateY(-50%);
  background-color: var(--color-black);
  vertical-align: text-bottom;

  -webkit-mask-image: url("../img/common/icon_blank.svg");

          mask-image: url("../img/common/icon_blank.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.campaign01 .campaign01_point {
  position: relative;
  z-index: 4;
}
.campaign01 .campaign01_flow {
  margin-top: 5rem;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_flow {
    margin-top: 4.8125rem;
  }
}
.campaign01 .campaign01_flow_steps {
  display: grid;
  margin-top: 2.1875rem;

  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_flow_steps {
    margin-top: 1.5625rem;

    grid-template-columns: initial;
    gap: 1.5625rem;
  }
}
.campaign01 .campaign01_flow_heading {
  margin: 0 auto;
  width: 12.125rem;
}
.campaign01 .campaign01_flow_steps_item {
  display: grid;
  padding: 2.5rem 1.5rem;
  border-radius: 0.375rem;
  background-color: var(--color-white);

  grid-template-columns: 11.5rem 1fr;
  gap: 0 1.5rem;
}
@media (max-width: 968px) {
  .campaign01 .campaign01_flow_steps_item {
    grid-template-columns: 1fr;
    gap: 1rem 0;
  }
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_flow_steps_item {
    padding: 1.25rem 1.5rem 3rem;
  }
}
.campaign01 .campaign01_flow_steps_item_head {
  display: flex;
  align-items: center;
  flex-flow: column;

  gap: 0.625rem;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_flow_steps_item_head {
    gap: 0.25rem;
  }
}
.campaign01 .campaign01_flow_steps_item_number {
  text-align: center;
  letter-spacing: 1.28px;
  font-family: Playball;
  font-size: 2rem;
  font-weight: 400;
  font-style: normal;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_flow_steps_item_number {
    font-size: 1.625rem;
  }
}
.campaign01 .campaign01_flow_steps_item_detail {
  display: flex;
  align-items: center;
  flex-flow: column;
  justify-content: center;
}
.campaign01 .campaign01_flow_steps_item_detail_heading {
  text-align: center;
  letter-spacing: 0.72px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5555555556;
}
.campaign01 .campaign01_flow_steps_item_detail_heading mark {
  padding-bottom: 1px;
  border-bottom: 2px solid;
  background-color: transparent;
  color: var(--color-black);
}
.campaign01 .campaign01_flow_steps_item_detail_heading_br--hidden {
  display: block;
}
.campaign01 .campaign01_flow_steps_item_detail_heading_br--visible {
  display: none;
}
@media (max-width: 968px) {
  .campaign01 .campaign01_flow_steps_item_detail_heading_br--hidden {
    display: none;
  }
  .campaign01 .campaign01_flow_steps_item_detail_heading_br--visible {
    display: block;
  }
}
.campaign01 .campaign01_flow_steps_item_detail_sub {
  margin-top: 0.8125rem;
  padding: 0 1.25rem 0.1875rem;
  width: 100%;
  background: linear-gradient(90deg, #a8dff1 2.04%, #f5f3d5 91.43%);
  text-align: center;
  letter-spacing: 0.72px;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.8;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_flow_steps_item_detail_sub {
    margin-top: 1rem;
  }
}
.campaign01 .campaign01_flow_steps_item_detail_text {
  margin-top: 0.875rem;
  max-width: 13.4375rem;
  letter-spacing: 0.48px;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.2;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_flow_steps_item_detail_text {
    margin-top: 1.125rem;
    max-width: initial;
    font-size: 0.8125rem;
    line-height: 1.3846153846;
  }
}
.campaign01 .campaign01_flow_steps_item_detail_notice {
  margin-top: 0.875rem;
  letter-spacing: 0.4px;
  font-size: 0.625rem;
  font-weight: 500;
  line-height: 1.2;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_flow_steps_item_detail_notice {
    margin-top: 1.125rem;
    font-size: 0.75rem;
    line-height: 1.3333333333;
  }
}
.campaign01 .campaign01_flow_steps_item_detail_notice + .campaign01_flow_steps_item_detail_notice {
  margin-top: 0.5rem;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_flow_steps_item_detail_notice + .campaign01_flow_steps_item_detail_notice {
    margin-top: 0.625rem;
  }
}
.campaign01 .campaign01_flow_steps_item_detail_sns {
  display: flex;
  align-items: center;
  flex-flow: column;
  justify-content: center;
  margin-top: 0.625rem;
  width: 100%;

  gap: 0.5rem;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_flow_steps_item_detail_sns {
    margin-top: 1.125rem;
  }
}
.campaign01 .campaign01_flow_steps_item_detail_sns p {
  font-size: 0.75rem;
  font-weight: 500;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_flow_steps_item_detail_sns p {
    font-size: 0.875rem;
  }
}
.campaign01 .campaign01_flow_steps_item_detail_sns_button {
  max-width: 12.8125rem;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_flow_steps_item_detail_sns_button {
    max-width: 14.875rem;
  }
}
.campaign01 .campaign01_terms {
  position: relative;
  z-index: 2;
  margin-top: 3.25rem;
}
@media (max-width: 767.98px) {
  .campaign01 .campaign01_terms {
    margin-top: 2.25rem;
  }
}

/* --------------------------------
  post
-------------------------------- */
.post {
  position: relative;
  z-index: 2;
}
.post .post_inner {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  padding: 0 1.25rem 7rem;
  width: 100%;
  max-width: 66.25rem;
}
@media (max-width: 767.98px) {
  .post .post_inner {
    padding: 0 1.25rem 5.5rem;
  }
}
.post .post_obj_fruit {
  position: absolute;
  z-index: -1;
  pointer-events: none;
}
.post .post_obj_fruit.--fruit01 {
  top: -37.9375rem;
  left: -14.375rem;
}
@media (max-width: 767.98px) {
  .post .post_obj_fruit.--fruit01 {
    top: -21.25rem;
    left: -6rem;
    width: 19.4375rem;
  }
}
.post .post_obj_fruit.--fruit02 {
  top: 58.625rem;
  right: -13.75rem;
}
@media (max-width: 767.98px) {
  .post .post_obj_fruit.--fruit02 {
    display: none;
    top: 46.875rem;
    right: -5rem;
    width: 15.25rem;
  }
}
.post .post_heading {
  text-align: center;
}
@media (max-width: 767.98px) {
  .post .post_heading {
    margin: 0 auto;
    width: 16.375rem;
  }
}
.post .post_date {
  margin: 1.25rem auto 0;
  padding: 0.625rem 1.625rem;
  border-radius: 0.625rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #fef7e5;
  text-align: center;
  letter-spacing: 0.72px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;

  font-feature-settings: "palt";
}
@media (max-width: 767.98px) {
  .post .post_date {
    padding: 0.875rem 0.1875rem;
    width: 100%;
    font-size: 1rem;
    line-height: 1.2;
  }
  .post .post_date span {
    font-size: 0.875rem;
  }
}
.post .post_sns_list {
  display: grid;
  margin-top: 3.25rem;
  max-width: 48rem;

  grid-template-columns: repeat(2, 1fr);
  gap: 2.25rem;
  margin-inline: auto;
}
@media (max-width: 968px) {
  .post .post_sns_list {
    grid-template-columns: initial;
  }
}
@media (max-width: 767.98px) {
  .post .post_sns_list {
    margin-top: 3.75rem;
    max-width: initial;

    gap: 1.25rem;
  }
}

/* --------------------------------
  campaign02
-------------------------------- */
.campaign02 {
  position: relative;
  z-index: 0;
}
@media (max-width: 767.98px) {
  .campaign02 {
    z-index: initial;
  }
}
.campaign02 .campaign02_comingsoon {
  text-align: center;
}
.campaign02 .campaign02_inner {
  margin: 0 auto;
  padding: 11.875rem 1.25rem 17.5rem;
  width: 100%;
  max-width: 66.25rem;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_inner {
    padding: 8.75rem 1.375rem 14.375rem;
  }
}
.campaign02 .campaign02_obj_fruit {
  position: absolute;
  z-index: -1;
  pointer-events: none;
}
.campaign02 .campaign02_obj_fruit.--fruit01 {
  top: -24rem;
  left: -17.3125rem;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_obj_fruit.--fruit01 {
    top: -7.5rem;
    left: -6.25rem;
    width: 19.625rem;
  }
}
.campaign02 .campaign02_obj_fruit.--fruit02 {
  top: -6.125rem;
  right: -11.875rem;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_obj_fruit.--fruit02 {
    top: 134.375rem;
    right: -3.3125rem;
    width: 13.875rem;
  }
}
.campaign02 .campaign02_obj_fruit.--fruit03 {
  top: 64.0625rem;
  left: -25.625rem;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_obj_fruit.--fruit03 {
    top: initial;
    bottom: 19.1875rem;
    left: -10.375rem;
  }
}
.campaign02 .campaign02_detail {
  display: flex;
  align-items: center;
  flex-flow: column;
  text-align: center;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_detail_heading {
    margin: 0 auto;
    width: 10rem;
  }
}
.campaign02 .campaign02_detail_sub {
  margin-top: 1.25rem;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_detail_sub {
    margin-top: 1.875rem;
  }
}
.campaign02 .campaign02_detail_text {
  margin-top: 1.875rem;
  text-align: center;
  letter-spacing: 0.72px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.8;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_detail_text {
    margin-top: 1.75rem;
    letter-spacing: -0.32px;
    font-size: 1rem;
  }
}
.campaign02 .campaign02_detail_date {
  margin-top: 1.375rem;
  padding: 0.625rem 2.1875rem 0.625rem;
  border-radius: 0.625rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: var(--color-white);
  text-align: center;
  letter-spacing: 0.72px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;

  margin-inline: auto;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_detail_date {
    margin-top: 1.0625rem;
    padding: 0.875rem 0.1875rem;
    border-radius: 0.375rem;
    width: 100%;
    font-size: 1rem;
    line-height: 1.2;
  }
  .campaign02 .campaign02_detail_date span {
    font-size: 0.875rem;
  }
}
.campaign02 .campaign02_detail_q {
  margin-top: 2.5rem;
}
.campaign02 .campaign02_original {
  margin-top: 1.875rem;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_original {
    margin-top: 1.5625rem;
  }
}
.campaign02 .campaign02_original_heading {
  width: 100%;
  text-align: center;
}
.campaign02 .campaign02_original_heading img {
  width: 100%;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_original_heading img {
    width: 19.625rem;
  }
}
.campaign02 .campaign02_original_list {
  display: grid;
  margin-top: 1.5625rem;

  grid-template-columns: repeat(4, 1fr);
  gap: 1.875rem;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_original_list {
    margin-top: 1.25rem;

    grid-template-columns: repeat(2, 1fr);
    gap: 1.875rem 1rem;
  }
}
.campaign02 .campaign02_original_item {
  position: relative;
  z-index: 1;
}
.campaign02 .campaign02_original_item:nth-of-type(1)::before {
  content: "01";
  position: absolute;
  z-index: -1;
  top: -0.75rem;
  left: 0;
  width: 100%;
  height: 100%;
  letter-spacing: 3.2px;
  color: var(--color-white);
  font-family: Playball, sans-serif;
  font-size: 5rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_original_item:nth-of-type(1)::before {
    top: -0.625rem;
    left: 0;
    font-size: 3.75rem;
  }
}
.campaign02 .campaign02_original_item:nth-of-type(2)::before {
  content: "02";
  position: absolute;
  z-index: -1;
  top: -0.75rem;
  left: 0;
  width: 100%;
  height: 100%;
  letter-spacing: 3.2px;
  color: var(--color-white);
  font-family: Playball, sans-serif;
  font-size: 5rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_original_item:nth-of-type(2)::before {
    top: -0.625rem;
    left: 0;
    font-size: 3.75rem;
  }
}
.campaign02 .campaign02_original_item:nth-of-type(3)::before {
  content: "03";
  position: absolute;
  z-index: -1;
  top: -0.75rem;
  left: 0;
  width: 100%;
  height: 100%;
  letter-spacing: 3.2px;
  color: var(--color-white);
  font-family: Playball, sans-serif;
  font-size: 5rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_original_item:nth-of-type(3)::before {
    top: -0.625rem;
    left: 0;
    font-size: 3.75rem;
  }
}
.campaign02 .campaign02_original_item:nth-of-type(4)::before {
  content: "04";
  position: absolute;
  z-index: -1;
  top: -0.75rem;
  left: 0;
  width: 100%;
  height: 100%;
  letter-spacing: 3.2px;
  color: var(--color-white);
  font-family: Playball, sans-serif;
  font-size: 5rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_original_item:nth-of-type(4)::before {
    top: -0.625rem;
    left: 0;
    font-size: 3.75rem;
  }
}
.campaign02 .campaign02_original_item:nth-of-type(even) {
  margin-top: 4.8125rem;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_original_item:nth-of-type(even) {
    margin-top: 0rem;
  }
}
.campaign02 .campaign02_original_item_image {
  text-align: center;
}
.campaign02 .campaign02_original_item_image img {
  height: 15.625rem;

  -o-object-fit: contain;

     object-fit: contain;
  -o-object-position: bottom;
     object-position: bottom;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_original_item_image img {
    margin-right: 0.625rem;
    height: 10.75rem;
  }
}
.campaign02 .campaign02_original_item_detail {
  margin-top: 1.25rem;
  padding: 0.125rem;
  border-radius: 0.625rem;
  background: linear-gradient(to bottom, #ffdbdd, #e9e8ff);
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_original_item_detail {
    margin-top: 0.625rem;
    border-radius: 0.375rem;
  }
}
.campaign02 .campaign02_original_item_detail_wrap {
  padding: 1.25rem;
  border-radius: 0.625rem;
  background-color: var(--color-white);
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_original_item_detail_wrap {
    padding: 0.9375rem 0.625rem 0.875rem;
    border-radius: 0.375rem;
  }
}
.campaign02 .campaign02_original_item_heading {
  text-align: center;
  letter-spacing: 0.72px;
  color: #a2375d;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 120%;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_original_item_heading {
    letter-spacing: 0.56px;
    font-size: 0.875rem;
  }
}
.campaign02 .campaign02_original_item_tags {
  display: grid;
  margin-top: 0.9375rem;

  grid-template-columns: repeat(2, auto);
  gap: 0.375rem;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_original_item_tags {
    justify-content: center;
    margin-top: 0.625rem;

    grid-template-columns: initial;
    gap: 0.375rem;
  }
}
.campaign02 .campaign02_original_item_tag {
  padding: 0.125rem 0.3125rem;
  width: 100%;
  background-color: #a2375d;
  text-align: center;
  letter-spacing: 0.56px;
  color: var(--color-white);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.2;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_original_item_tag {
    margin: 0 auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    letter-spacing: 0.48px;
    font-size: 0.75rem;
    line-height: 1.3;
  }
}
.campaign02 .campaign02_product {
  margin-top: 5.4375rem;
  padding: 2.75rem;
  border-radius: 0.625rem;
  max-width: 48.5rem;
  background-color: #fff;

  margin-inline: auto;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_product {
    margin-top: 4rem;
    padding: 1.875rem 1.875rem 3.125rem;
    border-radius: 0.375rem;
    max-width: initial;
  }
}
.campaign02 .campaign02_product_heading {
  text-align: center;
}
.campaign02 .campaign02_product_list {
  display: grid;
  margin-top: 3.125rem;

  grid-template-columns: 26.25rem auto;
  gap: 2.1875rem;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_product_list {
    grid-template-columns: initial;
    gap: 2.375rem;
  }
}
.campaign02 .campaign02_product_item {
  display: flex;
  align-items: center;
  flex-flow: column;
  justify-content: center;
  position: relative;
  padding: 2.625rem 2.625rem 1.375rem;
  border-radius: 0.625rem;
  background-color: #f2e8ec;
  text-align: center;
}
@media (max-width: 968px) {
  .campaign02 .campaign02_product_item {
    padding: 1.25rem;
  }
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_product_item {
    padding: 1.875rem;
    border-radius: 0.375rem;
  }
  .campaign02 .campaign02_product_item:first-child {
    padding-top: 3.75rem;
  }
}
@media (min-width: 768px) {
  .campaign02 .campaign02_product_item:nth-of-type(2) {
    padding-bottom: 2.0625rem;
  }
}
.campaign02 .campaign02_product_item:nth-of-type(2) .campaign02_product_item_title {
  margin-top: 0.3125rem;
}
@media (min-width: 768px) {
  .campaign02 .campaign02_product_item:nth-of-type(2) .campaign02_product_item_title {
    margin-top: 1.25rem;
  }
}
.campaign02 .campaign02_product_item_a,
.campaign02 .campaign02_product_item_b {
  position: absolute;
  top: -1.625rem;
  left: -1.625rem;
  width: 8.75vw;
  max-width: 7rem;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_product_item_a,
  .campaign02 .campaign02_product_item_b {
    top: -1.25rem;
    left: -1.25rem;
    width: 5.25rem;
    max-width: initial;
  }
}
.campaign02 .campaign02_product_item_image {
  height: 14.0625vw;
  max-height: 11.25rem;
  text-align: center;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_product_item_image {
    height: auto;
    max-height: initial;
  }
}
.campaign02 .campaign02_product_item_image img {
  height: 100%;

  -o-object-fit: contain;

     object-fit: contain;
}
.campaign02 .campaign02_product_item_image.--image01 {
  padding-left: 1.875rem;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_product_item_image.--image01 {
    padding-left: 0;
  }
}
.campaign02 .campaign02_product_item_title {
  letter-spacing: 0.96px;
  color: #a2375d;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 135%;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_product_item_title {
    letter-spacing: 0.64px;
    font-size: 1rem;
    font-weight: 700;
    line-height: 160%;
  }
}
.campaign02 .campaign02_product_item_tag {
  margin: 0.625rem auto 0.3125rem;
  padding: 0 0.625rem;
  border-radius: 0.375rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: #fff;
  color: #31130c;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 170%;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_product_item_tag {
    border-radius: 0.25rem;
    font-size: 0.75rem;
  }
}
.campaign02 .campaign02_product_item_tag span {
  color: #a2375d;
}
.campaign02 .campaign02_product_item_text {
  margin-top: 0.625rem;
  text-align: left;
  letter-spacing: 0.56px;
  color: #a2375d;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 160%;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_product_item_text {
    margin-top: 0.3125rem;
    text-align: center;
    letter-spacing: 0.52px;
    font-size: 0.8125rem;
    font-weight: 700;
  }
}
.campaign02 .campaign02_product_notice {
  margin-top: 1.25rem;
  text-align: center;
  letter-spacing: 0.48px;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 120%;
}
.campaign02 .campaign02_flow {
  margin-top: 4.6875rem;
}
.campaign02 .campaign02_flow_heading {
  margin: 0 auto;
  width: 12.1875rem;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_flow_heading {
    width: 9.25rem;
  }
}
.campaign02 .campaign02_flow_steps {
  display: grid;
  margin-top: 2rem;

  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_flow_steps {
    margin-top: 1.5625rem;

    grid-template-columns: initial;
    gap: 1.875rem;
  }
}
.campaign02 .campaign02_flow_steps_item {
  display: flex;
  align-items: center;
  flex-flow: column;
  padding: 1.875rem 1.375rem 2.5rem;
  border-radius: 0.625rem;
  background-color: var(--color-white);
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_flow_steps_item {
    padding: 1.5rem;
    padding-bottom: 2.125rem;
    border-radius: 0.375rem;

    grid-template-columns: initial;
    gap: 1rem 0;
  }
}
.campaign02 .campaign02_flow_steps_item_number {
  text-align: center;
  letter-spacing: 1.28px;
  font-family: Playball, sans-serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_flow_steps_item_number {
    letter-spacing: 1.04px;
    font-size: 1.625rem;
  }
}
.campaign02 .campaign02_flow_steps_item_image {
  margin-top: 1.25rem;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_flow_steps_item_image {
    margin-top: -0.3125rem;
  }
}
.campaign02 .campaign02_flow_steps_item_text {
  margin-top: 1.75rem;
  text-align: center;
  letter-spacing: 0.72px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5555555556;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_flow_steps_item_text {
    margin-top: 0;
    letter-spacing: 1.04px;
  }
}
.campaign02 .campaign02_flow_steps_item_sns {
  margin-top: 0.5rem;
  text-align: center;
  letter-spacing: 0.56px;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 2;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_flow_steps_item_sns {
    margin-top: -0.1875rem;
    letter-spacing: 0.56px;
  }
}
.campaign02 .campaign02_flow_steps_item_sns_button {
  margin-top: 0.375rem;
  width: 12.8125rem;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_flow_steps_item_sns_button {
    width: 14.6875rem;
  }
}
.campaign02 .campaign02_terms {
  margin-top: 3.75rem;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_terms {
    position: relative;
    z-index: 2;
  }
}
.campaign02 .campaign02_terms_link {
  margin: 0 auto 2.875rem;
  width: 23.375rem;
}
@media (max-width: 767.98px) {
  .campaign02 .campaign02_terms_link {
    margin-bottom: 1.375rem;
    width: 100%;
  }
}

/* --------------------------------
  product
-------------------------------- */
.product {
  position: relative;
  z-index: 1;
}
.product .product_inner {
  margin: 0 auto;
  padding: 0 1.25rem 4.25rem;
  width: 100%;
  max-width: 59.375rem;
}
@media (max-width: 767.98px) {
  .product .product_inner {
    padding: 0 1.875rem 3.625rem;
  }
}
.product .product_obj_fruit {
  position: absolute;
  z-index: -1;
  pointer-events: none;
}
.product .product_obj_fruit.--fruit01 {
  display: none;
  top: -33.75rem;
  right: -7.75rem;
}
@media (max-width: 767.98px) {
  .product .product_obj_fruit.--fruit01 {
    top: -20.5rem;
    right: -8.75rem;
    width: 20.375rem;
  }
}
.product .product_obj_fruit.--fruit02 {
  top: -21.75rem;
  left: -9.1875rem;
}
@media (max-width: 767.98px) {
  .product .product_obj_fruit.--fruit02 {
    top: -13.75rem;
    left: -6.25rem;
    width: 14.5rem;
  }
}
.product .product_obj_fruit.--fruit03 {
  top: -18.75rem;
  right: -11.25rem;
}
@media (max-width: 767.98px) {
  .product .product_obj_fruit.--fruit03 {
    top: -18.75rem;
    right: -10.3125rem;
    width: 21.875rem;
  }
}
.product .product_heading {
  text-align: center;
}
.product .product_text {
  margin-top: 1.875rem;
  text-align: center;
  letter-spacing: 0.72px;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 200%;
}
@media (max-width: 767.98px) {
  .product .product_text {
    margin-top: 2.25rem;
    font-size: 1rem;
    line-height: 1.7;
  }
}
.product .product_text strong {
  letter-spacing: 0.96px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 200%;
}
@media (max-width: 767.98px) {
  .product .product_text strong {
    font-size: 1.25rem;
  }
}
.product .product_list {
  display: flex;
  position: relative;
  margin-top: 1.875rem;
  max-width: 72.65625vw;

  margin-inline: auto;
}
@media (max-width: 767.98px) {
  .product .product_list {
    margin-top: 2.3125rem;
    max-width: initial;
  }
}
.product .product_list .product_item {
  position: relative;
}
.product .product_list .product_item:nth-of-type(1) {
  width: 11.25vw;
}
@media (max-width: 767.98px) {
  .product .product_list .product_item:nth-of-type(1) {
    top: 1.8666666667vw;
    left: -0.4375rem;
    width: 16.5333333333vw;

    rotate: 6deg;
  }
}
.product .product_list .product_item:nth-of-type(2) {
  left: 1.328125vw;
  margin-top: 5.3125vw;
  width: 9.765625vw;
}
@media (max-width: 767.98px) {
  .product .product_list .product_item:nth-of-type(2) {
    left: -0.8vw;
    margin-top: 11.7333333333vw;
    width: 13.8666666667vw;
  }
}
.product .product_list .product_item:nth-of-type(3) {
  left: 2.65625vw;
  width: 9.453125vw;
}
@media (max-width: 767.98px) {
  .product .product_list .product_item:nth-of-type(3) {
    left: -2.1333333333vw;
    margin-top: 1.0666666667vw;
    width: 13.8666666667vw;
  }
}
.product .product_list .product_item:nth-of-type(4) {
  left: 4.6875vw;
  margin-top: 5.3125vw;
  width: 10.703125vw;
}
@media (max-width: 767.98px) {
  .product .product_list .product_item:nth-of-type(4) {
    left: -0.5333333333vw;
    margin-top: 11.4666666667vw;
    width: 16vw;
  }
}
.product .product_list .product_item:nth-of-type(5) {
  left: 5.78125vw;
  margin-top: -1.328125vw;
  width: 9.765625vw;
}
@media (max-width: 767.98px) {
  .product .product_list .product_item:nth-of-type(5) {
    position: absolute;
    top: 0.8vw;
    right: 11.7333333333vw;
    left: initial;
    margin-top: 0;
    width: 14.6666666667vw;
  }
}
.product .product_list .product_item:nth-of-type(6) {
  left: 7.578125vw;
  margin-top: 5.859375vw;
  width: 10.859375vw;
}
@media (max-width: 767.98px) {
  .product .product_list .product_item:nth-of-type(6) {
    right: -13.3333333333vw;
    left: initial;
    margin-top: 10.6666666667vw;
    width: 16vw;
  }
}

/* --------------------------------
  contact
-------------------------------- */
.contact {
  position: relative;
  z-index: 1;
}
.contact .contact_inner {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  padding: 9.625rem 1.25rem 6.5rem;
  width: 100%;
  max-width: 50.625rem;
}
@media (max-width: 767.98px) {
  .contact .contact_inner {
    padding: 6.5625rem 1.875rem 7.8125rem;
  }
}
.contact .contact_obj_fruit {
  position: absolute;
  z-index: -1;
  pointer-events: none;
}
.contact .contact_obj_fruit.--fruit01 {
  top: -15.3125rem;
  left: -18.9375rem;
}
@media (max-width: 767.98px) {
  .contact .contact_obj_fruit.--fruit01 {
    top: -8.9375rem;
    left: -3.125rem;
    width: 12.5rem;
  }
}
.contact .contact_obj_fruit.--fruit02 {
  top: -3.375rem;
  right: -22.5rem;
}
@media (max-width: 767.98px) {
  .contact .contact_obj_fruit.--fruit02 {
    top: -4.0625rem;
    right: -5.625rem;
    width: 13.75rem;
  }
}
.contact .contact_heading,
.contact .contact_sns_heading {
  margin: 0 auto;
  text-align: center;
}
@media (max-width: 767.98px) {
  .contact .contact_heading {
    width: 9.375rem;
  }
}
.contact .contact_detail {
  margin-top: 1.5625rem;
  padding: 2.375rem 3.25rem;
  background-color: var(--color-white);
  text-align: center;
}
@media (max-width: 767.98px) {
  .contact .contact_detail {
    padding: 2.5rem 1.25rem;
  }
}
.contact .contact_detail_heading {
  position: relative;
  padding-bottom: 1.125rem;
  letter-spacing: 1.12px;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.0714285714;
}
@media (max-width: 767.98px) {
  .contact .contact_detail_heading {
    padding-bottom: 1rem;
    letter-spacing: 0.8px;
    font-size: 1.25rem;
    line-height: 1.5;
  }
}
.contact .contact_detail_heading::before,
.contact .contact_detail_heading::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--color-black);
}
.contact .contact_detail_heading::after {
  bottom: -5px;
}
.contact .contact_detail_address {
  display: flex;
  flex-flow: column;
  margin: 0 auto;
  margin-top: 1.25rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;

  gap: 1rem 2.25rem;
}
@media (max-width: 767.98px) {
  .contact .contact_detail_address {
    margin-top: 1.5rem;
    width: 100%;

    gap: 0.875rem;
  }
}
.contact .contact_detail_address a {
  display: flex;
  align-items: center;
  justify-content: left;
  text-decoration: none;
  color: var(--color-black);
  font-size: 1.875rem;
  font-weight: 600;

  gap: 1rem;
}
@media (max-width: 767.98px) {
  .contact .contact_detail_address a {
    flex-flow: column;
    font-size: 1.125rem;

    gap: 0.3125rem;
  }
}
.contact .contact_detail_address a span {
  display: inline-block;
  padding-top: 0.125rem;
  width: 5.625rem;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  background-color: var(--color-black);
  color: var(--color-white);
  font-family: Nunito;
  font-size: 1.25rem;
}
@media (max-width: 767.98px) {
  .contact .contact_detail_address a span {
    width: 100%;
    font-size: 1rem;
  }
}
@media (max-width: 767.98px) {
  .contact .contact_detail_address_mail {
    font-size: 0.9375rem !important;
  }
}
.contact .contact_detail_date {
  margin: 0 auto;
  margin-top: 0.6875rem;
  width: 36.875rem;
  text-align: left;
  white-space: nowrap;
  letter-spacing: 0.64px;
  font-size: 1.125rem;
  font-weight: 500;
}
@media (max-width: 767.98px) {
  .contact .contact_detail_date {
    margin-top: 0.9375rem;
    width: auto;
    text-align: center;
    font-size: 1rem;
  }
}
.contact .contact_detail_date + .contact_detail_date {
  margin-top: -0.1875rem;
}
@media (max-width: 767.98px) {
  .contact .contact_detail_date + .contact_detail_date {
    margin-top: 0.8125rem;
  }
}
.contact .contact_detail_date small {
  font-size: inherit;
}
@media (max-width: 767.98px) {
  .contact .contact_detail_date small {
    font-size: 0.75rem;
  }
}
.contact .contact_sns {
  margin-top: 5.25rem;
}
@media (max-width: 767.98px) {
  .contact .contact_sns {
    margin-top: 3.4375rem;
  }
}
@media (max-width: 767.98px) {
  .contact .contact_sns_heading {
    width: 17.0625rem;
  }
}
.contact .contact_sns_list {
  display: grid;
  margin-top: 1.875rem;

  grid-template-columns: repeat(2, 1fr);
  gap: 2.25rem;
}
@media (max-width: 968px) {
  .contact .contact_sns_list {
    grid-template-columns: initial;
  }
}
@media (max-width: 767.98px) {
  .contact .contact_sns_list {
    margin-top: 1.5rem;

    gap: 1.25rem;
  }
}