@charset "UTF-8";
/* ============================================================
// index.scss (トップページ)
============================================================ */
/* ------------------------------------------------------------
// Fluid Design Function
// 最小値〜最大値の間で数値を可変させる共通関数
------------------------------------------------------------ */
/* ------------------------------------------------------------
// hero
------------------------------------------------------------ */
.hero-pc {
  position: sticky;
  top: 0;
  left: 0;
  height: 100vh;
  overflow: hidden;
  z-index: 1;
}
.hero-pc__text {
  position: absolute;
  top: 45%;
  right: 10px;
  left: 54%;
  max-width: clamp(240px, 40.2476780186vw + 38.3591331269px, 630px);
  transform: translateY(-50%);
  z-index: 1;
}
@media screen and (max-width: 1200px) {
  .hero-pc {
    height: 75vh;
  }
}
@media screen and (max-width: 767px) {
  .hero-pc {
    height: 50vh;
  }
}
@media screen and (max-width: 500px) {
  .hero-pc {
    display: none;
  }
}

.hero-sp {
  display: none;
}
@media screen and (max-width: 500px) {
  .hero-sp {
    display: block;
    position: sticky;
    height: 100vh;
    background: url(../images/index/bg-hero-sp.png) no-repeat top center/cover;
    overflow: hidden;
  }
  .hero-sp__text {
    margin-top: clamp(40px, 16.1290322581vw + -20.4838709677px, 60px);
    padding-inline: 20px;
  }
}

.slider {
  height: 100%;
}
@media print, screen and (max-width: 500px) {
  .slider {
    height: auto;
    margin-top: clamp(120px, 7.0484581498vw + 93.5682819383px, 200px);
    padding-inline: 20px;
  }
}

.slick-list {
  height: 100%;
}
@media print, screen and (max-width: 500px) {
  .slick-list {
    height: auto;
  }
}

.slick-track {
  height: 100%;
}
@media print, screen and (max-width: 500px) {
  .slick-track {
    height: auto;
  }
}

.slider .slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: bottom;
     object-position: bottom;
  transition: opacity 1.5s ease-in-out, transform 3s ease-in-out;
}
@media print, screen and (max-width: 500px) {
  .slider .slide img {
    height: auto;
  }
}

.hero-sp__pirnt {
  display: none;
}
@media print {
  .hero-sp__pirnt {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
  }
}

/* ------------------------------------------------------------
// contents
------------------------------------------------------------ */
.l-contents {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 0.8810572687vw + 16.6960352423px, 30px);
  padding-block: clamp(60px, 5.2863436123vw + 40.1762114537px, 120px);
  background-color: #fcf2fc;
  z-index: 2;
}

.c-content__hikobae {
  margin-inline: 20px;
  padding: clamp(25px, 8.3700440529vw + -6.3876651982px, 120px) clamp(20px, 18.7416331995vw + -123.9357429719px, 160px);
  background: url(../images/index/bg-hikobae.png) no-repeat center center/cover;
  border: 1px solid #b2c6f8;
  border-radius: 32px;
}

.c-content__kirara {
  margin-inline: 20px;
  padding: clamp(25px, 8.3700440529vw + -6.3876651982px, 120px) clamp(20px, 18.7416331995vw + -123.9357429719px, 160px);
  background: url(../images/index/bg-kirara.png) no-repeat center center/cover;
  border: 1px solid #b2c6f8;
  border-radius: 32px;
}

.c-content__sakura {
  margin-inline: 20px;
  padding: clamp(25px, 8.3700440529vw + -6.3876651982px, 120px) clamp(20px, 18.7416331995vw + -123.9357429719px, 160px);
  background: url(../images/index/bg-sakura.png) no-repeat center center/cover;
  border: 1px solid #b2c6f8;
  border-radius: 32px;
}

.c-content__about {
  position: relative;
  gap: clamp(40px, 6.6934404284vw + -11.40562249px, 90px) !important;
  padding: clamp(25px, 8.3700440529vw + -6.3876651982px, 120px) clamp(20px, 18.7416331995vw + -123.9357429719px, 160px);
  background: url(../images/index/bg-about.png) no-repeat center center/cover;
  border: 1px solid #b2c6f8;
  border-radius: 32px;
}
.c-content__about-icon {
  position: absolute;
  right: clamp(20px, 5.3547523427vw + -21.124497992px, 60px);
  bottom: clamp(20px, 5.3547523427vw + -21.124497992px, 60px);
}
@media print, screen and (max-width: 1240px) {
  .c-content__about-icon {
    display: none;
  }
}

.c-content {
  width: 100%;
  max-width: 1840px;
  margin-inline: auto;
  overflow: hidden;
}
@media print, screen and (max-width: 767px) {
  .c-content__inner, .c-content--reverse .c-content__inner {
    flex-direction: column-reverse;
  }
}
.c-content__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(15px, 0.4405286344vw + 13.3480176211px, 20px);
}
.c-content--reverse .c-content__inner {
  flex-direction: row-reverse;
}
@media print, screen and (max-width: 767px) {
  .c-content--reverse .c-content__inner {
    flex-direction: column-reverse;
  }
}
.c-content__content {
  flex: 1;
  max-width: 600px;
}
.c-content__en {
  display: block;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(60px, 13.3868808568vw + -42.8112449799px, 160px);
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}
.c-content__en--blue {
  color: #b2c6f8;
}
.c-content__en--green {
  color: #64ca85;
}
.c-content__en--pink {
  color: #f8baf4;
}
.c-content__label {
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  margin-block: clamp(0px, 2.6431718062vw + -9.9118942731px, 30px) 10px;
  padding: 1px 16px 2px;
  border-radius: 20px;
}
.c-content__label--blue {
  background-color: #425b98;
}
.c-content__label--green {
  background-color: #318a4e;
}
.c-content__label--pink {
  background-color: #f591e6;
}
.c-content__title {
  font-size: clamp(24px, 1.0572687225vw + 20.0352422907px, 36px);
  font-weight: 700;
  margin-bottom: clamp(20px, 0.4405286344vw + 18.3480176211px, 25px);
  position: relative;
  padding-bottom: clamp(20px, 0.4405286344vw + 18.3480176211px, 25px);
}
.c-content__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #bebebe;
}
.c-content__text {
  margin-bottom: 50px;
}
.c-content__btn {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: 700;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 260px;
  height: 62px;
  padding-inline: 30px 60px;
  background-color: #fff;
  border-radius: 30px;
  overflow: hidden;
  box-shadow: 4px 4px 0 #c4c4c4;
  transition: all 0.3s ease-in-out;
  color: #1d1d1d;
  text-decoration: none;
}
@media print, screen and (max-width: 1240px) {
  .c-content__btn .pc-only {
    display: none;
  }
}
.c-content__btn__icon {
  position: absolute;
  right: 30px;
  width: 20px;
  height: 20px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-content__btn__icon .arrow {
  position: absolute;
  font-size: 18px;
  transition: transform 0.4s ease, opacity 0.4s ease;
}
.c-content__btn__icon .arrow--old {
  transform: translate(0, 0);
  opacity: 1;
}
.c-content__btn__icon .arrow--new {
  transform: translate(-150%, 150%);
  opacity: 0;
}
.c-content__btn:hover {
  box-shadow: 0 0 0;
  transform: translate(4px, 4px);
  background-color: #1d1d1d;
  color: #fff;
}
.c-content__btn:hover .arrow--old {
  transform: translate(150%, -150%);
  opacity: 0;
}
.c-content__btn:hover .arrow--new {
  transform: translate(0, 0);
  opacity: 1;
}
.c-content__image {
  flex: 1;
  position: relative;
}
.c-content__image-frame {
  width: 100%;
}
.c-content__image-frame img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.information-wrap {
  width: 100%;
  padding: 60px 20px;
}

.information__list {
  border-top: 1px solid #dfc9da;
}
.information__list .information__item {
  display: flex;
  align-items: flex-start;
  gap: clamp(10px, 0.8810572687vw + 6.6960352423px, 20px);
  padding-block: 24px;
  border-bottom: 1px solid #dfc9da;
}
@media print, screen and (max-width: 767px) {
  .information__list .information__item {
    flex-direction: column;
  }
}

.information__meta {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  width: 200px;
  gap: 15px;
}
.information__meta .information__date {
  font-family: "Montserrat", sans-serif;
  color: #979797;
}
.information__meta .information__badge {
  font-family: "Montserrat", sans-serif;
  color: #e80000;
}
@media screen and (max-width: 767px) {
  .information__meta {
    width: 100%;
  }
}

.information__title {
  flex-grow: 1;
}

.information__action {
  flex-shrink: 0;
}
.information__action .information__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 140px;
  height: 38px;
  padding-bottom: 2px;
  background-color: #6e686d;
  color: #fff;
  border-radius: 19px;
  transition: background-color 0.3s;
}
.information__action .information__link:hover {
  background-color: #1d1d1d;
}
@media screen and (max-width: 767px) {
  .information__action {
    text-align: right;
    width: 100%;
    margin-top: 10px;
  }
  .information__action .information__link {
    height: 30px;
  }
}