:root {
  --black: 51,51,51;
  --red: 238,0,59;
  --dark_red: 207,28,85;
  --wine_red: 163,48,87;
  --main: 233,83,131;
  --accent: 227,55,129;
  --note: 102,102,102;
  --bg: 243,243,243;
  --gray: 153,153,153;
  --dark_gray: 167,167,167;
  --border: 210,211,212;
  --light_pink: 252,229,237;
  --beige: 248,244,241;
  --green: 92,198,172;
  --blue: 16,120,237;
  --purple: 189,104,200;
  --light_purple: 242,228,243;
  --contents_width: 1100px;
  --body_padding_side: 60px;
  --contents_width_with_padding: 1160px;
  --sidebar_width: 250px;
  --hover_opacity: .7;
}

/* .l-container
================================================ */
#dpoint .l-container {
  padding-top: 0;
}
#dpoint .l-container .c-color-main {
  color: #cb0133;
}

/* .dpoint
================================================ */
.dpoint__subhead {
  color: #cb0133;
  font-size: 1.8rem;
  line-height: 1.2;
  border: 2px solid #cb0133;
  border-radius: 100vmax;
  padding: 5px 10px;
}
@media all and (min-width: 768px) {
  .dpoint__subhead {
    font-size: 2.2rem;
    padding: 10px 20px;
  }
}

/* .dpoint-mainimg
================================================ */
.dpoint-mainimg {
  background: linear-gradient(180deg, #fff 0%, #fff 36%, #cb0133 36%, #cb0133 100%);
}

/* .dpoint-intro
================================================ */
.dpoint-intro .u-inner02 {
  min-height: 127px;
  display: flex;
  justify-content: center;
  background: url(/dpoint/img/img_intro01.png) right bottom no-repeat;
}
@media all and (max-width: 767px) {
  .dpoint-intro .u-inner02 {
    background-size: 48px auto;
  }
}
@media all and (min-width: 768px) {
  .dpoint-intro .u-inner02 {
    align-items: center;
    background-position: right 100px bottom;
  }
}

/* .dpoint-campaign
================================================ */
.dpoint-campaign__head {
  color: #cb0133;
  font-size: 2.4rem;
  line-height: 1;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding: 10px 30px;
  border: 2px solid #cb0133;
}
@media all and (min-width: 768px) {
  .dpoint-campaign__head {
    font-size: 3.6rem;
    padding: 20px 50px;
    border: 3px solid #cb0133;
  }
}
.dpoint-campaign__box {
  border: 2px solid #cb0133;
  border-radius: 10px;
  padding: 15px;
}
@media all and (min-width: 768px) {
  .dpoint-campaign__box {
    border-radius: 20px;
    padding: 30px;
  }
}
.dpoint-campaign__box-head {
  color: #cb0133;
  font-size: 1.8rem;
}
@media all and (max-width: 767px) {
  .dpoint-campaign-btn {
    max-width: 100%;
  }
}
.dpoint-campaign-btn__link {
  color: #fff;
  background-color: #cb0133;
  border-radius: 10px;
}
.dpoint-campaign-btn__link::before {
  color: #fff;
}

/* .dpoint-about
================================================ */
@media all and (max-width: 767px) {
  .dpoint-about__head {
    width: 76.9333333333vw;
    margin-inline: auto;
  }
}
.dpoint-about__txt {
  color: #fff;
  background-color: rgb(var(--main));
  line-height: 1.2;
  padding: 10px 15px;
  border-radius: 15px;
}
@media all and (min-width: 768px) {
  .dpoint-about__txt {
    width: 400px;
    padding: 20px 30px;
    margin-inline: auto;
  }
}
.dpoint-about .u-font-bold {
  font-size: 1.8rem;
}

/* .dpoint-registration
================================================ */
.dpoint-registration .c-btn01 {
  color: #cb0133;
}
@media all and (max-width: 767px) {
  .dpoint-registration .c-btn01 {
    max-width: 100%;
  }
}
.dpoint-registration .c-btn01__link {
  border-color: #cb0133;
  border-radius: 10px;
}
.dpoint-registration .c-btn01__link::before {
  color: #cb0133;
}
.dpoint-registration-btn__link {
  color: #fff;
  background-color: #cb0133;
}
.dpoint-registration-btn__link::before {
  z-index: 3;
  right: 16px;
}
.dpoint-registration-btn__link::after {
  content: "";
  z-index: 2;
  background-color: #fff;
  width: 20px;
  height: 20px;
  border-radius: 100vmax;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 11px;
}

/* .dpoint-faq
================================================ */
@media all and (max-width: 767px) {
  .dpoint-faq__head {
    width: 35.7333333333vw;
    margin-inline: auto;
  }
}