/* 追加分 */
/* ========================

header

===========================*/

#care #menu-conts ul li.facebook a {
  background-color: #4267b2;
}

@media (max-width: 767px) {

  #menu-conts li a[href$="index_en.html"],
  #menu-conts li a[href$="admission/sp/"] {
    display: none;
  }
}

/* ========================

common

===========================*/
.pc-inline-none {
  display: none;
}

.section-block {
  padding: 100px 20px;
  max-width: 1200px;
  margin: 0 auto;
}

.section-block.pt2024 {
  padding: 100px 0 20px;
}

@media (min-width: 768px) {
  .section-block.pt2024 {
    padding: 250px 0 40px;
  }
}

.op-title {
  margin: 0 0 20px;
  font-size: 42px;
  text-align: center;
  position: relative;
  font-weight: 700;
}

.op-title::after {
  content: "";
  margin: 20px auto 0;
  width: 100px;
  height: 3px;
  display: block;
  background-color: #ef6aab;
}

.ruby {
  font-size: 13px;
}

@media (max-width: 575.98px) {
  .pc-inline-none {
    display: inline;
  }

  .section-block {
    /* padding: 60px 20px; */
    padding: 60px 20px 0;
    max-width: 1200px;
    margin: 0 auto;
  }

  .op-title {
    font-size: 26px;
    line-height: 42px;
  }

  .op-title::after {
    margin: 10px auto 0;
  }
}

@media (min-width: 768px) {
  #header .pc-gnav ul {
    max-width: 1240px;
  }
}

#menu-conts .facebook a {
  background-color: #4267b2;
}

/* ========================

MV

===========================*/

.op-block {
  padding-top: 47.793103%;
  margin: auto;
  background-image: url(../img/op-mv_pc.jpg);
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}

@media screen and (min-width:768px) {
  .op-block--is-campus {
    margin: 134px 0 0;
    background-image: url(../img/op-campus/op-campus_mv.jpg);
    background-position: right top;
    background-size: 1700px;
    background-repeat: no-repeat;
    position: relative;
    padding-top: 450px;
  }
}



.op-block__title {
  font-size: 68px;
  font-weight: 700;
  color: #EF6AAB;
  font-family: 'Montserrat', sans-serif;
  white-space: nowrap;
}

.op-block__time {
  margin: 10px 0 20px;
  font-size: 42px;
  font-weight: 700;
  color: #EF6AAB;
}

.op-block__time span {
  font-size: 22px;
}

.op-block__desc {
  padding: 10px;
  max-width: 417px;
  width: 100%;
  background-color: #fbaad1;
  color: #fff;
  line-height: 1.5;
}

/* トップ　スケジュールカード */
.op-block__schedule {
  display: flex;
  flex-wrap: wrap;
}

/* .op-block__schedule .op__schedule__block__schedule__list.pink {
  height: 100px;
} */

@media screen and (max-width:768px) {
  .op-block__schedule .op__schedule__block__schedule__list.pink {
    width: 48%;
    margin: 0 1% 2%;
  }
}

.op-block__schedule  .op__schedule__block__schedule__day .day {
  font-size: 40px;
}

.op-block__schedule__list {
  margin: 0 5px 10px;
  width: calc(100% / 3 - 30px / 3);
  height: 75px;
  position: relative;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.op-block__schedule__list.pink {
  border: 1px solid #ef6aab;
}

.op-block__schedule__day .day.pink {
  color: #ef6aab;
}

.op-block__schedule__day .week.pink {
  background-color: #ef6aab;
}

.op-block__schedule__triangle.pink {
  border-bottom: 30px solid #ef6aab;
}

.op-block__schedule__list.blue {
  border: 1px solid #23bbd2;
}

.op-block__schedule__day .day.blue {
  color: #23bbd2;
}

.op-block__schedule__day .week.blue {
  background-color: #23bbd2;
}

.op-block__schedule__triangle.blue {
  border-bottom: 30px solid #23bbd2;
}

.op-block__schedule__list.green {
  border: 1px solid #52c817;
}

.op-block__schedule__day .day.green {
  color: #52c817;
}

.op-block__schedule__day .week.green {
  background-color: #52c817;
}

.op-block__schedule__triangle.green {
  border-bottom: 30px solid #52c817;
}

.op-block__schedule__triangle {
  width: 0;
  height: 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  position: absolute;
  top: -5px;
  left: -20px;
  transform: rotate(-45deg);
}

.op-block__schedule__en {
  position: absolute;
  font-size: 16px;
  top: 3px;
  left: 6px;
  z-index: 2;
  color: #fff;
}

.op-block__schedule__day {
  margin: 0 0 0 20px;
  display: flex;
  align-items: center;
}

.op-block__schedule__day .day {
  margin: 0 0 8px;
  font-size: 38px;
  font-weight: 700;
}

.op-block__schedule__day .week {
  margin: 0 0 0 10px;
  height: 29px;
  width: 29px;
  border-radius: 100%;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* 詳細　スケジュールカード */
.op__schedule__block__schedule {
  display: flex;
  flex-wrap: wrap;
}

.op__schedule__block__schedule__list {
  margin: 0 5px 10px;
  padding: 20px 10px;
  width: calc(100% / 3 - 30px / 3);
  /* height: 167px; */
  position: relative;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.op__schedule__block__schedule__list__block {
  display: flex;
  align-items: center;
  justify-content: center;
}

.op__schedule__block__schedule__list.gray {
  border: 1px solid #bdbdbd;
}

.op__schedule__block__schedule__day .day.gray {
  color: #bdbdbd;
}

.op__schedule__block__schedule__day .week.gray {
  background-color: #bdbdbd;
}

.op__schedule__block__schedule__triangle.gray {
  border-bottom: 40px solid #bdbdbd;
}

.op__schedule__block__schedule__time.gray {
  color: #bdbdbd;
}

.op__schedule__block__schedule__list.pink {
  border: 1px solid #ef6aab;
}

.op__schedule__block__schedule__day .day.pink {
  color: #ef6aab;
}

.op__schedule__block__schedule__day .week.pink {
  background-color: #ef6aab;
}

.op__schedule__block__schedule__triangle.pink {
  border-bottom: 40px solid #ef6aab;
}

.op__schedule__block__schedule__list.blue {
  border: 1px solid #23bbd2;
}

.op__schedule__block__schedule__day .day.blue {
  color: #23bbd2;
}

.op__schedule__block__schedule__day .week.blue {
  background-color: #23bbd2;
}

.op__schedule__block__schedule__triangle.blue {
  border-bottom: 40px solid #23bbd2;
}

.op__schedule__block__schedule__list.green {
  border: 1px solid #52c817;
}

.op__schedule__block__schedule__day .day.green {
  color: #52c817;
}

.op__schedule__block__schedule__day .week.green {
  background-color: #52c817;
}

.op__schedule__block__schedule__triangle.green {
  border-bottom: 40px solid #52c817;
}

.op__schedule__block__schedule__triangle {
  width: 0;
  height: 0;
  border-left: 40px solid transparent;
  border-right: 40px solid transparent;
  position: absolute;
  top: -6px;
  left: -26px;
  transform: rotate(-45deg);
}

.op__schedule__block__schedule__en {
  position: absolute;
  font-size: 23px;
  top: 3px;
  left: 6px;
  z-index: 2;
  color: #fff;
}

.op__schedule__block__schedule__day {
  margin: 0;
  display: flex;
  align-items: flex-end;
}

.op__schedule__block__schedule__day .day {
  font-size: 56px;
  font-weight: 700;
  letter-spacing: -2.6px;
  letter-spacing: -.05em;
}

.op__schedule__block__schedule__day .week {
  margin: 0 0 0 5px;
  height: 29px;
  width: 29px;
  border-radius: 100%;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

.op__schedule__block__schedule__time {
  margin: 5px 0 0;
  font-size: 14px;
  text-align: center;
  line-height: 1.2;
  padding: 5px 0 0;
}

.op__schedule__block__schedule__time:nth-of-type(n+3) {
  border-top: 1px dotted #bdbdbd;
  padding-top: 5px;
}

.op__schedule__block__schedule__time > span {
  display: block;
  font-size: .875em;
}

.op__schedule__block__schedule__year {
  text-align: center;
  color: #ef6aab;
}

/* /詳細　スケジュールカード */

.op-block__note {
  margin: 10px 0 20px;
  font-size: 14px;
  line-height: 1.5;
  color: #000;
}

.op-block__supplement__item {
  margin: 5px 0 0;
  display: table;
}

.op-block__supplement__item__wrap {
  color: #fff;
  padding: 10px 13px;
  display: flex;
  align-items: center;
}

.op-block__supplement__item.pink {
  background-color: #ef6aab;
}

.op-block__supplement__item.blue {
  background-color: #23bbd2;
}

.op-block__supplement__item.green {
  background-color: #52c817;
}

.op-block__supplement__item span {
  margin: 0 3px 0 0;
  padding: 1px 0 0;
  width: 20px;
  height: 20px;
  background-color: #fff;
  display: flex;
  justify-content: center;
  border-radius: 100%;
}

.op-block__supplement__item span.pink {
  color: #ef6aab;
}

.op-block__supplement__item span.blue {
  color: #23bbd2;
}

.op-block__supplement__item span.green {
  color: #52c817;
}

.op__sub-schedule {
  width: 100%;
}

.op__sub-schedule h2 {
  margin: 0 0 10px;
  font-size: 20px;
}

.op__sub-schedule tr th:nth-of-type(1) {
  width: 11%;
}

.op__sub-schedule tr th:nth-of-type(3) {
  width: 24%;
}

.op__sub-schedule th {
  padding: 15px;
  background-color: #fff;
  border: 1px solid #ef6aab;
}

.op__sub-schedule td {
  padding: 15px;
  background-color: #fff;
  border: 1px solid #ef6aab;
  line-height: 1.5;
}

.op__sub-schedule p {
  margin: 10px 0;
  line-height: 1.5;
}

.mv-link {
  display: block;
  transition: 0.6s;
  color: inherit;
}

.mv-link:hover {
  opacity: 0.6;
}

.op-catch {
  position: absolute;
  top: 30%;
  left: 8%;
  right: auto;
  width: 40%;
  max-width: 730px;
  margin-right: 0;
}

.op-facebook {
  position: absolute;
  bottom: 6%;
  left: 9.3%;
  width: 29%;
  max-width: 660px;
  right: auto;
  margin-right: 0;
}

.op-facebook a {
  transition: 0.6s;
}

.op-facebook a:hover {
  opacity: 0.6;
}

@media (max-width: 767px) {
  .op-block {
    padding-top: 110.793103%;
    background-image: url(../img/op-mv_sp.jpg);
  }

  .op-block--is-campus {
    /* margin: 134px 0 0; */
    padding-top: 0;
    background-image: url(../img/op-campus/op-campus_mv_sp2.jpg);
    height: 160vw;
  }

  .op-block--is-campus  .op-catch {
    /* top: 60%; */
    top: 30%;
  }

  .op-catch {
    top: 94%;
    left: 0;
    right: 0;
    width: 90%;
    margin: auto;
  }

  .op-facebook {
    top: 182%;
    left: 22px;
    right: 0;
    width: 90%;
  }

  .op__sub-schedule th {
    padding: 15px 0;
  }

  .op__sub-schedule td {
    padding: 8px;
    letter-spacing: -1px;
    font-feature-settings: "palt";
  }
}

#care .sec-mv .inner .fb-box {
  height: 380px;
}

/* ========================

NEWS

===========================*/
#care .news {
  margin: 0 auto;
  padding: 40px 30px 100px;
  max-width: 1000px;
}

#care .news h2 {
  margin: 0 0 40px;
  padding: 0 0 10px;
  font-size: 27px;
  text-align: center;
  color: #ef6aab;
  border-bottom: 1px solid #ef6aab;
}

#care .news ul li {
  margin: 20px 0;
  display: flex;
}

#care .news ul li p {
  line-height: 22px;
}

#care .news ul li p:first-child {
  width: 20%;
}

#care .news ul li p:first-child span {
  color: #ef6aab;
}

#care .news ul li p:last-child {
  width: 79%;
}

@media (max-width: 767px) {
  #care .news ul li {
    display: block;
  }

  #care .news ul li p:first-child {
    margin: 0 0 5px;
    width: 100%;
  }

  #care .news ul li p:last-child {
    width: 100%;
  }
}

@media (max-width: 575.98px) {
  #care .news {
    padding: 60px 30px 40px;
  }
}

/* ========================

オープンキャンパス

===========================*/
.op-desc .opmv {
  margin: 134px 0 0;
  background-image: url(../img/op-campus/op-campus_mv.jpg);
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}

.opmv__desc {
  /* width: 58%; */
  width: 100%;
  padding: 70px 0 70px 100px;
  color: #ef6aab;
}

.opmv__desc__title {
  font-size: 24px;
}

.opmv__desc__en {
  font-size: 64px;
  font-weight: 700;
  font-family: 'Montserrat', sans-serif;
}

.opmv__desc__schedule {
  display: flex;
  align-items: flex-end;
}

.ruby-adjustment {
  letter-spacing: -3.5px;
}

.opmv__desc__day {
  font-size: 46px;
  display: flex;
  align-items: flex-end;
}

.opmv__desc__day .day {
  font-size: 100px;
  letter-spacing: -5px;
}


.opmv__desc__day .week {
  margin: 0 0 0 8px;
  padding: 6px 0 0;
  font-size: 16px;
  width: 31px;
  height: 31px;
  text-align: center;
  border-radius: 100%;
  background-color: #ef6aab;
  color: #fff;
  display: inline-block;
}

.opmv__desc__time {
  font-size: 42px;
  line-height: 0.7;
}

.opmv__desc__time span {
  font-size: 22px;
}

.opmv__desc__schedule__title {
  margin: 20px 0 0;
  font-size: 24px;
  font-weight: 700;
  /* background-color: #ef6aab;
  color: #fff; */
  display: inline-block;
}

.opmv__desc__sub__title {
  margin: 0 0 10px;
  font-size: 24px;
  font-weight: 700;
  /* background-color: #ef6aab;
  color: #fff; */
  display: inline-block;
}

.opmv__desc__sub {
  margin: 40px 0 0;
}

.opmv__desc__sub__date {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 700;
  font-feature-settings: "palt";
  line-height: 1.5;
}

.opmv__desc__supplement {
  margin: 20px 0 0;
  color: #000;
  font-size: 20px;
}

/* オープンキャンパスプログラム */
.program__Data__date {
  padding: 0 0 10px;
  font-size: 42px;
  color: #ef6aab;
  border-bottom: 2px solid #ef6aab;
}

.op-program__Data {
  padding-bottom: 0px;
}

.op-program__Data dd {
  margin: 40px auto 60px;
  display: flex;
  width: 90%;
  max-width: 860px;
}

.program__Data__img {
  margin: 0 5% 0 0;
  width: 35%;
}

.program__Data__img img {
  width: 100%;
}

.op-program__Data__desc {
  width: 60%;
}

.op-program__Data__desc h3 {
  text-align: left;
  color: #ef6aab;
  font-family: a-otf-gothic-bbb-pr6n, sans-serif;
  display: flex;
  position: relative;
}

.op-program__Data__desc h3 span {
  display: block;
}

.op-program__Data__desc h3 .tag {
  margin: -4px 0 0 10px;
  padding: 6px 5px 5px 5px;
  border: 1px solid #ef6aab;
  font-size: 18px;
  /* display: flex;
  align-items: center;
  justify-content: center; */
}

.op-program__Data__desc h3 .annotation {
  top: 60px;
  position: absolute;
  font-size: 13px;
}

.op-program__Data__desc .title-mpro {
  margin: 0 0 15px;
}

.op-program__Data__desc h4 {
  margin: 0 0 15px;
  font-size: 18px;
  line-height: 26px;
  font-weight: 800;
}

.op-program__Data__desc p {
  font-size: 16px;
  line-height: 32px;
}

/* オープンキャンパスバナー */
.op-contact-banner {
  margin: 0 auto 60px;
  padding: 0 0 100px;
  max-width: 1000px;
}

.op-contact-banner a:hover {
  opacity: 0.6;
}

/* オープンキャンパス日程 */
.op__schedule {
  background-color: #fff8fc;
}

.op__schedule ul {
  margin: 40px 0 40px;
  display: flex;
  flex-wrap: wrap;
}

.op__schedule ul li {
  margin: 0 0.5% 15px;
  width: 24%;
}

.op__schedule ul li img {
  width: 100%;
}

.op__schedule__desc {
  display: flex;
}

.op__schedule__desc p {
  margin: 0 0 0 5px;
}

.op__schedule__block {
  margin: 0 auto;
  max-width: 80%;
}

.op__schedule__block__schedule {
  justify-content: center;
}

/* ========================

appBtn

===========================*/
.appBtn {
  width: 73.6%;
  max-width: 300px;
  margin: 40px auto 0;
  cursor: pointer;
}
.appBtn a {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 999px;
  background: #ef6aab;
  /* background: linear-gradient(180deg, #f7a1ca 0%, #ef6aab 100%); */
  padding: 1em 0;
  color: #fff;
  font-size: 20px;
  text-align: center;
  text-decoration: none;
  transition: all 0.5s
}
.appBtn a:hover {
  background: #e95a9f;
}
#f-btns {
  padding-top: 10px;
}
#f-btns .inner {
  margin-top: 0;
}
#f-btns .inner p {
  max-width: 300px;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .appBtn {
    margin-top: 60px;
  }
  .appBtn a {
    padding: 30px 0;
  }
  #f-btns {
    padding-top: 40px;
  }
  #f-btns .inner {
      margin-top: 0;
  }
  #f-btns .inner p {
    max-width: 300px;
  }
}

/* ========================

margin

===========================*/
.u-mb40 {
  margin-bottom: 40px;
}

/* ========================

indent

===========================*/

.indent {
  padding-left: 1em;
  text-indent: -1em;
}

@media (max-width: 767px) {
  .op-desc .opmv {
    margin: 0;
  }

  .op-desc .opmv {
    position: relative;
    background-image: url(../img/op-campus/op-campus_mv_sp2.jpg);
    /* height: 890px;
    /* 230511 日付を掲載しなくなったため縮めた */
    height: 570px;
  }

  .op-desc .opmv__desc {
    width: 100%;
    padding: 0 20px;
    top: 432px;
    position: absolute;
  }

  .op-program__Data {
    /* margin-top: 160px; */
    font-size: 28px;
  }

  .program__Data__date {
    font-size: 28px;
  }

  .op-program__Data dd {
    width: 100%;
    display: block;
  }

  .program__Data__img,
  .op-program__Data__desc {
    width: 100%;
  }

  .op-program__Data__desc h3 {
    display: block;
  }

  .op-program__Data__desc h3 .text {
    font-size: 24px;
  }

  .op-program__Data__desc h3 .tag {
    margin: 10px 0 0 0;
    display: inline-block;
  }

  .op-program__Data__desc h3 .annotation {
    position: static;
    margin: 7px 0 0 0;
  }

  .op-program__Data__desc .title-mpro {
    margin: 0;
  }

  .op-contact-banner {
    margin: 0 auto 30px;
    padding: 0 20px 30px;
    max-width: 1000px;
  }

  .op__schedule__block {
    max-width: 100%;
  }

  .op__schedule ul li {
    width: 48%;
  }

  .op__schedule__desc {
    display: block;
  }

  .op__schedule__desc p {
    margin: 0;
  }

  .op__schedule__desc p:first-child {
    width: 53%;
    margin: 0 0 5px;
  }

  .op-block__title {
    font-size: 7.8vw;
    text-align: center;
  }

  .op-block__time {
    font-size: 5vw;
    text-align: center;
  }

  .op-block__time span {
    font-size: 4vw;
  }

  .op-block__desc {
    font-size: 3.4vw;
  }

  .op-block__note {
    font-size: 2.6vw;
    background: rgba(255,255,255,.7);
    padding: 4px;
  }

  .op-block__note span {

  }

  .op-block__schedule__day {
    margin: 0 0 0 10px;
  }

  .op-block__schedule__day .day {
    margin: 0;
    font-size: 5vw;
  }

  .op-block__schedule__day .week {
    margin: 0 0 0 3px;
    height: 25px;
    width: 25px;
    font: 4vw;
  }

  .op__sub-schedule tr th {
    letter-spacing: -1px;
    font-feature-settings: "palt";
  }

  .op__sub-schedule tr th:nth-of-type(1) {
    width: 11%;
  }

  .op__sub-schedule tr th:nth-of-type(2) {
    width: 22%;
  }

  /* .op__sub-schedule tr th:nth-of-type(3) {
    width: 49%;
  } */

  .op-block__supplement {
    font-size: 3.2vw;
    flex-direction: column;
  }

  .opmv__desc__title {
    font-size: 4vw;
  }

  .opmv__desc__en {
    margin: 5px 0 0;
    font-size: 7.5vw;
  }

  .opmv__desc__day {
    font-size: 6vw;
  }

  .opmv__desc__day .day {
    /* font-size: 14vw;
    letter-spacing: 0.5px; */
    font-size: 16vw;
    letter-spacing: -8px;
  }

  .opmv__desc__time {
    font-size: 3.8vw;
    line-height: 1;
  }

  .opmv__desc__time span {
    font-size: 3vw;
  }

  .opmv__desc__supplement {
    font-size: 3.6vw;
    line-height: 1.5;
  }

  .op__schedule ul {
     margin: 20px 0 20px;
    justify-content: space-between;
  }

  .op__schedule__block__schedule__day .day {
    font-size: 9vw;
  }

  .op__schedule__block__schedule__day .week {
    font-size: 3vw;
  }
}

/* ========================

backToTop

===========================*/
@media (min-width: 768px) {
  #opLinkBtn {
    position: fixed;
    z-index: 9999;
    bottom: 160px;
    right: 2%;
  }

  #opLinkBtn a {
    width: 120px;
    height: 120px;
    display: block;
  }

  #opLinkBtn a img {
    width: 100%;
  }

  #backToTop {
    bottom: 25px;
    right: 8%;
  }

  #backToTop2 {
    position: fixed;
    z-index: 9999;
    bottom: 20px;
    right: 2%;
  }

  #backToTop2 a {
    width: 120px;
    height: 120px;
    display: block;
  }

  #backToTop2 a img {
    width: 100%;
  }
}

@media (max-width: 767px) {
  #opLinkBtn {
    position: fixed;
    z-index: 9999;
    bottom: 100px;
    right: 3%;
  }

  #opLinkBtn a {
    width: 70px;
    height: 70px;
    display: block;
  }

  #opLinkBtn a img {
    width: 100%;
  }

  #backToTop2 {
    position: fixed;
    z-index: 9999;
    bottom: 20px;
    right: 3%;
  }

  #backToTop2 a {
    width: 70px;
    height: 70px;
    display: block;
  }

  #backToTop2 a img {
    width: 100%;
  }

  #backToTop {
    bottom: 40px;
    right: 8%;
  }
}

/* 0621追加 */
.op-block__schedule__list.end,
.op__schedule__block__schedule__list.end {
  background: #ccc;
  border:1px solid #666;
}

.op-block__schedule__list.end .op-block__schedule__day .day {
  color:#999;
}

.op-block__schedule__list.end .op-block__schedule__day .week {
  background-color: #999;
}

.op__schedule__block__schedule__list.end .op__schedule__block__schedule__day .day {
  color:#999;
}

.op__schedule__block__schedule__list.end .op__schedule__block__schedule__day .week {
  background-color: #999;
}

.op__schedule__block__schedule__list.end .op__schedule__block__schedule__time {
  color:#999;
}


/* .btn-shiryo,
#f-btns  p:last-child,
li:has(a[href$="request/"]) {
  display: none;
} */