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;
}
/* ===== カード設置 ===== */
.lp-column-teaser {
  padding: 20px 0 10px;
}
/* ===== 一覧全体（LP下部に置いても馴染むように） ===== */
.post-list {
  width: min(1080px, 92vw);
  margin: 56px auto 40px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

/* タブレット */
@media (max-width: 900px) {
  .post-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* スマホ */
@media (max-width: 560px) {
  .post-list {
    grid-template-columns: 1fr;
    gap: 16px;
    margin: 40px auto 28px;
  }
}

/* ===== カード本体：LPの「黒アウトライン＋影」寄せ ===== */
.post-card {
  background: #fff;
  border: 2px solid #111;              /* 太め黒枠 */
  border-radius: 18px;                  /* LP系の丸角 */
  overflow: hidden;
  box-shadow: 0 10px 0 rgba(0,0,0,0.18);/* “段差”っぽい影 */
  transform: translateY(0);
  transition: transform .18s ease, box-shadow .18s ease;
}

/* hoverで“軽く持ち上がる” */
.post-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 0 rgba(0,0,0,0.18);
}

/* ===== ①タイトル ===== */
.post-card__title {
  margin: 0;
  padding: 18px 18px 10px;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.4;
  color: #111;
}

/* タイトルの下に黄色のアクセントライン（CTAの黄色寄せ） */
.post-card__title::after {
  content: "";
  display: block;
  height: 6px;
  width: 56px;
  margin-top: 10px;
  border-radius: 999px;
  background: #ffd54a; /* LPの黄色CTAの雰囲気に寄せ */ /*  [oai_citation:1‡hiccomi.com](https://hiccomi.com/wp-content/themes/cocoon-child-master/assets/img/btn.png) */
}

/* ===== ②アイキャッチ（クリックで詳細へ） ===== */
.post-card__thumb {
  display: block;
  padding: 0 18px;     /* 枠の内側に余白を作るとLPの“パネル感”が出る */
  margin-bottom: 10px;
}

.post-card__thumb img {
  width: 100%;
  display: block;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 14px;
  border: 2px solid #111; /* 画像にも黒枠で統一 */
  transition: transform .2s ease, filter .2s ease;
}

.post-card__thumb:hover img {
  transform: scale(1.02);
  filter: saturate(1.05);
}

/* サムネなしのプレースホルダーを使う場合 */
.post-card__thumb--placeholder {
  border-radius: 14px;
  border: 2px solid #111;
  background: #f1f1f1;
}

/* ===== ③本文抜粋 ===== */
.post-card__excerpt {
  padding: 0 18px 18px;
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.75;
  color: #333;
}

/* ===== もっと見る（/column/へ） ===== */
.post-list__more {
  width: min(1080px, 92vw);
  margin: 26px auto 56px;
  text-align: center;
}

/* LPのCTA（黄色＋黒文字＋黒枠＋強め影）に寄せる */
.btn-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 26px;
  border-radius: 9999px;
  border: 3px solid #111;
  background: #ffd54a;   /* CTAイメージ寄せ */ /*  [oai_citation:2‡hiccomi.com](https://hiccomi.com/wp-content/themes/cocoon-child-master/assets/img/btn.png) */
  color: #111;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 8px 0 rgba(0,0,0,0.18);
  transition: transform .18s ease, box-shadow .18s ease;
}

.btn-more:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 0 rgba(0,0,0,0.18);
}

.btn-more:active {
  transform: translateY(2px);
  box-shadow: 0 6px 0 rgba(0,0,0,0.18);
}
/* =========================================
   投稿一覧カード（LP下部用・最終版）
   全デバイスで縦並び + 視線誘導最適化
========================================= */
/* =========================================
   「コラム集」セクション見出し
========================================= */

.lp-column-heading {
  width: min(720px, 100%);
    text-align: center;
    margin: 28px auto 28px;
    /* padding-left: 4px; */
    font-size: 1.6rem;
    font-weight: 900;
    color: #111;
    line-height: 1.2;
    position: relative;
}

/* 左アクセント（LPの黒×黄色トーン） */
.lp-column-heading::before {
  content: "";
  position: absolute;
  left: -14px;
  top: 0.1em;
  width: 6px;
  height: 1.4em;
  border-radius: 999px;
  background: #111;
}

/* 下線アクセント（カードの黄色と連動） */
.lp-column-heading::after {
  content: "";
  margin: 0 auto;
  display: block;
  width: 96px;
  height: 6px;
  margin-top: 12px;
  border-radius: 999px;
  background: #ffd54a;
}

/* スマホ微調整 */
@media (max-width: 480px) {
  .lp-column-heading {
    font-size: 1.35rem;
    margin-bottom: 22px;
  }

  .lp-column-heading::after {
    width: 72px;
    height: 5px;
  }
}
/* ===== 一覧全体 ===== */
.post-list {
      padding: 0 20px;
    width: min(720px, 100%);
    margin: 56px auto 40px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
}

/* ===== カード本体 ===== */
.post-card {
  background: #fff;
  border: 2px solid #111;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 12px 0 rgba(0,0,0,0.18); /* 段差を強調 */
  transition: transform .18s ease, box-shadow .18s ease;
}

/* hover：LPのトーンに合わせて控えめ */
.post-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 0 rgba(0,0,0,0.18);
}

/* ===== ① タイトル ===== */
.post-card__title {
  margin: 0;
  padding: 18px 18px 10px;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.4;
  color: #111;

  /* 長文タイトル対策（2行まで） */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 黄色アクセントライン */
.post-card__title::after {
  content: "";
  display: block;
  height: 6px;
  width: 56px;
  margin-top: 10px;
  border-radius: 999px;
  background: #ffd54a;
}

/* ===== ② アイキャッチ ===== */
.post-card__thumb {
  display: block;
  padding: 0 18px;
  margin-bottom: 10px;
}

.post-card__thumb img {
  width: 100%;
  display: block;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 14px;
  border: 2px solid #111;
  transition: transform .2s ease, filter .2s ease;
}

/* hover：画像だけ少し反応 */
.post-card__thumb:hover img {
  transform: scale(1.02);
  filter: saturate(1.05);
}

/* サムネなし用（PHP側で使用時） */
.post-card__thumb--placeholder {
  aspect-ratio: 16 / 9;
  border-radius: 14px;
  border: 2px solid #111;
  background: #f1f1f1;
}

/* ===== ③ 抜粋 ===== */
.post-card__excerpt {
  padding: 0 18px 18px;
  font-size: 0.95rem;
  line-height: 1.75;
  color: #333;

  /* 抜粋が長すぎる場合の暴走防止（3行） */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ===== もっと見る（/column/ へ） ===== */
.post-list__more {
  width: min(720px, 100%);
  margin: 26px auto 56px;
  text-align: center;
}

.btn-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 26px;
  border-radius: 9999px;
  border: 3px solid #111;
  background: #ffd54a;
  color: #111;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 8px 0 rgba(0,0,0,0.18);
  transition: transform .18s ease, box-shadow .18s ease;
}

.btn-more:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 0 rgba(0,0,0,0.18);
}

.btn-more:active {
  transform: translateY(2px);
  box-shadow: 0 6px 0 rgba(0,0,0,0.18);
}