.opencampus--info {
  position: relative;
  z-index: 3;
}
@media only screen and (max-width: 767px) {
  .opencampus--info {
    opacity: 1;
    transform: none;
  }
}
.opencampus--info .content-title {
  text-align: center;
  margin-bottom: 3.4rem;
}
@media only screen and (max-width: 767px) {
  .opencampus--info .content-title {
    margin-bottom: 4.9rem;
  }
}
.opencampus--info .content-title h2 {
  font-family: "Outfit", sans-serif;
  color: #fff;
  font-size: 10rem;
  font-weight: 600;
  margin: -0.4rem 0 0.1rem;
}
@media print, screen and (min-width: 768px) {
  .opencampus--info .content-title h2 {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .opencampus--info .content-title h2 span {
    margin: -1rem 0 0 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .opencampus--info .content-title h2 {
    font-size: 7.4rem;
    width: 100%;
    line-height: 1;
    padding-top: 2.4rem;
    margin-bottom: 3rem;
  }
  .opencampus--info .content-title h2 span {
    font-size: 5.6rem;
    display: block;
    text-align: center;
  }
}
.opencampus--info .content-title h2::before, .opencampus--info .content-title h2::after {
  content: "";
  display: block;
}
@media only screen and (max-width: 767px) {
  .opencampus--info .content-title h2::before, .opencampus--info .content-title h2::after {
    position: absolute;
  }
}
.opencampus--info .content-title h2::before {
  width: 5.6rem;
  height: 9.2rem;
  background: url("../img/opencampus/oc-title-icon1.svg") no-repeat center/cover;
  margin-right: 2rem;
}
@media only screen and (max-width: 767px) {
  .opencampus--info .content-title h2::before {
    width: 4.2rem;
    height: 6.7rem;
    top: 2.4rem;
    left: 5.6rem;
  }
}
.opencampus--info .content-title h2::after {
  width: 7.8rem;
  height: 9.6rem;
  background: url("../img/opencampus/oc-title-icon2.svg") no-repeat center/cover;
  margin-left: 2rem;
}
@media only screen and (max-width: 767px) {
  .opencampus--info .content-title h2::after {
    width: 5.7rem;
    height: 7rem;
    top: 2.3rem;
    right: 5.5rem;
  }
}
.opencampus--info .content-title p {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .opencampus--info .content-title p {
    font-size: 3.2rem;
    line-height: 1.7;
    letter-spacing: -0.06em;
  }
}
.opencampus--info .date {
  width: 119rem;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
@media only screen and (max-width: 767px) {
  .opencampus--info .date {
    width: 87%;
  }
}
.opencampus--info .date * {
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.opencampus--info .date--title {
  text-align: center;
  line-height: 5rem;
  width: 15.8rem;
  border-radius: 5rem;
  margin: 0 auto 4.2rem;
  background: #fff;
  font-size: 3rem;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .opencampus--info .date--title {
    margin-bottom: 4.6rem;
  }
}
.opencampus--info .date ul.date--list {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 4rem 2.8rem;
  margin-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .opencampus--info .date ul.date--list {
    padding-left: 1rem;
    gap: 3.3rem 3.1rem;
  }
}
.opencampus--info .date ul.date--list li {
  width: 27.6rem;
  background: #b3e8d9;
  position: relative;
  transition: 0.3s;
}
@media only screen and (max-width: 767px) {
  .opencampus--info .date ul.date--list li {
    width: 31.3rem;
  }
}
.opencampus--info .date ul.date--list li::after {
  content: "";
  position: absolute;
  top: 0;
  right: 2.5rem;
  bottom: 0;
  margin: auto;
  width: 0.85rem;
  height: 0.85rem;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: rotate(45deg);
}
.opencampus--info .date ul.date--list li:hover {
  background: #fff;
}
.opencampus--info .date ul.date--list li:hover a {
  opacity: 1;
}
.opencampus--info .date ul.date--list li:hover a .left_border::before, .opencampus--info .date ul.date--list li:hover a .left_border::after,
.opencampus--info .date ul.date--list li:hover a .right_border::before,
.opencampus--info .date ul.date--list li:hover a .right_border::after {
  background: #b3e8d9;
}
.opencampus--info .date ul.date--list li:hover a .left_border {
  border-left-color: #b3e8d9;
}
.opencampus--info .date ul.date--list li:hover a .left_border::before {
  width: 100%;
}
.opencampus--info .date ul.date--list li:hover a .left_border::after {
  width: 15%;
}
.opencampus--info .date ul.date--list li:hover a .right_border {
  border-right-color: #b3e8d9;
}
.opencampus--info .date ul.date--list li:hover a .right_border::before {
  width: 100%;
}
.opencampus--info .date ul.date--list li:hover a .right_border::after {
  width: 15%;
}
.opencampus--info .date ul.date--list li a {
  font-family: "Zen Kaku Gothic New", sans-serif;
  display: block;
  line-height: 8rem;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .opencampus--info .date ul.date--list li a {
    line-height: 1.5;
    padding: 2.1rem 0 2.9rem;
    font-size: 2.8rem;
  }
}
.opencampus--info .date ul.date--list li a .left_border,
.opencampus--info .date ul.date--list li a .right_border {
  position: absolute;
  width: 80%;
  height: 100%;
  transition: 0.3s;
}
.opencampus--info .date ul.date--list li a .left_border::before,
.opencampus--info .date ul.date--list li a .right_border::before {
  content: "";
  width: 15%;
  height: 0.3rem;
  position: absolute;
  background: #fff;
  transition: 0.3s;
}
.opencampus--info .date ul.date--list li a .left_border::after,
.opencampus--info .date ul.date--list li a .right_border::after {
  content: "";
  width: 100%;
  height: 0.3rem;
  position: absolute;
  background: #fff;
  transition: 0.3s;
}
.opencampus--info .date ul.date--list li a .left_border {
  top: -1rem;
  left: -1rem;
  border-left: 0.3rem solid #fff;
}
.opencampus--info .date ul.date--list li a .left_border::before {
  bottom: 0;
  left: 0;
}
.opencampus--info .date ul.date--list li a .left_border::after {
  top: 0;
  left: 0;
}
.opencampus--info .date ul.date--list li a .right_border {
  top: -1rem;
  right: 1rem;
  border-right: 0.3rem solid #fff;
}
.opencampus--info .date ul.date--list li a .right_border::before {
  top: 0;
  right: 0;
}
.opencampus--info .date ul.date--list li a .right_border::after {
  bottom: 0;
  right: 0;
}
.opencampus--info .date--time {
  width: 34.3rem;
}
@media print, screen and (min-width: 768px) {
  .opencampus--info .date--time {
    border-right: 2px solid #fff;
  }
}
@media only screen and (max-width: 767px) {
  .opencampus--info .date--time {
    width: 100%;
    margin-bottom: 5.2rem;
  }
}
.opencampus--info .date--time .date--title {
  margin-bottom: 1.1rem;
}
@media only screen and (max-width: 767px) {
  .opencampus--info .date--time .date--title {
    margin-bottom: 1.7rem;
  }
}
.opencampus--info .date--time p {
  color: #fff;
  text-align: center;
  font-size: 3.8rem;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .opencampus--info .date--time p {
    padding-left: 2rem;
  }
}
.opencampus--info .date--time p small {
  font-size: 60%;
}
.opencampus--info .date--time p span {
  font-size: 2.4rem;
  font-weight: inherit;
}
@media print, screen and (min-width: 768px) {
  .opencampus--info .date--time p span {
    display: block;
  }
}
.opencampus--info .date--target {
  width: 84.7rem;
}
.opencampus--info .date--target .date--title {
  margin-bottom: 2.3rem;
}
@media only screen and (max-width: 767px) {
  .opencampus--info .date--target .date--title {
    margin-bottom: 2.5rem;
  }
}
.opencampus--info .date--target ul {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  .opencampus--info .date--target ul {
    gap: 1.3rem 0;
  }
}
.opencampus--info .date--target ul li {
  text-align: center;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.916;
}
@media print, screen and (min-width: 768px) {
  .opencampus--info .date--target ul li {
    letter-spacing: -0.02em;
    padding-left: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .opencampus--info .date--target ul li {
    font-size: 3rem;
    line-height: 1.3;
    width: 50%;
    text-align: center;
  }
  .opencampus--info .date--target ul li span {
    font-size: 2.6rem;
  }
}
.opencampus--info .date .visit-btn {
  width: 62.2rem;
  height: 13.8rem;
  margin: 6.3rem auto 0;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .opencampus--info .date .visit-btn {
    width: 100%;
    height: 14.8rem;
    margin: 6.9rem auto 0;
  }
}
.opencampus--info .date .visit-btn::before {
  content: "";
  position: absolute;
  top: 0;
  right: 4.8rem;
  bottom: 0;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(45deg);
  margin: auto;
  width: 2rem;
  height: 2rem;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .opencampus--info .date .visit-btn::before {
    right: 5.7rem;
  }
}
.opencampus--info .date .visit-btn a {
  display: block;
  background: #000;
  color: #fff;
  text-align: center;
  position: relative;
  font-size: 4.2rem;
  font-weight: 700;
  padding: 2rem 0 2.3rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding-right: 1rem;
  border-radius: 0 2.3rem 0 2.3rem;
}
@media only screen and (max-width: 767px) {
  .opencampus--info .date .visit-btn a {
    padding: 2.3rem 0 2.7rem;
    letter-spacing: 0.175em;
  }
}
.opencampus--info .date .visit-btn a::before, .opencampus--info .date .visit-btn a::after {
  content: "";
  position: absolute;
  width: 4.8rem;
  height: 11.6rem;
  background: #333;
}
@media only screen and (max-width: 767px) {
  .opencampus--info .date .visit-btn a::before, .opencampus--info .date .visit-btn a::after {
    width: 5.3rem;
    height: 12.8rem;
  }
}
.opencampus--info .date .visit-btn a::before {
  -webkit-clip-path: polygon(100% 0, 0 0, 0 100%);
          clip-path: polygon(100% 0, 0 0, 0 100%);
  top: 0;
  left: 0;
}
.opencampus--info .date .visit-btn a::after {
  -webkit-clip-path: polygon(100% 100%, 100% 0, 0 100%);
          clip-path: polygon(100% 100%, 100% 0, 0 100%);
  right: 0;
  bottom: 0;
}
.opencampus--info .date .visit-btn a span {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0;
  display: block;
}
@media only screen and (max-width: 767px) {
  .opencampus--info .date .visit-btn a span {
    margin-bottom: 0.3rem;
    letter-spacing: 0.07em;
  }
}

.section-ttl {
  text-align: center;
}
.section-ttl .en {
  font-family: "Outfit", sans-serif;
  font-size: 3rem;
  font-weight: 600;
  margin-bottom: 2.1rem;
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .section-ttl .en {
    font-size: 2.4rem;
    letter-spacing: 0.06em;
    margin-bottom: 3rem;
  }
}
.section-ttl img {
  display: block;
  margin: 0 auto;
}

#opencampus .mv--img {
  background: #fef9ed url("../img/opencampus/mv-icons1.png") no-repeat center 6.625vw/100%;
  position: relative;
  padding-top: 6.5625vw;
}
@media only screen and (max-width: 767px) {
  #opencampus .mv--img {
    padding-top: 12rem;
    margin-bottom: 0.7rem;
  }
}
#opencampus .mv--img picture {
  display: block;
  margin: auto;
}
#opencampus .mv--img picture img {
  width: 100%;
}
#opencampus .mv--img::before, #opencampus .mv--img::after {
  content: "";
  position: absolute;
  left: 0;
}
#opencampus .mv--img::before {
  content: "";
  z-index: 2;
  top: 29.5625vw;
  width: 100%;
  height: 177%;
  background: url("../img/opencampus/oc_bg1.svg") no-repeat top center/cover;
}
@media only screen and (max-width: 767px) {
  #opencampus .mv--img::before {
    background: url("../img/opencampus/sp/oc_bg1.svg") no-repeat top center/cover;
    top: 69.8625vw;
    height: 307.5vw;
  }
}
#opencampus .mv--img::after {
  z-index: 3;
  width: 100%;
  height: 40.875vw;
  background: url("../img/opencampus/mv-icons2.svg") no-repeat top center/cover;
  top: 19.875vw;
}
#opencampus .mv--catch {
  position: absolute;
  top: 11.25vw;
  right: 0;
  left: 0;
  margin: auto;
  width: 75vw;
}
@media only screen and (max-width: 767px) {
  #opencampus .mv--catch {
    width: 70rem;
    z-index: 2;
    top: 53.45vw;
  }
}
#opencampus .mv--catch img {
  width: 100%;
}
#opencampus .recommend {
  padding: 17.2rem 0 23.4rem;
  background: url("../img/opencampus/recommend-bg.svg") no-repeat center top/100%;
  margin-top: 6rem;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  #opencampus .recommend {
    background: url("../img/opencampus/sp/recommend-bg.svg") no-repeat top center/100%;
    margin-top: 10.9rem;
    padding: 15.3rem 0 20.9rem;
  }
}
@media print, screen and (min-width: 768px) {
  #opencampus .recommend::before {
    content: "";
    top: 17.2rem;
    left: 0;
    height: 100%;
    background: #fff;
    position: absolute;
  }
}
#opencampus .recommend * {
  font-family: "Zen Kaku Gothic New", sans-serif;
}
#opencampus .recommend .inner {
  width: 130rem;
  margin: auto;
}
@media only screen and (max-width: 767px) {
  #opencampus .recommend .inner {
    width: 100%;
    background: #fff;
    padding: 0 5rem;
  }
}
#opencampus .recommend .section-ttl {
  margin-bottom: 7.4rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .recommend .section-ttl {
    margin-bottom: 6.8rem;
  }
}
#opencampus .recommend .section-ttl .en {
  color: #f4c84d;
}
#opencampus .recommend .section-ttl img {
  width: 65.2rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .recommend .section-ttl img {
    width: 54rem;
  }
}
#opencampus .recommend--list {
  display: flex;
  align-items: stretch;
  gap: 3rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .recommend--list {
    flex-wrap: wrap;
    gap: 4.4rem;
  }
}
#opencampus .recommend--list li {
  width: 23.6rem;
  background: #f4c84d;
  border-radius: 2rem;
  padding: 2.9rem 0 3.4rem;
}
@media print, screen and (min-width: 768px) {
  #opencampus .recommend--list li {
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .recommend--list li {
    width: 100%;
    padding: 3rem 0 3rem 4.2rem;
    border-radius: 2.7rem;
  }
  #opencampus .recommend--list li figure {
    display: flex;
    align-items: center;
  }
}
#opencampus .recommend--list li .icon {
  width: 8rem;
  height: 7.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.2rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .recommend--list li .icon {
    width: 10.6rem;
    height: auto;
    margin: 0 3.4rem 0 0px;
  }
}
#opencampus .recommend--list li .icon.icon1 img {
  width: 6.2rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .recommend--list li .icon.icon1 img {
    width: 8.1rem;
  }
}
#opencampus .recommend--list li .icon.icon2 img {
  width: 8rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .recommend--list li .icon.icon2 img {
    width: 10.6rem;
  }
}
#opencampus .recommend--list li .icon.icon3 img {
  width: 6.2rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .recommend--list li .icon.icon3 img {
    width: 8.2rem;
  }
}
#opencampus .recommend--list li .icon.icon4 img {
  width: 6.7rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .recommend--list li .icon.icon4 img {
    width: 8.8rem;
  }
}
#opencampus .recommend--list li .icon.icon5 img {
  width: 6.4rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .recommend--list li .icon.icon5 img {
    width: 8.5rem;
  }
}
#opencampus .recommend--list li figcaption {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.363;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 9rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .recommend--list li figcaption {
    font-size: 2.87rem;
    line-height: 1.38;
  }
}
#opencampus .benefits {
  background: url("../img/opencampus/benefits-bg.svg") no-repeat top center/cover;
  margin-top: -8.2rem;
  padding: 20.4rem 0 22.3rem;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  #opencampus .benefits {
    background: url("../img/opencampus/sp/benefits-bg.svg") no-repeat top center/cover;
    margin-top: -9rem;
    z-index: 2;
    padding: 17rem 0 15.5rem;
  }
}
#opencampus .benefits * {
  font-family: "Zen Kaku Gothic New", sans-serif;
}
#opencampus .benefits::before {
  content: "";
  width: 100vw;
  height: 100%;
  background: no-repeat center top/cover;
  background-image: -webkit-image-set(url("../img/opencampus/benefits-img.webp") type("image/webp"), url("../img/opencampus/benefits-img.png") type("image/png"));
  background-image: image-set(url("../img/opencampus/benefits-img.webp") type("image/webp"), url("../img/opencampus/benefits-img.png") type("image/png"));
  position: absolute;
  top: -2.3rem;
  left: 0;
  z-index: 2;
}
#opencampus .benefits .inner {
  position: relative;
  z-index: 2;
}
#opencampus .benefits .section-ttl {
  margin-bottom: 6.7rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .benefits .section-ttl {
    margin-bottom: 5.3rem;
  }
}
#opencampus .benefits .section-ttl .en {
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .benefits .section-ttl .en {
    margin-bottom: 2.6rem;
  }
}
#opencampus .benefits .section-ttl img {
  width: 88.4rem;
}
@media print, screen and (min-width: 768px) {
  #opencampus .benefits .section-ttl img {
    position: relative;
    left: -0.5rem;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .benefits .section-ttl img {
    width: 43.4rem;
  }
}
#opencampus .benefits--list {
  display: flex;
  align-items: stretch;
  gap: 3.2rem;
  position: relative;
  width: 120rem;
  margin: 0 auto;
  counter-reset: li;
}
@media only screen and (max-width: 767px) {
  #opencampus .benefits--list {
    width: 66.1rem;
    flex-wrap: wrap;
    gap: 4.1rem 3.7rem;
  }
}
#opencampus .benefits--list li {
  width: 27.6rem;
  background: #fff;
  border-radius: 27.6rem;
  aspect-ratio: 1/1;
  padding: 2.7rem 0 0;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #opencampus .benefits--list li {
    width: 31.2rem;
    padding-top: 3.1rem;
  }
}
#opencampus .benefits--list li::before {
  font-family: "Outfit", sans-serif;
  display: block;
  width: 6.6rem;
  height: 6.6rem;
  background: #51cea4;
  line-height: 6.6rem;
  border-radius: 99999px;
  text-align: center;
  color: #fff;
  font-size: 2.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  counter-increment: li;
  margin: 0 auto 1rem;
  content: "0" counter(li);
}
@media only screen and (max-width: 767px) {
  #opencampus .benefits--list li::before {
    width: 7.5rem;
    height: 7.5rem;
    line-height: 7.5rem;
    font-size: 3.1rem;
    margin-bottom: 1.3rem;
  }
}
#opencampus .benefits--list li div {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.39;
}
@media only screen and (max-width: 767px) {
  #opencampus .benefits--list li div {
    font-size: 3rem;
  }
}
#opencampus .benefits--list li div mark {
  background: linear-gradient(transparent 60%, rgba(255, 151, 169, 0.25) 72%);
  color: #f7637c;
  font-size: 3rem;
  font-weight: inherit;
}
@media only screen and (max-width: 767px) {
  #opencampus .benefits--list li div mark {
    font-size: 3.4rem;
  }
}
#opencampus .dlsystem {
  background: url("../img/opencampus/system-bg.svg") no-repeat top center/100%;
  position: relative;
  margin-top: -16.6rem;
  padding: 17.6rem 0 23rem;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem {
    background: url("../img/opencampus/sp/system-bg.svg") no-repeat top center/100%;
    padding: 16.2rem 0 30rem;
    margin-top: -7.7rem;
    z-index: 2;
  }
}
#opencampus .dlsystem * {
  font-family: "Zen Kaku Gothic New", sans-serif;
}
#opencampus .dlsystem .inner {
  width: 120rem;
  margin: auto;
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem .inner {
    width: 66.7rem;
  }
}
#opencampus .dlsystem .section-ttl {
  margin-bottom: 5.5rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem .section-ttl {
    margin-bottom: 4.8rem;
  }
}
#opencampus .dlsystem .section-ttl .en {
  color: #ffb0ba;
}
#opencampus .dlsystem .section-ttl img {
  width: 88.5rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem .section-ttl img {
    width: 50rem;
  }
}
#opencampus .dlsystem--lead {
  margin-bottom: 3.8rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem--lead {
    margin-bottom: 5.3rem;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem--lead::after {
    content: "";
    display: block;
    width: 64.1rem;
    height: 23.4rem;
    background: no-repeat center/cover;
    background-image: -webkit-image-set(url("../img/opencampus/sp/system-img1.webp") type("image/webp"), url("../img/opencampus/sp/system-img1.png") type("image/png"));
    background-image: image-set(url("../img/opencampus/sp/system-img1.webp") type("image/webp"), url("../img/opencampus/sp/system-img1.png") type("image/png"));
    margin: 4.4rem auto 0;
  }
}
#opencampus .dlsystem--lead h3 {
  text-align: center;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 4.5rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem--lead h3 {
    letter-spacing: -0.01em;
    font-size: 3.2rem;
    margin-bottom: 5.2rem;
  }
}
#opencampus .dlsystem--lead h3 mark {
  background: linear-gradient(transparent 60%, #ffff00 72%);
  font-size: 3.2rem;
  font-weight: inherit;
  color: #f7637c;
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem--lead h3 mark {
    font-size: 3.7rem;
  }
}
#opencampus .dlsystem--lead .lead-text {
  width: 95rem;
  margin: auto;
  position: relative;
  background: #ffecee;
  padding: 3.4rem 0;
  border-radius: 2rem;
}
@media print, screen and (min-width: 768px) {
  #opencampus .dlsystem--lead .lead-text {
    letter-spacing: 0.05em;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem--lead .lead-text {
    padding: 4.2rem 4.2rem 6.4rem 5.2rem;
    width: 100%;
  }
}
#opencampus .dlsystem--lead .lead-text::before, #opencampus .dlsystem--lead .lead-text::after {
  content: "";
  position: absolute;
  background: no-repeat center/cover;
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem--lead .lead-text::before, #opencampus .dlsystem--lead .lead-text::after {
    display: none;
  }
}
#opencampus .dlsystem--lead .lead-text::before {
  background-image: -webkit-image-set(url("../img/opencampus/system-img1.webp") type("image/webo"), url("../img/opencampus/system-img1.png") type("image/png"));
  background-image: image-set(url("../img/opencampus/system-img1.webp") type("image/webo"), url("../img/opencampus/system-img1.png") type("image/png"));
  width: 37.6rem;
  height: 44.5rem;
  top: -11.8rem;
  left: -24.7rem;
}
#opencampus .dlsystem--lead .lead-text::after {
  background-image: -webkit-image-set(url("../img/opencampus/system-img2.webp") type("image/webo"), url("../img/opencampus/system-img2.png") type("image/png"));
  background-image: image-set(url("../img/opencampus/system-img2.webp") type("image/webo"), url("../img/opencampus/system-img2.png") type("image/png"));
  width: 36.1rem;
  height: 45.8rem;
  top: -14.2rem;
  right: -24.2rem;
}
#opencampus .dlsystem--lead .lead-text p {
  font-size: 1.6rem;
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.875;
}
@media print, screen and (min-width: 768px) {
  #opencampus .dlsystem--lead .lead-text p {
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem--lead .lead-text p {
    font-size: 3rem;
    line-height: 1.8;
  }
}
#opencampus .dlsystem--lead .lead-text small {
  display: block;
  margin-top: 1rem;
  font-size: 1.41rem;
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
}
@media print, screen and (min-width: 768px) {
  #opencampus .dlsystem--lead .lead-text small {
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem--lead .lead-text small {
    font-size: 2.6rem;
    margin-top: 1.4rem;
    padding-left: 2.6rem;
    text-indent: -2.6rem;
    line-height: 1.7;
  }
}
#opencampus .dlsystem--point .point-list {
  display: flex;
  align-items: stretch;
  width: 86.9rem;
  margin: 0 auto 4rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem--point .point-list {
    width: 66.7rem;
    margin-bottom: 4.3rem;
  }
}
#opencampus .dlsystem--point .point-list * {
  font-family: "Zen Kaku Gothic New", sans-serif;
}
#opencampus .dlsystem--point .point-list li {
  padding-bottom: 2rem;
}
@media print, screen and (min-width: 768px) {
  #opencampus .dlsystem--point .point-list li {
    display: flex;
    align-items: flex-start;
  }
}
#opencampus .dlsystem--point .point-list li::before {
  content: "";
  display: block;
  width: 8.2rem;
  height: 9.2rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem--point .point-list li::before {
    width: 9.3rem;
    height: 10.3rem;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem--point .point-list li.point1, #opencampus .dlsystem--point .point-list li.point2 {
    position: relative;
  }
  #opencampus .dlsystem--point .point-list li.point1::after, #opencampus .dlsystem--point .point-list li.point2::after {
    content: "";
    width: 0.17rem;
    height: 18.2rem;
    background: #000;
    position: absolute;
    top: 2.1rem;
    right: 0;
    margin: auto;
  }
}
#opencampus .dlsystem--point .point-list li.point1 {
  padding-right: 4rem;
  margin-right: 4rem;
}
@media print, screen and (min-width: 768px) {
  #opencampus .dlsystem--point .point-list li.point1 {
    border-right: 1px solid #000;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem--point .point-list li.point1 {
    padding: 0 5.3rem 0 1rem;
    margin-right: 5rem;
  }
}
#opencampus .dlsystem--point .point-list li.point1::before {
  background: url("../img/opencampus/point1.svg") no-repeat center/cover;
}
@media print, screen and (min-width: 768px) {
  #opencampus .dlsystem--point .point-list li.point1::before {
    margin-right: 1.6rem;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem--point .point-list li.point1::before {
    margin: 0 0 2.7rem 1.4rem;
  }
}
#opencampus .dlsystem--point .point-list li.point2 {
  padding-right: 3.5rem;
  margin-right: 3.2rem;
}
@media print, screen and (min-width: 768px) {
  #opencampus .dlsystem--point .point-list li.point2 {
    border-right: 1px solid #000;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem--point .point-list li.point2 {
    padding-right: 4.7rem;
    margin-right: 3.9rem;
  }
}
#opencampus .dlsystem--point .point-list li.point2::before {
  background: url("../img/opencampus/point2.svg") no-repeat center/cover;
}
@media print, screen and (min-width: 768px) {
  #opencampus .dlsystem--point .point-list li.point2::before {
    margin-right: 2.2rem;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem--point .point-list li.point2::before {
    margin: 0 0 2.7rem 2.7rem;
  }
}
#opencampus .dlsystem--point .point-list li.point3 h4 {
  margin-top: 0.6rem;
  line-height: 1.13;
}
#opencampus .dlsystem--point .point-list li.point3::before {
  background: url("../img/opencampus/point3.svg") no-repeat center/cover;
}
@media print, screen and (min-width: 768px) {
  #opencampus .dlsystem--point .point-list li.point3::before {
    margin-right: 1.3rem;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem--point .point-list li.point3::before {
    margin: 0 0 1.7rem 4.3rem;
  }
}
#opencampus .dlsystem--point .point-list li h4 {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  #opencampus .dlsystem--point .point-list li h4 {
    margin-top: 1.8rem;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem--point .point-list li h4 {
    font-size: 3.1rem;
  }
}
#opencampus .dlsystem--point .point-list li h4 mark {
  background: linear-gradient(transparent 60%, #ffff00 72%);
}
#opencampus .dlsystem .pattern-image {
  width: 95rem;
  margin: 0 auto 4.9rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem .pattern-image {
    width: 66.7rem;
    gap: 4.7rem;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    position: relative;
    padding-bottom: 6rem;
    margin-bottom: 7.5rem;
  }
}
#opencampus .dlsystem .pattern-image .single {
  margin-bottom: 1.4rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem .pattern-image .single {
    width: 31rem;
  }
}
#opencampus .dlsystem .pattern-image .single small {
  display: block;
  font-size: 1.4rem;
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
  margin-top: 1.5rem;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 768px) {
  #opencampus .dlsystem .pattern-image .single small {
    text-align: right;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem .pattern-image .single small {
    position: absolute;
    left: 0;
    width: 100%;
    margin-top: 0;
    bottom: 0;
    font-size: 2.3rem;
    letter-spacing: 0.04em;
  }
}
#opencampus .dlsystem .content1 .read {
  margin-bottom: 4.7rem;
}
@media print, screen and (min-width: 768px) {
  #opencampus .dlsystem .content1 .read {
    display: flex;
    align-items: flex-start;
    justify-content: center;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem .content1 .read {
    margin-bottom: 6.3rem;
  }
}
#opencampus .dlsystem .content1 .read * {
  font-family: "Zen Kaku Gothic New", sans-serif;
}
#opencampus .dlsystem .content1 .read h2 {
  text-align: center;
  color: #f7637c;
  font-size: 4rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.2;
}
@media print, screen and (min-width: 768px) {
  #opencampus .dlsystem .content1 .read h2 {
    margin-right: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem .content1 .read h2 {
    font-size: 4.2rem;
    line-height: 1.15;
  }
}
#opencampus .dlsystem .content1 .read h2 span {
  font-size: 3rem;
  font-weight: inherit;
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem .content1 .read h2 span {
    font-size: 3.2rem;
  }
}
#opencampus .dlsystem .content1 .read h2 mark {
  background: linear-gradient(transparent 60%, #ffff00 72%);
  color: inherit;
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem .content1 .read h2 mark {
    position: relative;
    padding: 0 0 0 1.5rem;
    background: none;
  }
  #opencampus .dlsystem .content1 .read h2 mark::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    background: #ffff00;
    -webkit-clip-path: polygon(0.4rem 0%, 100% 0%, calc(100% - 0.4rem) 100%, 0% 100%);
            clip-path: polygon(0.4rem 0%, 100% 0%, calc(100% - 0.4rem) 100%, 0% 100%);
    width: 100%;
    height: 1.7rem;
    z-index: -1;
  }
}
#opencampus .dlsystem .content1 .read .bg-txt {
  width: 46.8rem;
  background: #f7637c;
  border-radius: 1rem;
  padding: 0.9rem 0;
  text-align: center;
  margin-top: 0.9rem;
}
@media print, screen and (min-width: 768px) {
  #opencampus .dlsystem .content1 .read .bg-txt {
    height: 8.8rem;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem .content1 .read .bg-txt {
    width: 56rem;
    margin: 3.6rem auto 0;
    padding: 1.2rem 0 1.4rem;
  }
}
#opencampus .dlsystem .content1 .read .bg-txt p {
  color: #fff;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}
@media only screen and (max-width: 767px) {
  #opencampus .dlsystem .content1 .read .bg-txt p {
    font-size: 2.9rem;
    line-height: 1.4;
  }
}
#opencampus .flow {
  position: relative;
  margin-top: -15.4rem;
  padding: 22rem 0 23.3rem;
  background: url("../img/opencampus/flow-bg.svg") no-repeat top center/100%;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  #opencampus .flow {
    background: url("../img/opencampus/sp/flow-bg.svg") no-repeat top center/100%;
    padding: 17.3rem 0 15.3rem;
  }
}
#opencampus .flow * {
  font-family: "Zen Kaku Gothic New", sans-serif;
}
#opencampus .flow .section-ttl {
  margin-bottom: 5.2rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .flow .section-ttl {
    margin-bottom: 7.6rem;
  }
}
#opencampus .flow .section-ttl img {
  width: 96.2rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .flow .section-ttl img {
    width: 49.5rem;
  }
}
#opencampus .flow .inner {
  width: 130rem;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  #opencampus .flow .inner {
    width: 71rem;
  }
}
#opencampus .flow--list {
  position: relative;
}
#opencampus .flow--list::before {
  content: "";
  width: 0.5rem;
  height: 128.6rem;
  background: #fff;
  position: absolute;
  top: 0;
  left: 3.7rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .flow--list::before {
    height: 236.6rem;
  }
}
#opencampus .flow--list .single {
  display: flex;
  align-items: flex-start;
  margin-bottom: 4.4rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .flow--list .single {
    margin-bottom: 2rem;
  }
}
#opencampus .flow--list .single .time {
  font-family: "Outfit", sans-serif;
  width: 8rem;
  line-height: 8rem;
  aspect-ratio: 1/1;
  text-align: center;
  color: #e2ad29;
  background: #fff;
  border-radius: 9999px;
  margin-right: 1.8rem;
  font-size: 2.5rem;
  font-weight: 600;
  position: relative;
}
#opencampus .flow--list .single--content {
  width: calc(100% - 10rem);
  margin-top: 0;
}
#opencampus .flow--list .single--content figure {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  #opencampus .flow--list .single--content figure {
    position: relative;
  }
}
#opencampus .flow--list .single--content figure picture {
  margin: 0.6rem 2.7rem 0 0;
  width: 26rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .flow--list .single--content figure picture {
    width: 26.6rem;
    position: absolute;
    top: 8.1rem;
    left: -3.4rem;
    margin: 0;
  }
}
#opencampus .flow--list .single--content figure picture img {
  border-radius: 1.5rem;
}
#opencampus .flow--list .single--content figure figcaption h3 {
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .flow--list .single--content figure figcaption h3 {
    font-size: 3.4rem;
    margin: 0.8rem 0 0 0.4rem;
    order: 1;
  }
  #opencampus .flow--list .single--content figure figcaption h3.other {
    letter-spacing: -0.145em;
  }
}
#opencampus .flow--list .single--content figure figcaption p {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.875;
  letter-spacing: 0.02em;
}
@media only screen and (max-width: 767px) {
  #opencampus .flow--list .single--content figure figcaption p {
    font-size: 2.5rem;
    letter-spacing: 0.04em;
    font-size: 2.5rem;
    margin-top: 0.6rem;
    padding: 0 5rem 0 26.4rem;
    order: 3;
  }
}
#opencampus .flow--list .single--content figure figcaption p .fukidashi {
  position: relative;
  display: block;
  margin-top: 2.6rem;
  padding: 1.7rem 2rem;
  border-radius: 2rem;
  background-color: #fff;
  text-align: left;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.625;
  color: #000000;
}
@media only screen and (max-width: 767px) {
  #opencampus .flow--list .single--content figure figcaption p .fukidashi {
    position: absolute;
    left: 0;
    top: 32rem;
    width: 26.8rem;
    font-size: 2.3rem;
    padding: 1.4rem 1.9rem 2.2rem;
    letter-spacing: 0;
  }
}
#opencampus .flow--list .single--content figure figcaption p .fukidashi::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  border-style: solid;
  border-width: 0 1rem 2rem 1rem;
  border-color: transparent transparent #fff;
  translate: -50% -100%;
}
#opencampus .flow--list .single .title-icon {
  display: flex;
  align-items: stretch;
  margin: 0.7rem 0 1.2rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .flow--list .single .title-icon {
    order: 2;
    margin: 1.1rem 0 0;
  }
}
#opencampus .flow--list .single .title-icon li {
  line-height: 3rem;
  background: #000;
  border-radius: 999px;
  color: #fff;
  padding: 0 1.1rem;
  margin-right: 1rem;
  font-size: 1.6rem;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  #opencampus .flow--list .single .title-icon li {
    font-size: 2.5rem;
    line-height: 4.6rem;
    padding: 0 1.7rem;
  }
}
#opencampus .flow--list .single-group {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
}
#opencampus .flow--list .single-group .group-top {
  margin-bottom: 0;
  padding-bottom: 0;
  position: relative;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  #opencampus .flow--list .single-group .group-top {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .flow--list .single-group .group-top {
    padding-bottom: 17.5rem;
  }
}
#opencampus .flow--list .single-group .group-top::after {
  content: "";
  position: absolute;
  background: url("../img/opencampus/flow-arrow.svg") no-repeat center/cover;
  width: 57.4rem;
  height: 11.8rem;
  left: 21.7rem;
  bottom: 3.1rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .flow--list .single-group .group-top::after {
    background: url("../img/opencampus/sp/flow-arrow.svg") no-repeat top right/cover;
    width: 34rem;
    height: 93.2rem;
    top: 2.9rem;
    right: 2.4rem;
    left: auto;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .flow--list .single-group .group-top .single {
    padding-left: 6.3rem;
  }
}
@media print, screen and (min-width: 768px) {
  #opencampus .flow--list .single-group .group-top .single:first-of-type {
    margin-right: auto;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .flow--list .single-group .group-top .single:first-of-type {
    padding-left: 0;
    margin-bottom: 0.4rem;
  }
}
#opencampus .flow--list .single-group .group-top .single .single--content {
  width: 64rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .flow--list .single-group .group-top .single .single--content {
    width: calc(100% - 10rem);
  }
  #opencampus .flow--list .single-group .group-top .single .single--content.sp_other {
    width: 100%;
  }
  #opencampus .flow--list .single-group .group-top .single .single--content.sp_other figure figcaption p {
    padding: 0 6rem 0 29.6rem;
    margin-top: 1.8rem;
    letter-spacing: 0;
    line-height: 1.85;
  }
  #opencampus .flow--list .single-group .group-top .single .single--content picture.other {
    top: 15rem;
    left: 0;
  }
}
#opencampus .flow--list .single-group .group-top .single .single--content figure figcaption {
  width: 35.2rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .flow--list .single-group .group-top .single .single--content figure figcaption {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 0 1.4rem;
  }
}
#opencampus .flow--list .single-group .group-top .single:first-of-type .single--content {
  width: 53.2rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .flow--list .single-group .group-top .single:first-of-type .single--content {
    width: calc(100% - 10rem);
  }
}
#opencampus .flow--list .single-group .group-top .single:first-of-type .single--content figure figcaption {
  width: 24.5rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .flow--list .single-group .group-top .single:first-of-type .single--content figure figcaption {
    width: 100%;
  }
}
#opencampus .flow--list .single-group .group-bottom {
  padding-left: 9.8rem;
  width: 100%;
  margin-top: -0.4rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .flow--list .single-group .group-bottom {
    padding-left: 6.3rem;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .flow--list .single-group .group-bottom .single--content {
    width: 100%;
  }
}
#opencampus .flow--list .single-group .group-bottom .single--content figure {
  display: flex;
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  #opencampus .flow--list .single-group .group-bottom .single--content figure picture {
    top: 15rem;
    left: 0;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .flow--list .single-group .group-bottom .single--content figure figcaption {
    display: flex;
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .flow--list .single-group .group-bottom .single--content figure figcaption p {
    padding: 0 3rem 0 29.6rem;
    margin-top: 1.8rem;
  }
}
#opencampus .experience {
  margin-top: -21.7rem;
  padding-top: 17rem;
  background: url("../img/opencampus/experience-bg.svg") no-repeat top center/100%;
  position: relative;
  padding-bottom: 23.8rem;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  #opencampus .experience {
    background: url("../img/opencampus/sp/experience-bg.svg") no-repeat top center/100%;
    margin-top: -7.4rem;
    padding: 12.1rem 0 15rem;
  }
}
#opencampus .experience .inner {
  width: 120rem;
  margin: auto;
}
@media only screen and (max-width: 767px) {
  #opencampus .experience .inner {
    width: 67rem;
  }
}
#opencampus .experience .section-ttl {
  margin-bottom: 4.5rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .experience .section-ttl {
    margin-bottom: 5.9rem;
  }
}
#opencampus .experience .section-ttl img {
  width: 95.4rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .experience .section-ttl img {
    width: 50rem;
  }
}
#opencampus .experience .section-ttl .en {
  color: #b3e8d9;
}
@media only screen and (max-width: 767px) {
  #opencampus .experience .section-ttl .en {
    margin-bottom: 2.6rem;
  }
}
#opencampus .experience--lead {
  margin-bottom: 5.5rem;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #opencampus .experience--lead {
    margin-bottom: 6.4rem;
  }
}
#opencampus .experience--lead p {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.818;
}
@media only screen and (max-width: 767px) {
  #opencampus .experience--lead p {
    line-height: 1.8;
    font-size: 2.75rem;
  }
}
#opencampus .experience--list {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 4rem;
}
#opencampus .experience--list .single {
  width: 58rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .experience--list .single {
    width: 100%;
  }
}
#opencampus .experience--list .single figure {
  background: #51cea4;
  border-radius: 2rem;
  overflow: hidden;
  display: flex;
}
@media print, screen and (min-width: 768px) {
  #opencampus .experience--list .single figure {
    align-items: center;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .experience--list .single figure {
    border-radius: 2.5rem;
  }
}
#opencampus .experience--list .single figure figcaption {
  width: 33rem;
  padding: 0 0 0 3.6rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .experience--list .single figure figcaption {
    width: 38rem;
    padding: 1.7rem 2.7rem 0 3.1rem;
  }
}
#opencampus .experience--list .single figure figcaption * {
  color: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
#opencampus .experience--list .single figure figcaption h3 {
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 0.6rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .experience--list .single figure figcaption h3 {
    font-size: 3.7rem;
    margin-bottom: 0.4rem;
    letter-spacing: -0.05em;
  }
}
#opencampus .experience--list .single figure figcaption p {
  font-size: 1.6rem;
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.05em;
  line-height: 1.875;
}
@media only screen and (max-width: 767px) {
  #opencampus .experience--list .single figure figcaption p {
    font-size: 2.7rem;
    line-height: 1.53;
  }
}
#opencampus .experience--list .single figure picture {
  width: 25rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .experience--list .single figure picture {
    width: calc(100% - 38rem);
  }
}
#opencampus .voices {
  padding: 22.2rem 0 10rem;
  background: url("../img/opencampus/voice-bg.svg") no-repeat top/100%;
  margin-top: -14.4rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #opencampus .voices {
    background: url("../img/opencampus/sp/voice-bg.svg") no-repeat top center/cover;
    margin-top: -9rem;
    padding: 17.1rem 0 0;
  }
}
#opencampus .voices .inner {
  width: 120rem;
  margin: auto;
}
@media only screen and (max-width: 767px) {
  #opencampus .voices .inner {
    width: 66.56rem;
  }
}
#opencampus .voices .section-ttl {
  margin-bottom: 5.9rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .voices .section-ttl {
    margin-bottom: 5.3rem;
  }
}
#opencampus .voices .section-ttl img {
  width: 68.1rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .voices .section-ttl img {
    width: 56rem;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .voices .section-ttl .en {
    margin-bottom: 1.7rem;
  }
}
@media print, screen and (min-width: 768px) {
  #opencampus .voices--list {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
}
#opencampus .voices--list .single {
  width: 34.3rem;
  position: relative;
  z-index: 3;
}
@media only screen and (max-width: 767px) {
  #opencampus .voices--list .single {
    width: 100%;
  }
}
#opencampus .voices--list .single picture {
  display: block;
}
@media only screen and (max-width: 767px) {
  #opencampus .voices--list .single.single1 figcaption {
    background: url("../img/opencampus/sp/voice-single-bg1.svg") no-repeat top center/cover;
    margin-left: auto;
  }
}
#opencampus .voices--list .single.single1 picture {
  margin-top: -5.4rem;
  margin-left: -1.2rem;
  width: 31.2rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .voices--list .single.single1 picture {
    margin-top: -20.6rem;
    margin-left: -11.2rem;
    width: 42.2rem;
  }
}
#opencampus .voices--list .single.single2 {
  margin-top: 4.7rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .voices--list .single.single2 {
    margin-top: -6.3rem;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .voices--list .single.single2 figcaption {
    background: url("../img/opencampus/sp/voice-single-bg2.svg") no-repeat top center/cover;
  }
}
#opencampus .voices--list .single.single2 picture {
  margin-top: -6.8rem;
  margin-left: -1.5rem;
  width: 31.9rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .voices--list .single.single2 picture {
    margin-top: -19.6rem;
    margin-right: -6.1rem;
    margin-left: auto;
    width: 32.5rem;
  }
}
#opencampus .voices--list .single.single3 {
  margin-top: 1.5rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .voices--list .single.single3 {
    margin-top: -5.7rem;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .voices--list .single.single3 figcaption {
    background: url("../img/opencampus/sp/voice-single-bg3.svg") no-repeat top center/cover;
    margin-left: auto;
  }
}
#opencampus .voices--list .single.single3 picture {
  margin-top: -5.8rem;
  margin-left: 0.5rem;
  width: 27.1rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .voices--list .single.single3 picture {
    margin-top: -18rem;
    margin-left: -11.5rem;
    width: 89.5rem;
  }
}
@media print, screen and (min-width: 768px) {
  #opencampus .voices--list .single:first-of-type figcaption {
    background: url("../img/opencampus/voice-single-bg1.svg") no-repeat top center/cover;
  }
}
#opencampus .voices--list .single figcaption {
  padding: 2.9rem 3.3rem 5.5rem;
}
@media print, screen and (min-width: 768px) {
  #opencampus .voices--list .single figcaption {
    background: url("../img/opencampus/voice-single-bg2.svg") no-repeat top center/cover;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .voices--list .single figcaption {
    padding: 4.8rem 6rem 9.4rem;
    width: 84.6%;
  }
}
#opencampus .voices--list .single figcaption p {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.875;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  #opencampus .voices--list .single figcaption p {
    font-size: 2.6rem;
  }
}
#opencampus .parents {
  background: url("../img/opencampus/parents-bg.svg") no-repeat top center/100%;
  margin-top: -34.7rem;
  padding: 29rem 0 9rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #opencampus .parents {
    margin-top: -6.6rem;
    background: url("../img/opencampus/sp/parents-bg.svg") no-repeat top center/100%;
    padding: 12.5rem 0 15rem;
  }
}
#opencampus .parents .inner {
  width: 120rem;
  margin: auto;
  display: flex;
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  #opencampus .parents .inner {
    width: 66.56rem;
    flex-wrap: wrap;
  }
}
#opencampus .parents--image {
  width: 66.5rem;
  aspect-ratio: 1/1;
  margin-right: 5.4rem;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  #opencampus .parents--image {
    order: 2;
    width: 51.2rem;
    margin: 4.4rem auto 0;
  }
}
#opencampus .parents--image img {
  border-radius: 9999px;
}
#opencampus .parents--content {
  width: calc(100% - 72rem);
  position: relative;
}
@media print, screen and (min-width: 768px) {
  #opencampus .parents--content {
    padding: 11.2rem 0 0;
  }
  #opencampus .parents--content::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    width: 68rem;
    height: 100%;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .parents--content {
    width: 100%;
  }
}
#opencampus .parents--content .section-ttl {
  text-align: left;
  margin-bottom: 4.8rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #opencampus .parents--content .section-ttl {
    text-align: center;
    margin-bottom: 6.4rem;
  }
}
#opencampus .parents--content .section-ttl .en {
  margin-bottom: 1.6rem;
  color: #f4c84d;
}
@media only screen and (max-width: 767px) {
  #opencampus .parents--content .section-ttl .en {
    margin-bottom: 2.4rem;
  }
}
#opencampus .parents--content .section-ttl img {
  margin: 0 0 0 0.55rem;
  width: 40.5rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .parents--content .section-ttl img {
    margin: 0 auto;
    width: 33.6rem;
  }
}
#opencampus .parents--content > p {
  position: relative;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.875;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  #opencampus .parents--content > p {
    font-size: 2.76rem;
    line-height: 1.95;
    background: rgba(255, 255, 255, 0.75);
  }
}
#opencampus .parents--content > p + p {
  margin-top: 3rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .parents--content > p + p {
    margin-top: 5.3rem;
  }
}
#opencampus .faq {
  background: url("../img/opencampus/faq-bg.svg") no-repeat top center/cover;
  position: relative;
  padding: 20.5rem 0 10.3rem;
  margin-top: -2.6rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .faq {
    background: url("../img/opencampus/sp/faq-bg.svg") no-repeat top center/cover;
    margin-top: -8.2rem;
    padding: 16.7rem 0 12.7rem;
  }
}
#opencampus .faq .inner {
  width: 120rem;
  margin: auto;
}
@media only screen and (max-width: 767px) {
  #opencampus .faq .inner {
    width: 66.56rem;
  }
}
#opencampus .faq .section-ttl {
  margin-bottom: 6.6rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .faq .section-ttl {
    margin-bottom: 7.4rem;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .faq .section-ttl .en {
    margin-bottom: 2.6rem;
  }
}
#opencampus .faq .section-ttl img {
  width: 46.2rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .faq .section-ttl img {
    width: 38rem;
  }
}
#opencampus .faq--list .single {
  background: #fff;
  border-radius: 2rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .faq--list .single {
    border-radius: 3rem;
  }
}
#opencampus .faq--list .single:not(:last-of-type) {
  margin-bottom: 3.4rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .faq--list .single:not(:last-of-type) {
    margin-bottom: 4.1rem;
  }
}
#opencampus .faq--list .single * {
  font-family: "Zen Kaku Gothic New", sans-serif;
}
#opencampus .faq--list .single .title {
  display: flex;
  padding: 2.7rem 5rem 3.2rem 5.7rem;
  cursor: pointer;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #opencampus .faq--list .single .title {
    padding: 3.2rem 5rem 3.2rem;
  }
}
#opencampus .faq--list .single .title::before {
  font-family: "Zen Kaku Gothic New", sans-serif;
  content: "Q.";
  color: #51cea4;
  font-size: 3.4rem;
  font-weight: 600;
  display: block;
  margin-right: 1rem;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  #opencampus .faq--list .single .title::before {
    margin-right: 1.4rem;
    font-size: 5.6rem;
  }
}
#opencampus .faq--list .single .title::after {
  content: "";
  position: absolute;
  width: 1rem;
  height: 1rem;
  border-top: 0.3rem solid #51cea4;
  border-left: 0.3rem solid #51cea4;
  top: 0;
  right: 5rem;
  bottom: 0;
  margin: auto;
  transform: rotate(225deg);
  transition: 0.3s;
}
@media only screen and (max-width: 767px) {
  #opencampus .faq--list .single .title::after {
    width: 1.8rem;
    height: 1.8rem;
    border-top-width: 0.5rem;
    border-left-width: 0.5rem;
    right: 3rem;
  }
}
#opencampus .faq--list .single .title.active::after {
  transform: rotate(45deg);
}
#opencampus .faq--list .single .title h3 {
  font-size: 2.2rem;
  font-weight: 700;
  padding: 0.2rem 0.2rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .faq--list .single .title h3 {
    font-size: 3.4rem;
    padding: 0;
    line-height: 1.7;
  }
}
#opencampus .faq--list .single .content {
  display: flex;
  align-items: flex-start;
  height: 0;
  overflow: hidden;
  transition: 0.3s;
  padding: 0 5rem;
}
#opencampus .faq--list .single .content.view {
  display: block;
}
#opencampus .faq--list .single .content .icon {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #f7637c;
  font-size: 3.4rem;
  font-weight: 600;
  display: block;
  line-height: 1;
  margin: -0.7rem 1.2rem 0 0;
}
@media only screen and (max-width: 767px) {
  #opencampus .faq--list .single .content .icon {
    margin-right: 1.4rem;
    font-size: 5.6rem;
  }
}
#opencampus .faq--list .single .content p {
  border-top: 2px solid #000;
  display: flex;
  align-items: flex-start;
  padding: 2rem 0 3rem;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.875;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  #opencampus .faq--list .single .content p {
    padding: 4rem 0 3rem 0.9rem;
    font-size: 2.88rem;
    line-height: 1.65;
  }
}
#opencampus .access {
  position: relative;
  z-index: 1;
}
#opencampus .access .inner {
  position: relative;
}
#opencampus .access .section-image {
  width: 192rem;
  margin: auto;
  position: absolute;
  bottom: 88%;
  left: -4vw;
  right: 0;
}
@media screen and (max-width: 1600px) {
  #opencampus .access .section-image {
    left: -10.9vw;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .access .section-image {
    left: 0rem;
    bottom: 99.9%;
  }
}
#opencampus .access .section-image img {
  width: 68.6rem;
}
@media screen and (max-width: 1600px) {
  #opencampus .access .section-image img {
    width: 71.2rem;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .access .section-image img {
    width: 53.1rem;
  }
}
#opencampus .access--content {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
@media print, screen and (min-width: 768px) {
  #opencampus .access--content .map {
    width: 63.5vw;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .access--content .map {
    width: 100%;
  }
}
#opencampus .access--content .map iframe {
  width: 100%;
  height: 47.4rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .access--content .map iframe {
    height: 51.8rem;
  }
}
#opencampus .access--text {
  width: 86rem;
  background: url("../img/opencampus/access-bg.svg") no-repeat left bottom/cover;
  z-index: 1;
  padding: 4.5rem 0 0 15.6rem;
}
@media screen and (max-width: 1600px) {
  #opencampus .access--text {
    width: 70.6rem;
  }
}
@media print, screen and (min-width: 768px) {
  #opencampus .access--text {
    position: absolute;
    right: 0;
    height: 100%;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .access--text {
    width: 100%;
    height: auto;
    margin-left: auto;
    background: url("../img/opencampus/sp/access-bg.svg") no-repeat left top/cover;
    position: relative;
    top: 0;
    padding: 8.2rem 0 7.7rem 19rem;
    margin-top: -5rem;
  }
}
#opencampus .access--text h2 {
  display: flex;
  align-items: center;
  margin-bottom: 1.7rem;
  font-size: 3.4rem;
  font-weight: 900;
  color: #fff;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  #opencampus .access--text h2 {
    margin-bottom: 1.5rem;
    font-size: 4rem;
  }
  #opencampus .access--text h2 img {
    width: 18.2rem;
    margin-top: 1rem;
  }
}
#opencampus .access--text h2::before {
  content: "";
  width: 6.1rem;
  height: 5rem;
  background: url("../img/home/access-icon.svg") no-repeat center/cover;
  margin-right: 3.5rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .access--text h2::before {
    width: 7.3rem;
    height: 6rem;
    margin-right: 3rem;
  }
}
#opencampus .access--text .address {
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.1rem;
  line-height: 1.05;
  color: #fff;
}
@media only screen and (max-width: 767px) {
  #opencampus .access--text .address {
    font-size: 2.88rem;
    line-height: 1.1;
  }
}
#opencampus .access--text .address span {
  font-size: 2.8rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .access--text .address span {
    font-size: 3.36rem;
  }
}
#opencampus .access--text .address span.big {
  font-size: 3.8rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .access--text .address span.big {
    font-size: 4.56rem;
  }
}
#opencampus .access--text .address.mb1 {
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 767px) {
  #opencampus .access--text .address.mb1 {
    margin-bottom: 1.4rem;
  }
}
#opencampus .access--text dl {
  margin-top: 2.6rem;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  padding: 0.7rem 0 1.1rem;
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  #opencampus .access--text dl {
    width: 46rem;
  }
}
@media only screen and (max-width: 767px) {
  #opencampus .access--text dl {
    padding: 1.3rem 0 1.5rem;
    margin-top: 3.4rem;
  }
}
#opencampus .access--text dl dt {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  #opencampus .access--text dl dt {
    font-size: 3.25rem;
  }
}
#opencampus .access--text dl dd {
  font-size: 1.6rem;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  #opencampus .access--text dl dd {
    font-size: 2.8rem;
    line-height: 1.7;
  }
}
#opencampus .access--text .link-btn {
  margin: 4rem 0;
}
#opencampus .access--text .link-btn::before, #opencampus .access--text .link-btn::after {
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  #opencampus .access--text .link-btn {
    margin: 5.2rem 0 0;
    width: 44.3rem;
  }
  #opencampus .access--text .link-btn a {
    position: relative;
  }
  #opencampus .access--text .link-btn a::before {
    position: absolute;
    top: 0;
    right: 4rem;
    bottom: 0;
    margin: auto;
  }
}

.bottom_oc {
  background: url("../img/opencampus/opencampus-bg-other.svg") no-repeat top center/cover;
  padding: 6.7rem 0 9.9rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .bottom_oc {
    margin-top: -1.6rem;
    z-index: 1;
  }
}
.bottom_oc .content-title {
  margin-bottom: 3rem;
}
@media only screen and (max-width: 767px) {
  .bottom_oc .content-title {
    margin-bottom: 4.8rem;
  }
}
.bottom_oc .content-title h2 {
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .bottom_oc .content-title h2 {
    padding: 5rem 0 0;
    line-height: 1;
  }
}
@media only screen and (max-width: 767px) {
  .bottom_oc .opencampus--info .content-title h2::before {
    width: 4.2rem;
    height: 6.7rem;
    top: 5.2rem;
    left: 5.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .bottom_oc .opencampus--info .content-title h2::after {
    width: 5.7rem;
    height: 7rem;
    top: 5.1rem;
    right: 5.5rem;
  }
}

@media print, screen and (min-width: 768px) {
  .cta {
    padding-top: 9rem;
  }
}
@media only screen and (max-width: 767px) {
  .cta {
    margin-top: 0;
  }
}

.floating {
  display: none !important;
}

.open_campus_floating {
  display: none;
}
.open_campus_floating.oc_page_only {
  display: block;
  width: 18.5rem;
  height: 18.5rem;
  opacity: 0;
  transition: 0.3s;
  visibility: hidden;
}
.open_campus_floating.oc_page_only.view {
  opacity: 1;
  visibility: visible;
}
@media print, screen and (min-width: 768px) {
  .open_campus_floating.oc_page_only a {
    position: relative;
    height: 100%;
    z-index: 1;
  }
}
@media only screen and (max-width: 767px) {
  .open_campus_floating.oc_page_only {
    bottom: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 12rem;
    -webkit-animation: none;
            animation: none;
  }
  .open_campus_floating.oc_page_only a {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #51cea4;
    width: 100%;
    height: 100%;
  }
  .open_campus_floating.oc_page_only a img {
    width: 37.5rem;
  }
}
.open_campus_floating.oc_page_only::before, .open_campus_floating.oc_page_only::after {
  content: "";
  transition: 0.3s;
}
@media only screen and (max-width: 767px) {
  .open_campus_floating.oc_page_only::before, .open_campus_floating.oc_page_only::after {
    display: none !important;
  }
}
.open_campus_floating.oc_page_only::before {
  width: 100%;
  height: 100%;
  background: url("../img/opencampus/application-bg.svg") no-repeat top center/cover;
  display: block;
}
@media print, screen and (min-width: 768px) {
  .open_campus_floating.oc_page_only::before {
    position: absolute;
  }
}
.open_campus_floating.oc_page_only::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 9.8rem;
  height: 10.4rem;
  background: url("../img/opencampus/application-txt.svg") no-repeat center/cover;
}
.open_campus_floating.oc_page_only:hover::before {
  background: url("../img/opencampus/application-bg-active.svg") no-repeat top center/cover;
  transform: rotate(180deg);
}
.open_campus_floating.oc_page_only:hover::after {
  background: url("../img/opencampus/application-txt-active.svg") no-repeat center/cover;
}

.end-text {
  width: 60rem;
  border: 2px solid #000;
  text-align: center;
  padding: 3rem 0;
  margin: 5rem auto 0;
  background: rgba(255, 255, 255, 0.75);
}
@media only screen and (max-width: 767px) {
  .end-text {
    width: 90%;
    padding: 4rem 0;
  }
}
.end-text p {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 2rem;
  font-weight: 600;
}
@media only screen and (max-width: 767px) {
  .end-text p {
    font-size: 3rem;
  }
}