@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(190px, 14.84375vw);
  left: min(450px, 35.15625vw);
  width: min(121px, 9.453125vw);
  z-index: 1;
  filter: brightness(1.5);
  @media (max-width: 768px) {
    top: 280px;
    left: 50px;
    width: 87px;
  }
}
.fv .content .deco {
  position: absolute;
  bottom: max(-52px, -4.0625vw);
  right: min(390px, 30.46875vw);
  width: min(192px, 15vw);
  scale: 0;
  @media (max-width: 768px) {
    right: unset;
    left: 6px;
    bottom: -42px;
    width: 113px;
  }
}

/* ↑↑↑ fv ↑↑↑ */
/* ↓↓↓ main-conts ↓↓↓ */
.main-conts {
  margin-block: min(120px, 9.375vw);
  @media (max-width: 768px) {
    margin-block: 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: 2.5cqw 3.75cqw;
  @media (max-width: 768px) {
    width: 100%;
    gap: 24px;
  }
}
.main-conts .inner .content .card {
  width: 38.125cqw;
  aspect-ratio: 488/400;
  background-color: rgba(255, 127, 11, 0.12);
  border-radius: 64px;
  padding: 3.28125cqw 5cqw 4.375cqw;
  @media (max-width: 768px) {
    width: 100%;
    aspect-ratio: unset;
    border-radius: 16px;
    padding: 30px 40px 48px;
  }
}
.main-conts .inner .content .card .icon {
  width: 9.296875cqw;
  @media (max-width: 768px) {
    width: 83px;
  }
}
.main-conts .inner .content .card .head {
  font-size: 2.5cqw;
  font-family: var(--text-zen);
  font-weight: 500;
  margin-top: 0.78125cqw;
  line-height: 1.2;
  letter-spacing: 0;
  @media (max-width: 768px) {
    font-size: 2.0rem;
    margin-top: 12px;
  }
}
.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: 10px;
  letter-spacing: 0;
  @media (max-width: 768px) {
    font-size: 1.5rem;
  }
}
/* ↑↑↑ main-conts ↑↑↑ */

@media (min-width: 1281px) {}

@media (max-width: 1280px) {}

@media (max-width: 768px) {}

@media (max-width: 480px) {}

@media (max-width: 375px) {}