@charset "utf-8";

/* ↓↓↓ fv ↓↓↓ */
.fv {
  width: 100%;
  height: min(528px, 41.25vw);
  padding: min(32px, 2.5vw) min(32px, 2.5vw) 0;
  @media (max-width: 768px) {
    height: 588px;
    padding: 20px 16px;
  }
}
.fv .content {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 127, 11, 0.12);
  border-radius: 32px;
  @media (max-width: 768px) {
    border-radius: 20px;
  }
  &::before, &::after {
    content: '';
    position: absolute;
    top: 0;
    left: min(128px, 10vw);
    width: min(33px, 2.578125vw);
    height: min(33px, 2.578125vw);
    background: url(../img/common/corner-deco.png) no-repeat;
    background-size: cover;
    @media (max-width: 768px) {
      width: 20px;
      height: 20px;
      left: 76px;
    }
  }
  &::after {
    top: min(136px, 10.625vw);
    left: 0;
    @media (max-width: 768px) {
      top: 81px;
      left: 0;
    }
  }
}
.fv .content .txt-wrap {
  position: relative;
  padding: min(210px, 16.40625vw) 0 0 min(152px, 11.875cqw);
  z-index: 1;
  @media (max-width: 768px) {
    padding: 124px 0 0 26px;
  }
}
.fv .content .txt-wrap .js-txt {
  display: block;
  transform: translateY(calc(100% + .2em));
}
.fv .content .txt-wrap .sub-ttl {
  overflow: hidden;
}
.fv .content .txt-wrap .sub-ttl .js-txt {
  display: flex;
  gap: min(18px, 1.40625vw);
  align-items: flex-end;
  @media (max-width: 768px) {
    gap: 12px;
  }
}
.fv .content .txt-wrap .sub-ttl .icon {
  display: inline-block;
  width: min(42px, 3.28125vw);
  @media (max-width: 768px) {
    width: 27px;
  }
}
.fv .content .txt-wrap .sub-ttl p {
  font-family: var(--text-dongle);
  font-size: min(3.2rem, 3.28125vw);
  font-weight: 700;
  color: var(--color-orange);
  letter-spacing: 0;
  line-height: 0.8;
  @media (max-width: 768px) {
    font-size: 2.1rem;
  }
}
.fv .content .txt-wrap .ttl {
  font-size: min(5.6rem, 4.375vw);
  font-family: var(--text-zen);
  font-weight: 900;
  margin-top: min(10px, 0.78125vw);
  overflow: hidden;
  @media (max-width: 768px) {
    font-size: 3.2rem;
    margin-top: 10px;
    line-height: 1;
  }
}
.fv .content .txt-wrap .txt {
  font-size: min(1.8rem, 1.40625vw);
  font-family: var(--text-zen);
  font-weight: 500;
  margin-top: min(12px, 1.40625vw);
  overflow: hidden;
  @media (max-width: 768px) {
    font-size: 1.5rem;
    margin-top: 10px;
  }
}
.fv .content .img {
  position: absolute;
  top: 0;
  right: 0;
  width: min(1216px, 95vw);
  @media (max-width: 768px) {
    top: unset;
    bottom: 0;
    width: 344px;
    border-bottom-right-radius: 20px;
    overflow: hidden;
  }
}
.fv .content .star {
  position: absolute;
  top: min(140px, 10.9375vw);
  left: min(450px, 35.15625vw);
  width: min(121px, 9.453125vw);
  z-index: 1;
  filter: brightness(1.5);
  @media (max-width: 768px) {
    top: 270px;
    left: 15px;
    width: 87px;
  }
}
.fv .content .deco {
  position: absolute;
  bottom: max(-89px, -6.953125vw);
  right: min(264px, 20.625vw);
  width: min(360px, 28.125vw);
  scale: 0;
  @media (max-width: 768px) {
    right: unset;
    left: 6px;
    bottom: -48px;
    width: 212px;
  }
}

/* ↑↑↑ fv ↑↑↑ */
/* ↓↓↓ main-conts ↓↓↓ */
.main-conts {
  margin-block: min(176px, 13.75vw) min(120px, 9.375vw);
  @media (max-width: 768px) {
    margin-block: 106px 72px;
    padding-inline: 27px;
  }
}
.main-conts .inner {
  max-width: 1280px;
  margin: 0 auto;
  container-type: inline-size;
  @media (max-width: 768px) {
    max-width: 100%;
  }
}
.main-conts .inner .content {
  display: flex;
  flex-wrap: wrap;
  width: 80cqw;
  margin: 0 auto;
  gap: 7.5cqw 3.75cqw;
  @media (max-width: 768px) {
    width: 100%;
    gap: 58px;
  }
}
.main-conts .inner .content .card {
  position: relative;
  width: 38.125cqw;
  height: fit-content;
  aspect-ratio: 488/464;
  background-color: rgba(255, 127, 11, 0.12);
  border-radius: 64px;
  padding: 9.53125cqw 4.296875cqw 3.90625cqw;
  &.-tall {
    aspect-ratio: 488/520;
    @media (max-width: 768px) {
      aspect-ratio: unset;
    }
  }
  &:nth-of-type(odd) {
    margin-top: -4.21875cqw;
    @media (max-width: 768px) {
      margin-top: 0;
    }
  }
  &:nth-of-type(1) {
    margin-top: 0;
  }
  @media (max-width: 768px) {
    width: 100%;
    aspect-ratio: unset;
    border-radius: 16px;
    padding: 66px 38px 46px;
  }
}
.main-conts .inner .content .card .icon {
  width: 3.28125cqw;
  @media (max-width: 768px) {
    width: 42px;
  }
}
.main-conts .inner .content .card .head {
  font-size: 1.875cqw;
  min-height: 4.6875cqw;
  font-family: var(--text-zen);
  font-weight: 500;
  margin-top: 1.171875cqw;
  line-height: 1.3;
  letter-spacing: 0;
  @media (max-width: 768px) {
    font-size: 2.0rem;
    margin-top: 12px;
    min-height: unset;
    letter-spacing: -0.06em;
  }
}
.main-conts .inner .content .card .txt {
  font-size: 1.25cqw;
  font-weight: 500;
  line-height: 2;
  text-align: justify;
  word-break: break-all;
  margin-top: 1.171875cqw;
  letter-spacing: 0;
  @media (max-width: 768px) {
    font-size: 1.5rem;
    margin-top: 10px;
  }
}
.main-conts .inner .content .card .img {
  position: absolute;
  top: -4.375cqw;
  right: 4.296875cqw;
  width: 16.25cqw;
  @media (max-width: 768px) {
    top: -35px;
    right: 35px;
    width: 140px;
  }
}
.main-conts .inner .content .card .deco {
  position: absolute;
  top: -2.734375cqw;
  right: 17.96875cqw;
  width: 9.0625cqw;
  @media (max-width: 768px) {
    top: -20px;
    right: 154cqw;
    width: 178px;
  }
}
/* ↑↑↑ main-conts ↑↑↑ */

@media (min-width: 1281px) {}

@media (max-width: 1280px) {}

@media (max-width: 768px) {}

@media (max-width: 480px) {}

@media (max-width: 375px) {}