@charset "UTF-8";
/**
 * @ style.css
 *
 * 
 */

/* ******************************
  common
/* ==============================
  Default
============================== */
html {
  font-size: 62.5%;
}
body {
  width: 100%;
  height: 100%;
  text-align: left;
  font-size: 1.6rem;
  color: #000;
  font-weight: 400;
  font-display: swap;
  line-height: 1.75;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "YuGothic", "Yu Gothic Medium", "Yu Gothic", sans-serif;
  -webkit-text-size-adjust: 100%;
  position: relative;
  overflow-x: hidden;
}
a,
a img {
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
a:hover,
a img:hover {
  /* filter: brightness(0.6); */
  transition: 0.3s;
}
figure {
  margin: 0;
}
dl dt,
dl dd {
  margin: 0;
}
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
img {
  max-width: 100%;
  height: auto;
}
.flex_wrap {
  display: flex;
}
.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
}

/* ==============================
  Base
============================== */
.inner {
  width: 90%;
  max-width: 100rem;
  margin: auto;
}
@media screen and (max-width: 767px) {
}

/* ==============================
  ヘッダー header
============================== */
header {
  padding-bottom: 2rem;
  position: relative;
}

/* .go_to_main */
header .go_to_main {
  height: 0;
}
header .go_to_main a {
  display: inline-block;
  width: 0;
  height: 0;
  overflow: hidden;
}
header .go_to_main a:focus {
  width: auto;
  height: auto;
  padding: 0 1rem;
  background-color: #f2cfd8;
}

/* .header_top */
header .header_top {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  padding: 3rem 3rem 2.5rem;
}
header .logo_group {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
}
header .logo_group p {
  font-size: 1.5rem;
  color: #e61954;
  font-weight: 600;
}
header .accessibility_group {
  display: flex;
  align-items: flex-start;
  gap: 3.5rem;
}
header .accessibility_group > div {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
header .accessibility_group .btn_group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
header .accessibility_group button {
  font-weight: 500;
  text-align: center;
  border: 0.2rem solid #000;
  border-radius: 0.7rem;
  cursor: pointer;
}
header .accessibility_group * {
  font-weight: 600;
}
header .fontsize_change button {
  width: 6.3rem;
}
header .background_change button {
  width: 3.2rem;
  transition: 0.3s;
}
header .background_change button#blue {
  color: #ffff00;
  border: 0.2rem solid #00008b;
  background: #00008b;
}
header .background_change button#black {
  color: #fff;
  border: 0.2rem solid #000;
  background: #000;
}
header .background_change button#white {
  border: 0.2rem solid #808080;
}

/* .header_bottom */
header .header_bottom .inner {
  display: flex;
  gap: 2rem 6rem;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
header .header_bottom a {
  font-weight: 500;
}
header .main_nav ul {
  display: flex;
  line-height: 1;
}
header .main_nav ul li:not(:last-child) {
  padding-right: 2.5rem;
  margin-right: 2.5rem;
  border-right: 0.1rem solid #000;
}
header .link_btn ul {
  display: flex;
  gap: 1.5rem;
}
header .link_btn ul a {
  display: block;
  width: 19rem;
  border: 0.1rem solid #000;
  border-radius: 5rem;
  text-align: center;
  padding: 1rem;
}
/* ハンバーガーメニュー */
header .menu_icon {
  display: none;
}
@media screen and (max-width: 1023px) {
  header {
    padding-bottom: 0;
  }
  header .header_top {
    flex-direction: column;
  }
  header .accessibility_group {
    justify-content: center;
    flex-wrap: wrap;
  }

  /* ハンバーガーメニュー */
  header .header_bottom {
    position: fixed;
    right: -100%;
    width: 100%;
    height: 100vh;
    background: url(../img/bg_data.jpg);
    transition: 0.3s;
    top: 0;
    z-index: 999;
    overflow: auto;
    padding: 2rem;
  }
  header .header_bottom .inner {
    flex-direction: column;
    height: fit-content;
    gap: 4rem;
    margin-top: 13rem;
    justify-content: flex-start;
    background: #fff;
    padding: 5rem 2rem;
    border-radius: 1rem;
    max-width: 60rem;
  }
  header .header_bottom ul {
    flex-direction: column;
    gap: 2rem;
  }
  header .main_nav ul li {
    text-align: center;
  }
  header .main_nav ul li:not(:last-child) {
    margin-right: 0;
    padding-right: 0;
    border-right: none;
  }
  header .header_bottom .sp {
    display: block;
    margin: 5rem;
    text-align: center;
  }

  /* メニューアイコン */
  header .menu_icon {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 7rem;
    height: 7rem;
    z-index: 9999;
    text-align: center;
    background-color: #e61954;
  }
  header .menu_icon .line_wrap {
    width: 3rem;
    margin: 2rem auto;
  }
  header .menu_icon span {
    display: block;
    position: relative;
    width: 100%;
    height: 0.4rem;
    background-color: #fff;
    transition: 0.2s;
  }
  header .menu_icon span:nth-child(1) {
    top: 0;
  }
  header .menu_icon span:nth-child(2) {
    top: 0.6rem;
  }
  header .menu_icon span:nth-child(3) {
    top: 1.3rem;
  }
  header .menu_icon p {
    font-size: 0.7rem;
    color: #fff;
    text-align: center;
    position: absolute;
    top: 4.8rem;
    font-weight: 600;
  }

  /* メニューオープン */
  html.open {
    overflow: hidden;
  }
  header .header_bottom.open {
    right: 0;
  }
  header .line_wrap.open span:nth-child(1) {
    transform: rotate(45deg);
    top: 1rem;
  }
  header .line_wrap.open span:nth-child(2) {
    background-color: transparent;
  }
  header .line_wrap.open span:nth-child(3) {
    transform: rotate(-45deg);
    top: 0.2rem;
  }
}

@media screen and (max-width: 767px) {
  header {
    padding-bottom: 0;
  }
  header .logo_group {
    padding-right: 5rem;
    gap: 1.5rem;
  }
  header h1 {
    min-width: 16rem;
    width: 30%;
  }
  header .logo_group p {
    font-size: 1.2rem;
  }
  header .header_top {
    padding: 2.5rem 1.5rem 1.5rem;
  }
  header .accessibility_group * {
    font-size: 1rem;
  }
  header .accessibility_group {
    gap: 2rem;
    margin-top: 1rem;
  }
  header .fontsize_change button {
    width: 14vw;
    max-width: 6rem;
  }
  header .background_change button {
    width: 6vw;
    max-width: 3rem;
  }
}

/* ==============================
  メインビジュアル .main_visual
============================== */
.main_visual .slick-dots li {
  width: 3.6rem;
  height: 0.5rem;
}
.main_visual .slick-dots li button {
  width: 100%;
  height: 100%;
  padding: 0;
}

/* ドット */
.main_visual .slick-dotted.slick-slider {
  margin-bottom: 3rem;
}
.main_visual .slick-dots li button::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #aeaeae;
  opacity: 1;
}
.main_visual .slick-dots li.slick-active button::before {
  background: #e61954;
}
.main_visual .slick-dots {
  width: 90%;
  max-width: 100rem;
  margin: auto;
  position: relative;
  text-align: right;
  padding-right: 17rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  bottom: -5.5rem;
}

/* 一時停止ボタン */
.main_visual .slider_control {
  position: relative;
  width: 100rem;
  max-width: 90%;
  margin: auto;
  height: auto;
  text-align: right;
}
.main_visual .slider_control .toggle_btn {
  width: 13.5rem;
  border: 0.1rem solid #e61954;
  z-index: 2;
  position: absolute;
  right: 0;
  top: 0;
  padding: 0.9rem 0.9rem 0.9rem 6rem;
  text-align: left;
  border-radius: 5rem;
  color: #e61954;
}
.main_visual .slider_control .toggle_btn[aria-pressed="true"] {
  background: url(../img/mv_icon_stop.svg) no-repeat left 3rem center / 1.5rem 1.5rem;
}
.main_visual .slider_control .toggle_btn[aria-pressed="false"] {
  background: url(../img/mv_icon_play.svg) no-repeat left 3rem center / 1.3rem 1.5rem;
}

/* 画像が1枚の時 */
.main_visual .slide_only img {
  width: 100%;
  height: auto;
}
.main_visual .slide_only + .slider_control {
  display: none;
}

/* ドットにフォーカス */
.main_visual .slick-dots li button:focus {
  outline: 0.2rem solid #000;
}

@media screen and (max-width: 767px) {
  .main_visual .slider_control .toggle_btn {
    width: 10rem;
    padding: 0.5rem 0.5rem 0.5rem 4rem;
  }
  .main_visual .slider_control .toggle_btn[aria-pressed="true"],
  .main_visual .slider_control .toggle_btn[aria-pressed="false"],
  body.white .main_visual .slider_control .toggle_btn[aria-pressed="true"]:hover,
  body.white .main_visual .slider_control .toggle_btn[aria-pressed="false"]:hover {
    background-position: left 2rem center !important;
    background-size: 1.2rem auto !important;
  }
  .main_visual .slick-dots {
    padding-right: 12rem;
  }
  .main_visual .slide_only.sp {
    margin-bottom: -6rem;
  }
}
/* ==============================
  ピックアップ .pickup
============================== */
.pickup {
  margin-top: 13rem;
  padding-bottom: 18rem;
  background: url(../img/bg_nokaidai.svg) repeat-x left bottom -0.2rem / 120rem auto;
  animation: bg_slide 800s linear infinite;
}
@keyframes bg_slide {
  0% {
    background-position: bottom;
  }
  100% {
    background-position: -1500vw bottom;
  }
}
.pickup .flex_wrap {
  gap: 6rem 3rem;
  justify-content: center;
  flex-wrap: wrap;
}
.pickup .item {
  position: relative;
  width: calc((100% - 3rem * 2) / 3);
}
.pickup .item figure {
  width: 100%;
  height: auto;
  overflow: hidden;
  aspect-ratio: 313 / 210;
}
.pickup .item figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.pickup .item p {
  padding: 4rem 8.5rem 1.5rem 1rem;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: right;
  position: relative;
}
.pickup .item p::before {
  content: "";
  width: 6.2rem;
  height: 6.2rem;
  background: #e61954;
  border-radius: 50%;
  position: absolute;
  right: 0;
  bottom: 0;
}
.pickup .item p span::before {
  content: "";
  position: absolute;
  right: 1.9rem;
  bottom: 3.1rem;
  width: 2.2rem;
  height: 0.2rem;
  background: #fff;
}
.pickup .item p span::after {
  content: "";
  position: absolute;
  right: 2rem;
  bottom: 2.6rem;
  width: 1.2rem;
  height: 1.2rem;
  border-top: 0.2rem solid #fff;
  border-right: 0.2rem solid #fff;
  transform: rotate(45deg);
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
  .pickup .item {
    width: calc((100% - 3rem) / 2);
  }
}
@media screen and (max-width: 767px) {
  .pickup {
    background-size: 100% auto !important;
    padding-bottom: 17vw;
    animation: none;
    background-position: left 0.5rem bottom;
    margin-top: 12rem;
  }
  .pickup .flex_wrap {
    flex-direction: column;
    gap: 3rem;
  }
  .pickup .item {
    width: 100%;
  }
}
/* ==============================
  新着情報 .news
============================== */
.news {
  background: #e61954;
  padding: 7.5rem 0 9rem;
}
.news h2 {
  font-size: 4.7rem;
  text-align: center;
  color: #fff;
  margin-bottom: 6.4rem;
}
.news ul {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.news ul li {
  position: relative;
}
.news ul li::before {
  content: "";
  width: 3.3rem;
  height: 3.3rem;
  border-radius: 50%;
  background: #e61954;
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
}
.news ul li::after {
  content: "";
  width: 1.3rem;
  height: 1.3rem;
  border-top: 0.4rem solid #fff;
  border-right: 0.4rem solid #fff;
  position: absolute;
  right: 2.7rem;
  top: 49%;
  transform: rotate(45deg) translateX(-50%);
}
.news ul a {
  display: flex;
  align-items: baseline;
  gap: 3.5rem;
  background: #fff;
  padding: 3rem 9rem 3rem 4rem;
}
.news ul .date {
  display: block;
  font-weight: 300;
  font-size: 1.7rem;
  flex-shrink: 0;
}
.news ul .title {
  font-weight: 700;
  font-size: 2.3rem;
}

@media screen and (max-width: 767px) {
  .news {
    padding: 3rem 0;
  }
  .news h2 {
    font-size: 4rem;
    margin-bottom: 2rem;
  }
  .news ul {
    gap: 2rem;
  }
  .news ul li::before {
    width: 1.5rem;
    height: 1.5rem;
  }
  .news ul li::after {
    width: 0.6rem;
    height: 0.6rem;
    border-top: 0.2rem solid #fff;
    border-right: 0.2rem solid #fff;
    right: 2.4rem;
    top: 49%;
  }
  .news ul a {
    flex-direction: column;
    padding: 2rem;
    padding: 2rem 4.5rem 2rem 2rem;
    gap: 0;
  }
  .news ul .title {
    font-size: 1.8rem;
    line-height: 1.5;
  }
}
/* ==============================
  能開大について .about
============================== */
.about {
  background: url(../img/bg_title.svg) no-repeat center top -0.2rem / 120rem auto, url(../img/bg_contents.png) repeat center top / auto;
  padding-bottom: 14.5rem;
  overflow-x: hidden;
}
.about h2 {
  text-align: center;
  padding: 9rem 0 21.6rem;
}
.about h2 span {
  display: block;
  background: #fff;
  font-size: 4rem;
  font-weight: 700;
  padding: 2rem;
  text-align: center;
}
.about .link_group {
  position: relative;
  margin-bottom: 10rem;
}
.about .link_group h3 {
  margin-left: 18rem;
  padding-left: 7.5rem;
  font-size: 3.7rem;
  color: #e61954;
  font-weight: 400;
  margin-bottom: 3rem;
  position: relative;
}
.about .link_group h3::before {
  content: "";
  width: 5.5rem;
  height: 5.5rem;
  position: absolute;
  left: 0;
  top: 0.6rem;
}
.about .link_btn__wrap {
  position: relative;
  border-radius: 10rem 0 0 10rem;
  padding: 3.3rem 0 3.3rem 18rem;
  display: flex;
  align-items: center;
}
.about .link_btn__wrap::before {
  content: "";
  width: 100vw;
  height: 100%;
  position: absolute;
  left: 100%;
  top: 0;
}
.about .link_btn__wrap ul {
  display: flex;
  flex-wrap: wrap;
}
.about .link_btn__wrap li a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  border: 0.4rem solid #e61954;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0.4rem 0.4rem 0.4rem rgb(0 0 0/20%);
  padding: 1rem 3rem 1rem 1rem;
  position: relative;
  width: 100%;
  min-height: 9.5rem;
  text-align: center;
  height: 100%;
}
.about .link_btn__wrap li a::before {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  background: #e61954;
  position: absolute;
  right: 1rem;
  top: 49%;
  transform: translateY(-50%);
}
.about .link_btn__wrap li a::after {
  content: "";
  width: 0.6rem;
  height: 0.6rem;
  border-top: 0.2rem solid #fff;
  border-right: 0.2rem solid #fff;
  position: absolute;
  right: 1.4rem;
  top: 48%;
  transform: rotate(45deg) translateX(-50%);
}

/* 基本情報 */
.about .info .link_btn__wrap ul {
  gap: 2.6rem;
  width: 100%;
}
.about .info .link_btn__wrap ul li {
  width: calc((100% - 2.6rem * 2) / 3);
}
.about .info.link_group h3::before {
  background: url(../img/info_icon.svg) no-repeat center / 100%;
}
.about .info.link_group::after {
  content: "";
  background: url(../img/info_img.png) no-repeat center / 100%;
  width: 23.4rem;
  height: 32.5rem;
  position: absolute;
  top: -6.2rem;
  left: -10.6rem;
}
.about .info .link_btn__wrap {
  background: #fbdce5;
}
.about .info .link_btn__wrap::before {
  background: #fbdce5;
}

/* 学生生活 */
.about .campuslife .link_btn__wrap ul {
  gap: 2.6rem 4.7rem;
  width: 100%;
}
.about .campuslife .link_btn__wrap ul li {
  width: calc((100% - 4.7rem) / 2);
}
.about .campuslife.link_group h3::before {
  background: url(../img/campuslife_icon.svg) no-repeat center / 100%;
}
.about .campuslife.link_group::after {
  content: "";
  background: url(../img/campuslife_img.png) no-repeat center / 100%;
  width: 23.4rem;
  height: 32.5rem;
  position: absolute;
  top: -0.6rem;
  left: -10rem;
}
.about .campuslife .link_btn__wrap {
  background: #ffffc6;
}
.about .campuslife .link_btn__wrap::before {
  background: #ffffc6;
}

/* 先輩の声 */
.about .senior .link_btn__wrap ul {
  gap: 2.6rem 4.7rem;
  width: 100%;
}
.about .senior .link_btn__wrap ul li {
  width: calc((100% - 4.7rem) / 2);
}
.about .senior.link_group h3::before {
  background: url(../img/senior_icon.svg) no-repeat center / 100%;
}
.about .senior.link_group::after {
  content: "";
  background: url(../img/senior_img.png) no-repeat center / 100%;
  width: 23.4rem;
  height: 32.5rem;
  position: absolute;
  top: -0.4rem;
  left: -9.4rem;
}
.about .senior .link_btn__wrap {
  background: #fbdce5;
  min-height: 29rem;
}
.about .senior .link_btn__wrap::before {
  background: #fbdce5;
}

/* 学費・制度 */
.about .tuition .link_btn__wrap ul {
  gap: 2.6rem 4.7rem;
  width: 100%;
}
.about .tuition .link_btn__wrap ul li {
  width: calc((100% - 4.7rem) / 2);
}
.about .tuition.link_group {
  margin-bottom: 0;
}
.about .tuition.link_group h3::before {
  background: url(../img/tuition_icon.svg) no-repeat center / 100%;
}
.about .tuition.link_group::after {
  content: "";
  background: url(../img/tuition_img.png) no-repeat center / 100%;
  width: 23.4rem;
  height: 32.5rem;
  position: absolute;
  top: 0.8rem;
  left: -9.4rem;
}
.about .tuition .link_btn__wrap {
  background: #ffffc6;
  min-height: 29rem;
}
.about .tuition .link_btn__wrap::before {
  background: #ffffc6;
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
  .about .link_group::after {
    width: 17rem !important;
    height: 30rem !important;
    left: -35px !important;
  }
}
@media screen and (max-width: 767px) {
  .about {
    background: url(../img/bg_title.svg) no-repeat center top / 100vw auto;
    padding-bottom: 6rem;
  }
  .about .inner {
    width: 100%;
  }
  .about h2 {
    padding: 30vw 0 3rem;
  }
  .about h2 span {
    padding: 0;
    font-size: 2.1rem;
    margin: auto;
    max-width: 50rem;
  }
  .about .link_group {
    margin-bottom: 3rem;
  }
  .about .link_group::after {
    content: none !important;
  }
  .about .link_group h3 {
    padding-left: 5rem;
    font-size: 2.5rem;
    margin-bottom: 2rem;
    width: 90%;
    margin: auto auto 1.5rem;
  }
  .about .link_group h3::before {
    width: 3.6rem;
    height: 3.6rem;
  }
  .about .link_btn__wrap {
    padding: 0;
    border-radius: 0;
    min-height: auto !important;
  }
  .about .link_btn__wrap::before {
    content: none;
  }
  .about .link_btn__wrap ul {
    width: 90% !important;
    margin: auto;
    flex-direction: column;
    padding: 2.5rem 0;
  }
  .about .link_btn__wrap ul li {
    width: 100% !important;
  }
  .about .link_btn__wrap li a {
    min-height: auto;
    padding: 1.5rem 3rem 2rem 1.5rem;
    max-width: 45rem;
    margin: auto;
  }
}
/* ==============================
  数字で見る .data
============================== */
.data {
  padding: 6rem 0 4rem;
  background: url(../img/bg_data.jpg) no-repeat center top / cover;
}
.data h2 {
  font-size: 3.7rem;
  font-weight: 700;
  color: #e61954;
  text-align: center;
  text-shadow: 0 0 2.3rem #fff, 0 0 2.3rem #fff, 0 0 2.3rem #fff, 0 0 2.3rem #fff, 0 0 2.3rem #fff, 0 0 2.3rem #fff, 0 0 2.3rem #fff, 0 0 2.3rem #fff, 0 0 2.3rem #fff;
  margin-bottom: 4.8rem;
}
.data h2 + ul {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
}
.data .item {
  background: #fff;
  border-radius: 1rem;
  padding: 3rem 2rem;
  width: calc((100% - 2.5rem) / 2);
}
.data .item h3 {
  font-size: 2.1rem;
  font-weight: 700;
  text-align: center;
}

.data .item .font_color__pink {
  color: #e61954;
  font-weight: 700;
}

/* item01 */
.data .item01 .font_color__pink {
  font-size: 3.1rem;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 1rem;
}
.data .item01 .font_color__pink span {
  font-size: 6.6rem;
  line-height: 1.2;
  margin: 0 0.5rem;
}
.data .item01 .font_color__pink + p {
  font-size: 1.4rem;
  font-weight: 300;
  text-align: center;
}

/* item02 */
.data .item02 .flex_wrap:first-child {
  gap: 1rem;
  justify-content: space-between;
}
.data .item02 .flex_wrap:nth-child(2) {
  gap: 2rem;
  margin-bottom: 1rem;
}
.data .item02 h3 {
  margin-bottom: 1rem;
}
.data .item02 .font_color__pink {
  font-size: 2.3rem;
  line-height: 1.2;
  text-align: center;
}
.data .item02 .font_color__pink span {
  font-size: 4.9rem;
  line-height: 1.2;
  margin: 0 0.5rem;
}
.data .item02 .flex_wrap + p {
  font-size: 1.4rem;
  font-weight: 300;
  text-align: center;
}
.data .item02 #chart_item02 {
  width: 14rem !important;
}

/* item03 */
.data .item03 .flex_wrap:first-child {
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
}
.data .item03 .flex_wrap:nth-child(2) {
  gap: 0.2rem 1.5rem;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}
.data .item03 h3 {
  margin-bottom: 1rem;
}
.data .item03 .font_color__pink {
  font-size: 1.6rem;
  line-height: 1.2;
  text-align: center;
}
.data .item03 .font_color__pink span {
  font-size: 4.9rem;
  line-height: 1.2;
  margin: 0 0.5rem;
}
.data .item03 .flex_wrap + p {
  font-size: 1.4rem;
  font-weight: 300;
  text-align: center;
}
.data .item03 .graph {
  flex-shrink: 0;
}
.data .item03 #chart_item03 {
  width: 14rem !important;
}

/* item04 */
.data .item04 h3 {
  margin-bottom: 2rem;
}
.data .item04 .flex_wrap {
  justify-content: center;
  gap: 3rem;
}
.data .item04 .font_color__pink {
  font-size: 2.1rem;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 1rem;
}
.data .item04 .font_color__pink span {
  font-size: 5.1rem;
  line-height: 1.2;
  margin: 0 0.5rem;
}
.data .item04 .font_color__pink + p {
  font-size: 1.4rem;
  font-weight: 300;
  text-align: center;
}

/* item05 */
.data .item05 .font_color__pink {
  font-size: 3.1rem;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 1rem;
}
.data .item05 .font_color__pink span {
  font-size: 6.6rem;
  line-height: 1.2;
  margin-right: 0.5rem;
}
.data .item05 .font_color__pink + p {
  font-size: 1.4rem;
  font-weight: 300;
  text-align: center;
}

/* item06 */
.data .item06 .flex_wrap {
  justify-content: center;
  align-items: flex-end;
  gap: 5rem;
}
.data .item06 .flex_wrap__left .font_color__pink {
  font-size: 1.9rem;
  line-height: 1.5;
}
.data .item06 .font_color__pink {
  font-size: 2.1rem;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 1rem;
}
.data .item06 .font_color__pink span {
  font-size: 6.6rem;
  line-height: 1.2;
  margin: 0 0.5rem;
}
.data .item06 .flex_wrap + p {
  font-size: 1.4rem;
  font-weight: 300;
  text-align: center;
}

/* item07 */
.data .item07 .flex_wrap {
  justify-content: center;
  align-items: flex-end;
  gap: 5rem;
}
.data .item07 .font_color__pink {
  font-size: 2.1rem;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 1rem;
}
.data .item07 .font_color__pink span {
  font-size: 5.1rem;
  line-height: 1.2;
  margin: 0 0.5rem;
}
.data .item07 .flex_wrap + p {
  font-size: 1.4rem;
  font-weight: 300;
  text-align: center;
}

/* item08 */
.data .item08 .font_color__pink {
  font-size: 3.1rem;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 1rem;
}
.data .item08 .font_color__pink span {
  font-size: 6.6rem;
  line-height: 1.2;
  margin-right: 0.5rem;
}

/* item09 */
.data .item09 .flex_wrap:first-child {
  gap: 1.5rem;
  align-items: center;
  justify-content: space-between;
}
.data .item09 .flex_wrap:nth-child(2) {
  gap: 0.2rem 3rem;
  justify-content: center;
  flex-wrap: wrap;
}
.data .item09 .flex_wrap:nth-child(2) > * {
  width: fit-content;
}
.data .item09 .flex_wrap__left:first-child {
  width: calc(100% - 15rem - 1.5rem);
}
.data .item09 h3 {
  margin-bottom: 1rem;
}
.data .item09 .font_color__pink {
  font-size: 2.1rem;
  line-height: 1.2;
  text-align: center;
}
.data .item09 .font_color__pink span {
  font-size: 5.1rem;
  line-height: 1.2;
  margin-right: 0.5rem;
}
.data .item09 .font_color__pink + p {
  font-size: 1.4rem;
  font-weight: 300;
  text-align: center;
}
.data .item09 .graph {
  flex-shrink: 0;
}
.data .item09 #chart_item09 {
  width: 15rem !important;
}

/* item10 */
.data .item10 h3 {
  margin-bottom: 2rem;
}
.data .item10 .flex_wrap {
  justify-content: center;
  gap: 3rem;
}
.data .item10 .font_color__pink {
  font-size: 1.5rem;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 1rem;
}
.data .item10 .font_color__pink span {
  font-size: 4.6rem;
  line-height: 1.2;
  margin: 0 0.5rem;
}
.data .item10 .font_color__pink span:nth-child(2) {
  font-size: 2.2rem;
  margin: 0;
}
.data .item10 .font_color__pink + p {
  font-size: 1.4rem;
  font-weight: 300;
  text-align: center;
}

/* item11・item12 */
.data :is(.item11, .item12) {
  padding: 3rem;
}
.data :is(.item11, .item12) h3 {
  margin-bottom: 1rem;
}
.data :is(.item11, .item12) ul li p::after {
  content: "/";
  display: inline-block;
  margin: 0 0.5rem;
}
.data :is(.item11, .item12) ul {
  margin-bottom: 2rem;
  display: flex;
  flex-wrap: wrap;
}
.data :is(.item11, .item12) li p {
  font-size: 1.5rem;
  font-weight: 400;
}
.data :is(.item11, .item12) span.countup_no {
  font-size: 3.2rem;
  line-height: 1.2;
  margin: 0 0.5rem;
  font-weight: 800;
}
.data :is(.item11, .item12) span.countup_no + span {
  font-size: 2rem;
}

@media screen and (max-width: 1023px) {
  .data h2 + ul {
    flex-direction: column;
  }
  .data .item {
    width: 80%;
    max-width: 60rem;
    margin: auto;
    padding: 2rem 4rem;
  }
}
@media screen and (max-width: 767px) {
  .data h2 {
    font-size: 2.5rem;
    text-shadow: 0 0 1.5rem #fff, 0 0 1.5rem #fff, 0 0 1.5rem #fff, 0 0 1.5rem #fff, 0 0 1.5rem #fff, 0 0 1.5rem #fff, 0 0 1.5rem #fff, 0 0 1.5rem #fff, 0 0 1.5rem #fff;
  }
  .data .item h3 {
    font-size: 1.8rem;
    margin-bottom: 1rem;
  }
  .data .item {
    width: 100%;
    padding: 2rem;
  }
  .data .item01 .font_color__pink {
    font-size: 2.5rem;
  }
  .data .item01 .font_color__pink span {
    font-size: 5rem;
  }
  .data .item02 .flex_wrap:first-child {
    align-items: center;
    flex-direction: column;
  }
  .data .item02 .font_color__pink {
    font-size: 1.8rem;
    display: flex;
    align-items: baseline;
    justify-content: center;
  }
  .data .item02 .font_color__pink span {
    font-size: 4rem;
  }
  .data .item02 .flex_wrap__right {
    flex-shrink: 0;
  }
  .data .item03 .flex_wrap:first-child {
    flex-direction: column;
  }
  .data .item04 .font_color__pink span {
    margin: 0 0.5rem 0 0;
  }
  .data .item05 .font_color__pink {
    font-size: 2.5rem;
  }
  .data .item05 .font_color__pink span {
    font-size: 5rem;
  }
  .data .item06 .flex_wrap {
    gap: 2rem;
  }
  .data .item06 .flex_wrap__left .font_color__pink {
    font-size: 1.6rem;
  }
  .data .item06 .font_color__pink span {
    font-size: 5rem;
  }
  .data .item07 .flex_wrap {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0rem;
  }
  .data .item08 .font_color__pink {
    font-size: 2.8rem;
  }
  .data .item08 .font_color__pink span {
    font-size: 5rem;
  }
  .data .item09 .flex_wrap:first-child {
    flex-direction: column;
  }
  .data .item09 .flex_wrap__left {
    width: 100% !important;
  }
  .data .item09 .font_color__pink {
    display: flex;
    align-items: baseline;
    justify-content: center;
  }
  .data .item09 .font_color__pink span {
    margin: 0 0.5rem;
  }
  .data .item10 .flex_wrap {
    flex-direction: column;
    gap: 1rem;
  }
  .data .item10 .font_color__pink {
    font-size: 2rem;
  }
  .data :is(.item11, .item12) ul {
    flex-direction: column;
  }
  .data :is(.item11, .item12) ul li p {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    gap: 0 2rem;
  }
  .data :is(.item11, .item12) ul li p::before {
    content: "";
    width: 100%;
    height: 0.3rem;
    border-bottom: 0.3rem dotted #ddd;
    position: absolute;
    left: 0;
    bottom: 50%;
    transform: translateY(50%);
  }
  .data :is(.item11, .item12) ul li p::after {
    content: none;
  }
  .data :is(.item11, .item12) span {
    position: relative;
    z-index: 2;
  }
  .data :is(.item11, .item12) p .font_color__pink {
    text-align: center;
    background: #fff;
    padding-left: 0.5rem;
    flex-shrink: 0;
  }
  .data :is(.item11, .item12) span.label {
    padding-right: 1rem;
    background: #fff;
  }
  .data :is(.item11, .item12) span.countup_no {
    font-size: 2.8rem;
  }
  .data :is(.item11, .item12) canvas {
    display: none !important;
  }
}

/* ==============================
  オープンキャンパス .open_campus
============================== */
.open_campus {
  background: url(../img/bg_title.svg) no-repeat center top -0.2rem / 120rem auto;
  padding-bottom: 10.4rem;
}
.open_campus h2 {
  text-align: center;
  padding: 9rem 0 20.6rem;
}
.open_campus h2 span {
  display: block;
  background: #fff;
  font-size: 4rem;
  font-weight: 700;
  padding: 2rem;
  text-align: center;
}
.open_campus .flex_wrap {
  gap: 6rem 3rem;
  justify-content: center;
  flex-wrap: wrap;
}
.open_campus .item {
  width: calc((100% - 3rem * 2) / 3);
}
.open_campus .item a {
  position: relative;
  display: block;
  height: 100%;
  padding-bottom: 10rem;
}
.open_campus .item a::before {
  content: "";
  width: 6.2rem;
  height: 6.2rem;
  background: #e61954;
  border-radius: 50%;
  position: absolute;
  right: 0;
  bottom: 0;
}
.open_campus .item p span::before {
  content: "";
  position: absolute;
  right: 1.9rem;
  bottom: 3.1rem;
  width: 2.2rem;
  height: 0.2rem;
  background: #fff;
}
.open_campus .item p span::after {
  content: "";
  position: absolute;
  right: 2rem;
  bottom: 2.6rem;
  width: 1.2rem;
  height: 1.2rem;
  border-top: 0.2rem solid #fff;
  border-right: 0.2rem solid #fff;
  transform: rotate(45deg);
}
.open_campus .item figure {
  width: 100%;
  height: auto;
  overflow: hidden;
  aspect-ratio: 307 / 236;
}
.open_campus .item figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.open_campus .item p.page_title {
  font-size: 2.5rem;
  font-weight: 700;
  min-height: 11.5rem;
  display: flex;
  align-items: flex-start;
  width: 100%;
  flex-direction: column;
  justify-content: center;
  line-height: 1.3;
  padding: 1rem 0;
}
.open_campus .item p.note {
  font-size: 1.6rem;
  font-weight: 400;
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
  .open_campus .flex_wrap {
    flex-wrap: wrap;
    gap: 6rem 3rem;
  }
  .open_campus .item {
    width: calc((100% - 3rem) / 2);
  }
}
@media screen and (max-width: 767px) {
  .open_campus {
    background: url(../img/bg_title.svg) no-repeat center top / 100vw auto;
    padding-bottom: 6rem;
  }
  .open_campus h2 {
    padding: 30vw 0 3rem;
  }
  .open_campus h2 span {
    padding: 0;
    font-size: 2.1rem;
    max-width: 80%;
    margin: auto;
  }
  .open_campus .flex_wrap {
    flex-direction: column;
    gap: 3rem;
  }
  .open_campus .item {
    width: 100%;
  }
  .open_campus .item a {
    padding-bottom: 7rem;
  }
  body.white .open_campus .item a p.page_title {
    min-height: auto;
    margin: 3rem 0 1rem;
    padding: 0;
    font-size: 2rem;
    line-height: 1.5;
  }
}
/* ==============================
  入試情報 .entrance_exam
============================== */
.entrance_exam {
  background: #fbdce5;
  padding: 6.5rem 0;
}
.entrance_exam h2 {
  font-size: 3.7rem;
  color: #e61954;
  font-weight: 400;
  text-align: center;
  margin-bottom: 5.4rem;
}
.entrance_exam ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.2rem;
}
.entrance_exam li {
  width: calc((100% - 1.2rem * 3) / 4);
  min-width: 23rem;
}
.entrance_exam li a {
  font-size: 2rem;
  font-weight: 700;
  border: 0.4rem solid #e61954;
  border-radius: 3rem;
  background: #fff;
  text-align: center;
  padding: 0.6rem 2.5rem 0.6rem 1rem;
  position: relative;
  min-height: 5.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.entrance_exam li a::before {
  content: "";
  width: 1rem;
  height: 1rem;
  border-top: 0.3rem solid #e61954;
  border-right: 0.3rem solid #e61954;
  position: absolute;
  right: 1.2rem;
  top: 49%;
  transform: rotate(45deg) translateX(-50%);
}
.entrance_exam li:nth-child(2) a {
  font-size: 1.7rem;
}

@media screen and (max-width: 767px) {
  .entrance_exam {
    padding: 3rem 0;
  }
  .entrance_exam h2 {
    margin-bottom: 2rem;
    font-size: 3rem;
  }
  .entrance_exam ul {
    flex-direction: column;
  }
  .entrance_exam li {
    width: 100%;
  }
}
/* ==============================
  固定ボタン fixed_btn
============================== */
.fixed_btn {
  display: none;
  position: fixed;
  top: 15vh;
  right: -0.6rem;
  background: #fff;
  border: 0.6rem solid #000;
  border-right: none;
  border-radius: 1.5rem 0 0 1.5rem;
  padding: 1.5rem;
  z-index: 50;
}
.fixed_btn::before {
  content: "";
  background: url(../img/fixed_character.png) no-repeat center / 100%;
  width: 9.4rem;
  height: 10.4rem;
  position: absolute;
  bottom: calc(100% - 1rem);
  right: 4rem;
}
.fixed_btn ul {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.fixed_btn li a {
  display: block;
  width: 13.5rem;
  padding: 0.8rem 2.2rem 0.8rem 1.5rem;
  font-size: 1.5rem;
  font-weight: 700;
  border-radius: 5rem;
  position: relative;
}
.fixed_btn li a::before {
  content: "";
  width: 1rem;
  height: 1rem;
  border-top: 0.3rem solid #000;
  border-right: 0.3rem solid #000;
  position: absolute;
  right: 0.8rem;
  top: 50%;
  transform: rotate(45deg) translateX(-50%);
}
.fixed_btn li:first-child a {
  background: #87c13f;
  border: 0.2rem solid #87c13f;
}
.fixed_btn li:last-child a {
  background: #f7e921;
  border: 0.2rem solid #f7e921;
}

@media screen and (max-width: 767px) {
  .fixed_btn {
    top: auto;
    bottom: 0;
    right: auto;
    left: 0;
    border: none;
    background: none;
    padding: 0;
    width: 100%;
  }
  .fixed_btn::before {
    content: none;
  }
  .fixed_btn ul {
    flex-direction: row;
    gap: 0;
  }
  .fixed_btn ul li {
    width: 50%;
  }
  .fixed_btn ul li a {
    border-radius: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
/* ==============================
  フッター footer
============================== */
footer {
  background: #e61954;
  padding: 5rem 0;
}
footer .flex_wrap {
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 3rem;
  flex-wrap: wrap;
  gap: 2rem;
}
footer .logo {
  display: block;
  margin-bottom: 4rem;
}
footer p {
  color: #fff;
}
footer .address p:nth-child(2) {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 1.5rem;
}
footer .address a {
  pointer-events: none;
}
footer ul {
  display: flex;
  gap: 1.2rem;
}
footer ul a {
  display: block;
  background: #fff;
  width: 24rem;
  font-size: 1.6rem;
  padding: 1.4rem 3rem 1.4rem 1rem;
  text-align: center;
  border-radius: 3rem;
  font-weight: 500;
  position: relative;
  height: 100%;
}
footer ul a::before {
  content: "";
  width: 1rem;
  height: 1rem;
  border-top: 0.3rem solid #e61954;
  border-right: 0.3rem solid #e61954;
  position: absolute;
  right: 1.2rem;
  top: 49%;
  transform: rotate(45deg) translateX(-50%);
}
footer small {
  font-size: 1.5rem;
  text-align: right;
  display: block;
  color: #fff;
  font-weight: 300;
}

@media screen and (max-width: 767px) {
  footer {
    padding: 5rem 0 8rem;
  }
  footer .flex_wrap {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  footer .flex_wrap__left a {
    width: fit-content;
    margin: auto auto 2rem;
  }
  footer .flex_wrap__left a img {
    width: 20rem;
  }
  footer ul {
    flex-direction: column;
    align-items: center;
  }
  footer .address {
    margin-bottom: 2rem;
    text-align: center;
  }
  footer .address p {
    font-size: 1.4rem;
    white-space: nowrap;
  }
  footer .address a {
    pointer-events: auto;
  }
  footer small {
    font-size: 1rem;
    text-align: center;
  }
}

/* ==============================
  ページトップ .pagetop_btn
============================== */
.pagetop_btn {
  display: none;
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 10;
  width: 6.3rem;
  height: 6.3rem;
  border-radius: 50%;
}
.pagetop_btn a {
  background: #f7b8ca;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}
.pagetop_btn a span {
  text-indent: -9999vw;
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
}
.pagetop_btn a span::before {
  content: "";
  position: absolute;
  right: 3rem;
  top: 2.1rem;
  height: 2.2rem;
  width: 0.2rem;
  background: #e61954;
}
.pagetop_btn a span::after {
  content: "";
  position: absolute;
  right: 2.5rem;
  top: 2.1rem;
  width: 1.2rem;
  height: 1.2rem;
  border-top: 0.2rem solid #e61954;
  border-right: 0.2rem solid #e61954;
  transform: rotate(315deg);
}

@media screen and (max-width: 767px) {
  .pagetop_btn {
    width: 5rem;
    height: 5rem;
    right: 1rem;
  }
  .pagetop_btn a span::after {
    right: 2rem;
    top: 1.5rem;
  }
  .pagetop_btn a span::before {
    right: 2.5rem;
    top: 1.5rem;
  }
}
/* ==============================
  hover
============================== */
body.white header h1 a:hover {
  opacity: 0.6;
}
body.white header .accessibility_group button {
  transition: 0.3s;
}
body.white header .fontsize_change button:hover {
  background: #000;
  border-color: #000;
  color: #fff;
  transition: 0.3s;
}
body.white header .background_change button#blue:hover {
  background: #ffff00;
  color: #00008b;
  transition: 0.3s;
}
body.white header .background_change button#black:hover {
  background: #fff;
  color: #000;
  transition: 0.3s;
}
body.white header .background_change button#white:hover {
  background: #808080;
  border-color: #808080;
  color: #fff;
  transition: 0.3s;
}
body.white nav.main_nav a:hover {
  color: #e61954;
}
body.white header .link_btn ul li:first-child a:hover {
  background: #87c13f;
}
body.white header .link_btn ul li:nth-child(2) a:hover {
  background: #f7e921;
}
body.white .main_visual a:hover img {
  opacity: 0.8;
}
body.white .main_visual .slick-dots li button::before {
  transition: 0.3s;
}
body.white .main_visual .slick-dots li button:hover::before {
  background: #e61954;
  transition: 0.3s;
}
body.white .main_visual .slider_control .toggle_btn {
  transition: 0.3s;
}
body.white .main_visual .slider_control .toggle_btn[aria-pressed="true"]:hover {
  background: url(../img/mv_icon_stop_white.svg) #e61954 no-repeat left 3rem center / 1.5rem 1.5rem;
  color: #fff;
}
body.white .main_visual .slider_control .toggle_btn[aria-pressed="false"]:hover {
  background: url(../img/mv_icon_play_white.svg) #e61954 no-repeat left 3rem center / 1.5rem 1.5rem;
  color: #fff;
}
body.white .pickup .item a p::before {
  transition: 0.3s;
}
body.white .pickup .item a:hover p::before {
  background: #f7b8ca;
  transition: 0.3s;
}
body.white .pickup .item a:hover p {
  color: #e61954;
}
body.white .pickup .item a:hover p span::before {
  background: #e61954;
}
body.white .pickup .item a:hover p span::after {
  border-color: #e61954;
}
body.white .pickup .item a:hover figure img {
  transform: scale(1.1, 1.1);
}
body.white .news ul li a:hover {
  color: #e61954;
}
body.white .news ul li::before {
  transition: 0.3s;
}
body.white .news ul li:hover::before {
  background: #f7b8ca;
  transition: 0.3s;
}
body.white .news ul li:hover::after {
  border-color: #e61954;
}
body.white .about :is(.info, .senior) .link_btn__wrap li a:hover {
  background: #ffffc6;
}
body.white .about :is(.campuslife, .tuition) .link_btn__wrap li a:hover {
  background: #ffe3eb;
}
body.white .open_campus .item a:hover figure img {
  transform: scale(1.1, 1.1);
}
body.white .open_campus .item a::before {
  transition: 0.3s;
}
body.white .open_campus .item a:hover::before {
  background: #f7b8ca;
  transition: 0.3s;
}
body.white .open_campus .item a:hover p span::before {
  background: #e61954;
}
body.white .open_campus .item a:hover p span::after {
  border-color: #e61954;
}
body.white .open_campus .item a p.page_title {
  transition: 0.3s;
}
body.white .open_campus .item a:hover p.page_title {
  color: #e61954;
  transition: 0.3s;
}
body.white .entrance_exam li a:hover {
  background: #ffffc6;
}
body.white footer .flex_wrap__left a:hover {
  opacity: 0.6;
}
body.white footer ul a:hover {
  background: #f7b8ca;
}
body.white .pagetop_btn a:hover {
  background: #ff7ca2;
}
body.white .pagetop_btn a:hover span::before {
  background: #fff;
}
body.white .pagetop_btn a:hover span::after {
  border-color: #fff;
}
body.white .fixed_btn li:first-child a:hover {
  background: #cbe3ae;
}
body.white .fixed_btn li:nth-child(2) a:hover {
  background: #fffbc4;
}

/* ==============================
  animation
============================== */
body.white .js_fadeup {
  opacity: 0;
  transform: translateY(3rem);
  transition: opacity 0.8s, transform 0.8s;
}
body.white .js_fadeup.is_inview {
  opacity: 1;
  transform: translateY(0);
}
