@charset "UTF-8";
.if-category {
  background-color: #ffffff;
}

.if-category_container {
  width: 100%;
  max-width: 900px;
  background-color: #fff;
}

.if-category_inner {
  width: 100%;
}

.if-category_mv {
  width: 100%;
  margin-bottom: 2.5%;
}

.if-category_mv img {
  width: 100%;
}

body {
  padding-top: 0;
}

img {
  max-width: 100%;
}

/* ================================
   本題のCSS
=============================== */
.card {
  position: absolute;
  bottom: 46.09375vw;
  width: 100%;
  left: 0;
}

.card__swiper-container,
.card__swiper,
.card__swiper-wrapper,
.card__swiper-slide {
  position: relative;
}

.card__swiper-slide img {
  width: 100%;
}

/* 位置のreset */
.swiper-button-prev,
.swiper-button-next,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  top: unset;
  bottom: unset;
  left: unset;
  right: unset;
  margin: 0;
  padding: 0;
}

/* =============================
   ナビゲーションボタン
============================= */
/* デフォルトのボタンを初期化 */
.swiper-button-prev::after,
.swiper-button-next::after {
  content: "";
  /* デフォルトのものを初期化 */
}

/* 各ボタンのカスタマイズ */
.swiper-button-prev,
.swiper-button-next {
  top: 50%;
  translate: 0 -50%;
  width: 6.25vw;
  height: 6.25vw;
}

.swiper-button-prev {
  left: 4.6875vw;
}

.swiper-button-next {
  right: 4.6875vw;
}

/* =============================
   ページネーション (bullets)
============================= */
/* 位置の設定 (枠組み) */
.swiper-pagination-bullets.swiper-pagination-horizontal {
  top: calc(100% + 4.53125vw);
}

/* それぞれのページネーション */
.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
  opacity: 1;
  width: 2.8125vw;
  height: auto;
  aspect-ratio: 1;
  border-radius: 50%;
  background: transparent;
  margin-inline: 2.34375vw;
  border: 2px solid #fff;
}

/* activeな部分 */
.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet-active {
  background: #fff;
}

.section__btn {
  width: 46.875vw;
  display: flex;
  margin: 0 auto;
}

.section__btn.--coordinate {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 15.625vw;
}

.section__btn.--interview {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 18.75vw;
}

.if-category_mv {
  margin-bottom: 0;
}

.if-category_wrapper {
  background-color: #FFE6F2;
  padding-top: 6.25vw;
}

.if-category_lead {
  position: relative;
  margin-top: 6.25vw;
}

.if-category_lead_text {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 64.0625vw;
}

.section_text p {
  font-size: 4.0625vw;
  letter-spacing: 0.02em;
  line-height: 1.8;
  font-weight: bold;
  text-align: center;
  margin: 0 auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

.section_text p + p {
  margin-top: 6.25vw;
}

.if-category_coordinate {
  position: relative;
}

.if-category_coordinate_text {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 50vw;
}

.if-category_movie {
  margin-bottom: 6.25vw;
}

.if-category_movie_instagram {
  width: 95%;
  margin: 0 auto;
}

.instagram-media {
  max-width: 100% !important;
  width: 100% !important;
  min-width: auto !important;
  margin: 0 !important;
  /* デフォルトの余白(1px)を消す */
}

.if-category_interview {
  position: relative;
}

.youtube {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 39.0625vw;
  border-radius: 10px;
  overflow: hidden;
  aspect-ratio: 600 / 337;
  width: 95%;
}

.youtube iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.if-category_interview_text {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 50vw;
}

.point_items {
  display: flex;
  flex-direction: column;
  padding: 0 3.125vw;
  gap: 3.125vw;
  margin-bottom: 6.25vw;
}

.if-category_caution {
  width: 95%;
  margin: 0 auto 9.375vw;
}

.if-category_banner {
  width: 90%;
  margin: 0 auto;
  display: block;
}

.if-category_review {
  padding: 6.25vw 0;
}

.sec04 {
  margin-top: 6.25vw;
}

.sec04 .sec04_ttl {
  width: 77.92vw;
  margin: 0 auto 2vw;
}

.sec04 .sec04_img {
  width: 88.92vw;
  margin: 0 auto 13.83vw;
}

.sec04 p.sec04_txt {
  font-size: 2.8vw;
  letter-spacing: 0.04em;
  line-height: 1.2em;
  font-weight: 500;
  color: #505050;
  text-align: center;
  margin-bottom: 9.36vw;
}

.sec04 .sec04_review {
  width: 93.75vw;
  margin: 0 auto 6.3vw;
  background-color: #F7F0F4;
  border-radius: 10px;
  padding-bottom: 4.6875vw;
}

.sec04 .sec04_review .review_img {
  width: 100%;
  padding: 7.8vw 4.6875vw 0 33.4vw;
  box-sizing: border-box;
  border-radius: 1.24vw;
  position: relative;
  margin-bottom: 2.53vw;
}

.sec04 .sec04_review .review_img .icon {
  width: 21.875vw;
  position: absolute;
  top: 15.625vw;
  left: 5.05vw;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  margin: auto;
}

.sec04 .sec04_review .review_img p.size {
  font-size: 4.375vw;
  color: #555;
  font-weight: 400;
  font-feature-settings: "palt";
  border-bottom: dashed 1px #E55E95;
  margin-bottom: 3.23vw;
  font-weight: bold;
}

.sec04 .sec04_review .review_img p.size span.big {
  font-size: 7.5vw;
  font-weight: bold;
  margin-left: 0.5em;
}

.sec04 .sec04_review.review03 .review_img p.size span.big {
  margin-left: 0;
}

.sec04 .sec04_review .review_img dl {
  margin-bottom: 2.53vw;
  font-size: 0;
}

.sec04 .sec04_review .review_img dl:last-child {
  margin-bottom: 0;
}

.sec04 .sec04_review .review_img dl dt {
  font-size: 3.75vw;
  display: inline-block;
  width: 22.1875vw;
  line-height: 4.83vw;
  text-align: center;
  color: #fff;
  background: #E55E95;
  vertical-align: middle;
  margin-right: 2.5vw;
  border-radius: 24px;
  padding: 1.5625vw 0;
}

.sec04 .sec04_review .review_img dl dd {
  font-size: 5vw;
  display: inline-block;
  color: #333;
  vertical-align: middle;
  font-weight: 500;
}

.sec04 .sec04_review .review_textarea {
  box-sizing: border-box;
  background-repeat: no-repeat;
  background-size: contain;
  padding: 3.125vw;
  background-color: #fff;
  border-radius: 12px;
  margin: 4.6875vw 4.6875vw 0;
}

.sec04 .sec04_review .review_textarea p.review_ttl {
  width: 100%;
  box-sizing: border-box;
  font-size: 4.375vw;
  color: #555;
  background: #F4F4F4;
  padding-left: 7.1vw;
  margin-bottom: 1.875vw;
  border-radius: 41px;
  font-weight: bold;
}

.sec04 .sec04_review .review_textarea p.review_ttl span.big {
  font-size: 7.5vw;
  color: #E62E73;
  font-weight: bold;
}

.sec04 .sec04_review .review_textarea p.review_ttl span.pink {
  color: #E62E73;
}

.sec04 .sec04_review .review_textarea p.review_txt {
  font-size: 3.4375vw;
  letter-spacing: 0;
  line-height: 1.5em;
  color: #333;
  font-weight: 500;
}

.sec04 .btn {
  width: 53.91vw;
  margin: 10vw auto 0;
}

.sec04 .top_btn a {
  display: block;
  width: 100%;
}

.if-category_color_img {
  margin-left: 3.125vw;
  margin-right: 3.125vw;
  margin-bottom: 6.25vw;
  margin-top: 6.25vw;
}

.if-category_color {
  padding-bottom: 14.0625vw;
}

@media screen and (min-width: 813px) {
  .sp {
    display: none;
  }
}

@media screen and (max-width: 812px) {
  .pc {
    display: none;
  }
}
