:root {
  --black: 51,51,51;
  --red: 238,0,59;
  --dark_red: 207,28,85;
  --main: 171,94,173;
  --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: 242,238,246;
  --beige: 242,238,230;
  --green: 92,198,172;
  --blue: 16,120,237;
  --purple: 195,129,203;
  --light_purple: 250,244,255;
  --pink_purple: 203,75,138;
  --blue: 87 129 234;
  --yellow: 255 183 3;
  --beauty_main: 233,83,131;
  --beauty_light_pink: 252,229,237;
  --contents_width: 1100px;
  --body_padding_side: 60px;
  --contents_width_with_padding: 1160px;
  --sidebar_width: 250px;
  --hover_opacity: .7;
}

/* m-plus-2-500 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "M PLUS 2";
  font-style: normal;
  font-weight: 500;
  src: url("../../assets/fonts/m-plus-2-v15-latin-500.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* m-plus-2-700 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "M PLUS 2";
  font-style: normal;
  font-weight: 700;
  src: url("../../assets/fonts/m-plus-2-v15-latin-700.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* zen-old-mincho-700 - latin */
@font-face {
  font-display: swap;
  /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Zen Old Mincho";
  font-style: normal;
  font-weight: 700;
  src: url("../../assets/fonts/ZenOldMincho-Bold.ttf") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* .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(--beauty_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;
  }
}