@charset "UTF-8";
/*
$c_main: #DB0000;
$c_sub: #E9A87D;
$c_accent: #E64D4D;
$c_btn: #FF7043;
$c_btn_hover: #F4511E;
$c_sns_line: #06C755;
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap&family=Oswald&display=swap");
/* ============================================================
   index.scss
   - Top page only
   - MV Slider（full screen）
   - BEM / Mobile-first（min-width）
============================================================ */
/* ============================================================
   Top MV（.hero--mv）
   - 1画面いっぱい（100vh）
   - 画像上にタイトル＆キャッチ
============================================================ */
.hero--mv {
  position: relative;
  /* slick想定：各レイヤーを 100vh に統一 */
}
.hero--mv .hero__slider,
.hero--mv .hero__slide,
.hero--mv .hero__media,
.hero--mv .hero__picture,
.hero--mv .hero__img {
  width: 100%;
  height: 100vh;
}
.hero--mv .hero__picture {
  display: block;
  line-height: 0;
}
.hero--mv .hero__img {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.hero--mv {
  /* overlay */
}
.hero--mv .hero__overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: -ms-grid;
  display: grid;
  place-items: center;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.35)), color-stop(55%, rgba(0, 0, 0, 0.22)), to(rgba(0, 0, 0, 0.35)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.22) 55%, rgba(0, 0, 0, 0.35));
}
.hero--mv .hero__overlay-inner {
  width: min(92vw, 1040px);
  text-align: center;
  padding-top: 0;
  padding-right: 1.6rem;
  padding-bottom: 0;
  padding-left: 1.6rem;
}
.hero--mv .hero__title {
  margin: 0;
  font-size: clamp(2.8rem, 2.509rem + 0.91vw, 3.6rem);
  font-weight: 700;
  line-height: 1.25;
  color: #FFFFFF;
  letter-spacing: 0.02em;
}
.hero--mv .hero__catch {
  margin-top: 1.2rem;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  font-size: clamp(1.4rem, 1.326rem + 0.23vw, 1.6rem);
  font-weight: 700;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.92);
}
@media (min-width: 768px) {
  .hero--mv .hero__overlay-inner {
    padding-right: 2.4rem;
    padding-left: 2.4rem;
  }
  .hero--mv .hero__title {
    font-size: clamp(3.6rem, 3.165rem + 1.36vw, 4.8rem);
  }
  .hero--mv .hero__catch {
    font-size: clamp(1.6rem, 1.526rem + 0.23vw, 1.8rem);
  }
}
@media (min-width: 992px) {
  .hero--mv .hero__overlay-inner {
    padding-right: 3.2rem;
    padding-left: 3.2rem;
  }
  .hero--mv .hero__catch {
    font-size: clamp(2.2rem, 1.982rem + 0.68vw, 2.8rem);
  }
}

/* ============================================================
   slick（MV用の見た目補助）
   - dots / arrows
============================================================ */
.hero--mv {
  /* dots */
}
.hero--mv .slick-dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 1.6rem;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
  margin: 0;
  padding: 0;
  list-style: none;
  z-index: 5;
}
.hero--mv .slick-dots li {
  margin: 0;
  padding: 0;
}
.hero--mv .slick-dots button {
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  border: 0;
  background: rgba(255, 255, 255, 0.55);
  font-size: 0;
  cursor: pointer;
  -webkit-transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, transform 0.2s ease;
  transition: opacity 0.2s ease, transform 0.2s ease, -webkit-transform 0.2s ease;
}
.hero--mv .slick-dots .slick-active button {
  background: rgba(255, 255, 255, 0.9);
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
@media (min-width: 768px) {
  .hero--mv .slick-dots {
    bottom: 2rem;
  }
  .hero--mv .slick-dots button {
    width: 1.2rem;
    height: 1.2rem;
  }
}
.hero--mv {
  /* arrows */
}
.hero--mv .slick-prev,
.hero--mv .slick-next {
  position: absolute;
  top: 50%;
  z-index: 5;
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 9999px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(0, 0, 0, 0.25);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  cursor: pointer;
  -webkit-transition: background-color 0.2s ease, opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: background-color 0.2s ease, opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: background-color 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
  transition: background-color 0.2s ease, transform 0.2s ease, opacity 0.2s ease, -webkit-transform 0.2s ease;
}
.hero--mv .slick-prev:hover,
.hero--mv .slick-next:hover {
  background: rgba(0, 0, 0, 0.35);
  opacity: 1;
}
.hero--mv .slick-prev {
  left: 1.2rem;
}
.hero--mv .slick-next {
  right: 1.2rem;
}
@media (min-width: 768px) {
  .hero--mv .slick-prev {
    left: 2rem;
  }
  .hero--mv .slick-next {
    right: 2rem;
  }
}