html {
  font-size: 100%;
}

/* スマホデザインが414pxで作られている場合の,rem可変を同倍率可変にする場合は有効・不要なら削除 */
@media screen and (max-width: 767.98px) {
  html {
    font-size: 3.8647342995vw;
  }
}

:where(.hiccomi) img {
  width: 100%;
}

.hiccomi {
}

/* ここにPCを時の背景 */
.hiccomi:before {
  content: "";
  background-image: url(../img/pc-bg.jpg);
  background-size: cover;
  width: 100%;
  height: 100vh;
  position: fixed;
  z-index: -1;
}

.hiccomi__inner {
  list-style: none;
  display: flex;
  justify-content: center;
  width: 85%;
  margin-inline: auto;
  /* width: 66%; */
  max-width: 1076px;
  min-height: 100vh;
}

.hiccomi-pc-logo {
  position: fixed;
  top: 6%;
  left: 2%;
}

.hiccomi-pc-logo__img {
  width: 100px;
  height: 50px;
  background-color: Yellow;
}

.hiccomi-pc-left {
  /* margin-right: 8.3%; */
  flex: 1;
  min-width: 0;
}

@media screen and (max-width: 1000.98px) {
  .hiccomi-pc-left {
    display: none;
  }
}

.hiccomi-pc-left__inner {
  position: sticky;
  top: 50vh;
  transform: translateY(-56%);
  max-width: 404px;
  margin-right: min(5.8vw, 20%);
  max-height: 90vh;
  aspect-ratio: 404 /733;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  /* margin-inline: auto; */
  /* margin-right: 89px; */
}
.hiccomi-pc-left__img {
  /* 画像は親要素の幅を超えない */
  /* かつビューポートの高さも超えない */
  /* 幅・高さは自動計算（比率維持） */
  /* デフォルトの表示サイズ */
  /* width: 300px; */
  /* height: 500px; */
  /* 親要素の幅に基づく最大幅（これを超えない） */
  /* max-width: 100%; */
  /* ビューポートの高さに基づく最大高（これを超えない） */
  max-height: 90vh;
  /* アスペクト比を維持したまま、指定領域に収まるように調整 */
  /* 画像が歪むのを防ぎます */
  object-fit: contain;
  /* ブロック要素として扱い、中央揃えなどをしやすくする場合（任意） */
  display: block;
}

.hiccomi-content {
  background: #fff;
}

.hiccomi-content__inner {
  width: 544px;
  margin-inline: auto;
  overflow: hidden;
}

.hiccomi-content__inner > * {
  position: relative;
}

.hiccomi-pc-right {
  margin-left: 10.2%;
}
.hiccomi-pc-right__inner {
  position: sticky;
  top: 50vh;
  transform: translateY(-50%);
}

.hiccomi-pc-right__img {
  width: 200px;
  height: 200px;
  max-width: 100%;
  max-height: 90vh;
  object-fit: contain;
  display: block;
}

.hiccomi-s1 {
}
.hiccomi-s2 {
}
.hiccomi-s3 {
  position: relative;
}
.hiccomi-s4 {
  position: relative;
}
.hiccomi-s5 {
}
.hiccomi-s6 {
}
.hiccomi-s7 {
}
.hiccomi-s8 {
}
.hiccomi__btn {
  width: 88%;
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.hiccomi__btn--pc {
  bottom: 2.1%;
  width: 88%;
}
.hiccomi__btn--s1 {
  top: 31.4%;
}
.hiccomi__btn--s3 {
  bottom: 0.3%;
}
.hiccomi__btn--s6 {
  bottom: 3.7%;
}
.hiccomi-footer {
  background-color: #385538;
  color: #fff;
  padding-top: 30px;
  padding-bottom: 30px;
  text-align: center;
}
.hiccomi-footer__flex {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-bottom: 0;
  font-size: 14px;
}
.hiccomi-footer a {
  text-decoration: none;
  color: #fff;
}
.hiccomi-footer__small {
  font-size: 9px;
  letter-spacing: 0.2px;
}

/* UGC */
.hiccomi-s4__review-area {
  background-color: #f1e6d2;
  padding-top: 13px;
  /* width: 90%; */
}
.hiccomi-s4__review-area #UgcCreativeReviewArea {
  /* position: absolute; */
  top: 30%;
  max-width: 510px;
  width: 78%;
}
#UgcCreativeReviewArea-comment {
  margin-top: 0;
}
.UgcCreativeReview-show {
  color: #f1e6d2;
}
.UgcCreativeReview-show span {
  /* display: none; */
  border-color: #017a33 !important;
}
#UgcCreativeReview-app_url {
  display: none;
}
.UgcCreativeReview-commentBackground {
  border: none !important;
}
.UgcCreativeReview-reviews-main_color_fill {
  fill: #017a33;
}
.UgcCreativeReview-swiper-button-common:after {
  color: #3e9c17 !important;
}
#UgcCreativeReviewArea
  button.UgcCreativeReview-review-likeBtn.UgcCreativeReview-btnColor {
  color: #017a33 !important;
}
#UgcCreativeReviewArea .UgcCreativeReview-swiper-overflow {
}
@media (max-width: 480px) {
  #UgcCreativeReviewArea .UgcCreativeReview-swiper-overflow {
    padding: 10px 31px 10px 20px;
  }
}
.UgcCreativeReview-evaluation {
  align-items: flex-start;
  margin-top: -6px;
  padding-left: 6px !important;
}

.UgcCreativeReview-mainColor {
}
.UgcCreativeReview-mainColor::before {
  color: #017a33;
}
.UgcCreativeReview-reviews-rating_item_1,
.UgcCreativeReview-reviews-rating_item_2,
.UgcCreativeReview-reviews-rating_item_3 {
  margin-bottom: 10px;
}

#UgcCreativeReviewArea .UgcCreativeReview-reviews-rating_item_1_name,
#UgcCreativeReviewArea .UgcCreativeReview-reviews-rating_item_2_name,
#UgcCreativeReviewArea .UgcCreativeReview-reviews-rating_item_3_name {
  /* display: block !important; */
  margin-bottom: 10px !important;
  /* padding-bottom: 15px !important; */
}

#UgcCreativeReviewArea .UgcCreativeReview-reviews-rating_item_1_name::after,
#UgcCreativeReviewArea .UgcCreativeReview-reviews-rating_item_2_name::after,
#UgcCreativeReviewArea .UgcCreativeReview-reviews-rating_item_3_name::after {
  content: "" !important;
  display: block !important;
  height: 8px !important;
}

@media screen and (max-width: 767.98px) {
  .hiccomi {
  }
  .hiccomi:before {
    background-image: none;
  }
  .hiccomi__inner {
    width: 100%;
    display: block;
  }

  .hiccomi-pc-logo {
    display: none;
  }

  .hiccomi-pc-left {
  }

  .hiccomi-pc-left__inner {
    display: none;
  }

  .hiccomi-content {
  }

  .hiccomi-content__inner {
    width: 100%;
  }

  .hiccomi-pc-right {
    display: none;
  }

  .hiccomi-pc-right__inner {
  }
}

@media only screen and (min-width: 768px) {
  .hiccomi-content {
    border: 3px solid #fff;
  }
}

/* 無限ループアニメーション */
.hiccomi-s1__animation {
  position: absolute;
  overflow: visible;
  top: 25%;
  width: 100%;
  left: 0;
}

.hiccomi-s1__machi {
  display: flex;
  width: fit-content;
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  /* JavaScriptでアニメーションを設定 */
  animation: hiccomi-scroll 20s linear infinite;
  transform: translateZ(0);
  gap: 0;
  margin: 0;
  padding: 0;
}

.hiccomi-s1__machi-img {
  width: 100%;
  height: auto;
  min-width: 230%;
  flex-shrink: 0;
  display: block;
  object-fit: contain;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  margin: 0;
  padding: 0;
  margin-inline: -1px;
}

/* img-04.png用の無限ループアニメーション */
.hiccomi-s1__logo-animation {
  position: absolute;
  width: 100%;
  top: 39.5%;
}
.hiccomi-s1__logo-animation-wrapper-1 {
  margin-bottom: 10px;
}
.hiccomi-s1__logo-animation-wrapper-1,
.hiccomi-s1__logo-animation-wrapper-2 {
  position: relative;
  overflow: hidden;
  width: 100%;
}

.hiccomi-s1__logo-animation-container-1 {
  display: flex;
  width: fit-content;
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
  gap: 0;
  margin: 0;
  padding: 0;
}

.hiccomi-s1__logo-animation-container-2 {
  display: flex;
  width: fit-content;
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
  gap: 0;
  margin: 0;
  padding: 0;
}

.hiccomi-s1__logo-animation-img-1,
.hiccomi-s1__logo-animation-img-2 {
  width: auto;
  height: auto;
  min-width: 245%;
  flex-shrink: 0;
  display: block;
  object-fit: contain;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  margin: 0;
  padding: 0;
  will-change: transform;
  margin-right: 7px;
}

.hiccomi-s1__hiccomikun {
  /* position: absolute; */
  /* width: 100%; */
  /* top: -154%; */
  /* top: 0; */
  bottom: -17%;
  right: 0%;
}
.hiccomi-s1__hiccomikun-img {
  animation: hiccomi-bounce 0.7s ease-in-out infinite;
  width: 45%;
  height: auto;
  display: block;
  position: absolute;
  bottom: -15%;
  left: 24%;
}

@keyframes hiccomi-scroll {
  0% {
    transform: translate3d(var(--scroll-distance, -50%), 0, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes hiccomi-scroll-logo-left {
  0% {
    transform: translate3d(var(--scroll-distance-logo-1-start, 0), 0, 0);
  }
  100% {
    transform: translate3d(var(--scroll-distance-logo-1-end, -50%), 0, 0);
  }
}

@keyframes hiccomi-scroll-logo-right {
  0% {
    transform: translate3d(var(--scroll-distance-logo-2-start, -50%), 0, 0);
  }
  100% {
    transform: translate3d(var(--scroll-distance-logo-2-end, 0), 0, 0);
  }
}

@keyframes hiccomi-bounce {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}

@keyframes hiccomi-bounce-2 {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-3px);
  }
}

@keyframes hiccomi-bounce-3 {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-1px);
  }
}

/* アニメーションのスムーズな実行のため */
.hiccomi-s1__machi-img {
  will-change: transform;
}

/* 追従ボタン */
.hiccomi-follow {
  display: none;
}

@media screen and (max-width: 1000.98px) {
  .hiccomi-follow {
    display: block;
    position: fixed;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000;
    opacity: 1;
    transition: opacity 0.2s ease;
    width: 88%;
    max-width: 500px;
  }

  .hiccomi-follow.hide {
    opacity: 0;
    pointer-events: none;
  }

  .hiccomi__btn--follow {
    width: 100%;
    position: static;
    transform: none;
    margin-inline: auto;
    display: block;
  }

  .hiccomi__btn--follow img {
    width: 100%;
    height: auto;
  }
}

.hiccomi-s1__hiccomikun-koe {
    position: absolute;
    top: 17%;
    width: 27%;
    left: 4.2%;
    /* animation: hiccomi-koe-appear 2s ease-in-out infinite; */
    /* opacity: 0; */
    animation: hiccomi-bounce-3 0.7s ease-in-out infinite 0.1s;
}

@keyframes hiccomi-koe-appear {
    0% {
        opacity: 0;
        transform: translate(10px, 10px);
    }
    40% {
        opacity: 1;
        transform: translate(0, 0);
    }
    70% {
        opacity: 1;
        transform: translate(0, 0);
    }
    100% {
        opacity: 0;
        transform: translate(0px, 10px);
    }
}
.hiccomi-s1__hiccomikun-ko-img {
    width: 17.5%;
    bottom: -15%;
    position: absolute;
}
.hiccomi-s1__hiccomikun-ko-img:nth-of-type(2){
    left: 71%;
    animation: hiccomi-bounce-2 0.7s ease-in-out infinite 0.2s;
}
.hiccomi-s1__hiccomikun-ko-img:nth-of-type(3){
    left: 92%;
    animation: hiccomi-bounce-2 0.7s ease-in-out infinite 0.1s;
}
