/* sp-main-message */
.sp-main-message {
  padding: 5% 10% 10%;
  background-color: #FFFBF7;
}

.sp-main-message__logo {
  max-width: 450px;
  margin: 0 auto;
  text-align: center;
}

.sp-main-message__logo img {
  width: 100%;
}

.sp-main-message__title-block {
  margin-top: 30px;
  font-family: 'Shippori Mincho', serif;
  font-weight: 800;
  font-size: 24px;
  opacity: 0.6;
  text-align: center;
  white-space: nowrap;
}

@media (min-width: 1025px) {
  .sp-main-message__title-block {
    font-size: 22px;
  }
}

.sp-main-message__title--pink {
  color: #FF96E9;
}

.sp-main-message__title--orange {
  margin-left: -4px;
  color: #FFC681;
}

.sp-main-message__title--skyblue {
  margin-left: -4px;
  color: #8AECFF;
}

.sp-main-message__message-block {
  margin-top: 20px;
}

.sp-main-message__message-block p {
  color: #FF96E9;
  font-family: 'Shippori Mincho', serif;
  font-weight: 800;
  font-size: 14px;
  opacity: 0.6;
  text-align: center;
  display: inline;
}

/* introduction */
.introduction {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-left: min(11.181vw, 161px);
  padding-right: min(11.458vw, 161px);
  padding-bottom: 30px;
  background-color: #FFFBF7;
}

@media (min-width: 1025px) {
  .introduction {
    padding-left: min(2.648vw, 134.75px);
    padding-right: min(2.616vw, 133.11px);
  }
}

.introduction__img-block {
  max-width: 300px;
}

.introduction__img-block img {
  width: 100%;
  height: auto;
}

.introduction__text-block {
  max-width: 300px;
  padding-top: 20px;
}

.introduction__text-block p {
  color: #757575;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 12px;
}

/* NEWS */
.news {
  position: relative;
  padding-left: min(11.181vw, 161px);
  padding-right: min(11.458vw, 161px);
  padding-top: 30px;
  padding-bottom: 30px;
  background-color: #FFFBF7;
}

@media (min-width: 1025px) {
  .news {
    padding-left: min(2.648vw, 134.75px);
    padding-right: min(2.616vw, 133.11px);
  }
}

.news__title-block {
  position: relative;
}

.news__title-block h2 {
  position: relative;
  color: #CBCBCB;
  font-family: 'Vollkorn', serif;
  font-weight: 700;
  font-size: 24px;
  z-index: 1;
}

@media (min-width: 1025px) {
  .news__title-block h2 {
    font-size: 21px;
  }
}

.news__title-block img {
  position: absolute;
  left: 0;
  bottom: 6px;
  width: 220px;
  height: 11px;
}

@media (min-width: 1025px) {
  .news__title-block img {
    bottom: 6px;
    width: 160px;
    height: 8px;
  }
}

.news__items {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px 0;
  padding-top: 20px;
}

.news__item {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 300px;
}

@media (min-width: 520px) {
  .news__item {
    width: 300px;
  }
}

.news__item-img {
  width: 100%;
}

.news__item-img img {
  width: 100%;
  height: auto;
}

.news__item-date-link {
  position: relative;
  margin-top: 10px;
  color: #202020;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 12px;
  opacity: 0.8;
}

.news__item-date-link img {
  position: absolute;
  right: -16px;
  top: 0;
  width: 12px;
  height: 12px;
}

.news__item-date-link:hover {
  opacity: 0.6;
}

.news__item-title {
  margin-top: 10px;
  color: #202020;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 14px;
  font-weight: 700;
}

.news__view-more-button-block {
  display: flex;
  position: relative;
  justify-content: center;
  padding-top: 20px;
  padding-bottom: 20px;
}

.news__view-more-button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 180px;
  height: 36px;
  border: 1.5px solid #202020;
  color: #202020;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 12px;
  font-weight: 700;
}

@media (min-width: 1025px) {
  .news__view-more-button {
    width: 120px;
    height: 24px;
  }
}

.news__view-more-button:hover {
  opacity: 0.7;
}

.news__view-more-button-block-vertical-line {
  position: absolute;
  right: max(-1.042vw, -15px);
  bottom: 0px;
  width: min(43.264vw, 623px);
  height: 1px;
  background-color: #FF96E9;
  content: '';
}

@media (min-width: 1025px) {
  .news__view-more-button-block-vertical-line {
    right: max(-1.290vw, -65.66px);
    width: min(10.176vw, 517.78px);
  }
}

.news__view-more-button-block-horizontal-line {
  position: absolute;
  right: 0px;
  bottom: max(-1.389vw, -20px);
  width: 1px;
  height: min(6.944vw, 100px);
  background-color: #FF96E9;
  content: '';
}

@media (min-width: 1025px) {
  .news__view-more-button-block-horizontal-line {
    bottom: max(-0.327vw, -16.62px);
    height: min(1.633vw, 83.11px);
  }
}

.news__rectangle {
  position: absolute;
  right: 0;
  bottom: 0px;
  width: 272px;
  height: 482px;
  background-image: url('../img/news/news-rectangle.png');
  background-size: 100%;
}

/* PRODUCTS */
.products {
  position: relative;
  padding-left: min(11.181vw, 161px);
  padding-right: min(11.458vw, 161px);
  padding-top: 30px;
  padding-bottom: 30px;
  background-color: #FFFBF7;
}

@media (min-width: 1025px) {
  .products {
    padding-left: min(2.648vw, 134.75px);
    padding-right: min(2.616vw, 133.11px);
  }
}

.products__title-block {
  position: relative;
}

.products__title-block h2 {
  position: relative;
  color: #CBCBCB;
  font-family: 'Vollkorn', serif;
  font-weight: 700;
  font-size: 24px;
  z-index: 1;
}

@media (min-width: 1025px) {
  .products__title-block h2 {
    font-size: 21px;
  }
}

.products__title-block img {
  position: absolute;
  left: 0;
  bottom: 6px;
  width: 220px;
  height: 11px;
}

@media (min-width: 1025px) {
  .products__title-block img {
    bottom: 6px;
    width: 160px;
    height: 8px;
  }
}

.products__items {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px 0;
  padding-bottom: 20px;
}

.products__item {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 300px;
}

.products__item-img img {
  width: 100%;
  height: auto;
}

.products__item-description {
  padding-top: 20px;
  color: #202020;
  font-family: 'Noto Sans JP', sans-serif;
  font-size:  12px;
}

.products__vertical-line {
  position: absolute;
  right: max(-1.042vw, -15px);
  bottom: 0px;
  width: min(43.264vw, 623px);
  height: 1px;
  background-color: #FFC681;
  content: '';
}

@media (min-width: 1025px) {
  .products__vertical-line {
    right: max(-1.290vw, -65.66px);
    width: min(10.176vw, 517.78px);
  }
}

.products__horizontal-line {
  position: absolute;
  right: 0px;
  bottom: max(-1.389vw, -20px);
  width: 1px;
  height: min(6.944vw, 100px);
  background-color: #FFC681;
  content: '';
}

@media (min-width: 1025px) {
  .products__horizontal-line {
    bottom: max(-0.327vw, -16.62px);
    height: min(1.633vw, 83.11px);
  }
}

.products__rectangle {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 272px;
  height: 482px;
  background-image: url('../img/products/products-rectangle.png');
  background-size: 100%;
}

/* HOW TO */
.how-to {
  position: relative;
  padding-left: min(11.181vw, 161px);
  padding-right: min(11.458vw, 161px);
  padding-top: 30px;
  padding-bottom: 30px;
  background-color: #FFFBF7;
}

@media (min-width: 1025px) {
  .how-to {
    padding-left: min(2.648vw, 134.75px);
    padding-right: min(2.616vw, 133.11px);
  }
}

.how-to__title-block {
  position: relative;
}

.how-to__title-block h2 {
  position: relative;
  color: #CBCBCB;
  font-family: 'Vollkorn', serif;
  font-weight: 700;
  font-size: 24px;
  z-index: 1;
}

@media (min-width: 1025px) {
  .how-to__title-block h2 {
    font-size: 21px;
  }
}

.how-to__title-block img {
  position: absolute;
  left: 0;
  bottom: 6px;
  width: 220px;
  height: 11px;
}

@media (min-width: 1025px) {
  .how-to__title-block img {
    bottom: 6px;
    width: 160px;
    height: 8px;
  }
}

.how-to__items {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px 0;
  padding-top: 20px;
  padding-bottom: 20px;
}

.how-to__item {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 300px;
}

.how-to__item-img img {
  width: 100%;
  height: auto;
}

.how-to__item-detail {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  width: 100%;
}

.how-to__item-detail-title {
  margin-top: 20px;
  color: #000000;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 14px;
}

.how-to__item-detail-description {
  margin-top: 8px;
  color: #000000;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 12px;
}

.how-to__vertical-line {
  position: absolute;
  right: max(-1.042vw, -15px);
  bottom: max(-3.025vw, -43.56px);
  width: min(43.264vw, 623px);
  height: 1px;
  background-color: #91FBF2;
  content: '';
}

@media (min-width: 1025px) {
  .how-to__vertical-line {
    right: max(-1.290vw, -65.66px);
    width: min(10.176vw, 517.78px);
  }
}

.how-to__horizontal-line {
  position: absolute;
  right: 0px;
  bottom: max(-1.389vw, -20px);
  width: 1px;
  height: min(6.944vw, 100px);
  background-color: #91FBF2;
  content: '';
}

@media (min-width: 1025px) {
  .how-to__horizontal-line {
    bottom: max(-0.327vw, -16.62px);
    height: min(1.633vw, 83.11px);
  }
}

.how-to__rectangle {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 272px;
  height: 482px;
  background-image: url('../img/how-to/how-to-rectangle.png');
  background-size: 100%;
}

/* Audition */
.audition {
  position: relative;
  padding-left: min(11.181vw, 161px);
  padding-right: min(11.458vw, 161px);
  padding-top: 30px;
  padding-bottom: 150px;
  background-color: #FFFBF7;
}

@media (min-width: 1025px) {
  .audition {
    padding-left: min(2.648vw, 134.75px);
    padding-right: min(2.616vw, 133.11px);
  }
}

.audition__title-block {
  position: relative;
}

.audition__title-block h2 {
  position: relative;
  color: #CBCBCB;
  font-family: 'Vollkorn', serif;
  font-weight: 700;
  font-size: 24px;
  z-index: 1;
}

@media (min-width: 1025px) {
  .audition__title-block h2 {
    font-size: 21px;
  }
}

.audition__title-block img {
  position: absolute;
  left: 0;
  bottom: 6px;
  width: 220px;
  height: 11px;
}

@media (min-width: 1025px) {
  .audition__title-block img {
    bottom: 6px;
    width: 160px;
    height: 8px;
  }
}

.audition__items {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px 0;
  padding-top: 20px;
  padding-bottom: 20px;
}

.audition__item {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 300px;
}

.audition__item-img img {
  width: 100%;
  height: auto;
}

.audition__item-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  width: 100%;
  margin-top: 10px;
}

.audition__item-link {
  display: flex;
  justify-content: center;
}

@media (max-width: 519.98px) {
  .audition__item-link {
    width: 50%;
  }

  .audition__item-link.w100 {
    width: 100%;
  }
}

.audition__item-link:hover {
  opacity: 0.7;
}

.audition__item-link span {
  position: relative;
  color: #202020;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 12px;
}

.audition__item-link span img {
  position: absolute;
  right: -14px;
  top: 0;
  width: 12px;
  height: 12px;
}

.audition__item-info {
  margin-top: 10px;
  color: #000000;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 14px;
}

.audition__item-description {
  margin-top: 10px;
  color: #000000;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 12px;
}

.audition__vertical-line {
  position: absolute;
  right: max(-1.042vw, -15px);
  bottom: 0px;
  width: min(43.264vw, 623px);
  height: 1px;
  background-color: #DA7BFF;
  content: '';
}

@media (min-width: 1025px) {
  .audition__vertical-line {
    right: max(-1.290vw, -65.66px);
    width: min(10.176vw, 517.78px);
  }
}

.audition__horizontal-line {
  position: absolute;
  right: 0px;
  bottom: max(-1.389vw, -20px);
  width: 1px;
  height: min(6.944vw, 100px);
  background-color: #DA7BFF;
  content: '';
}

@media (min-width: 1025px) {
  .audition__horizontal-line {
    bottom: max(-0.327vw, -16.62px);
    height: min(1.633vw, 83.11px);
  }
}

.audition__rectangle {
  position: absolute;
  right: 0;
  bottom: 150px;
  width: 272px;
  height: 482px;
  background-image: url('../img/audition/audition-rectangle.png');
  background-size: 100%;
}
