.page::before {
  width: 100%;
  height: 100vh;
  height: var(--fullvh);
  background: rgba(0, 0, 0, 0) linear-gradient(25deg, #ffffff 0%, #f0fcff 100%) 0% 0% no-repeat padding-box;
  z-index: -1;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0
}
.page.skin_pink::before {
  background: rgba(0, 0, 0, 0) linear-gradient(29deg, #ffffff 0%, #fff8fa 100%) 0% 0% no-repeat padding-box
}
.page.skin_purple::before {
  background: rgba(0, 0, 0, 0) linear-gradient(29deg, #ffffff 0%, #eff1ff 100%) 0% 0% no-repeat padding-box
}
.page.skin_orange::before {
  background: rgba(0, 0, 0, 0) linear-gradient(38deg, #ffffff 0%, #fffbf0 100%) 0% 0% no-repeat padding-box
}
.page.skin_green::before {
  background: rgba(0, 0, 0, 0) linear-gradient(38deg, #ffffff 0%, #f0fffe 100%) 0% 0% no-repeat padding-box
}
.breadcrumbs {
  font-size: 13px;
  color: #8cb6e2;
  margin-bottom: 5.32rem;
  position: relative;
  z-index: 3
}
@media screen and (max-width: 767px) {
  .breadcrumbs {
    margin-bottom: 2rem;
    font-size: 10px
  }
}
.page_main_ttl, .page_main_ttl_l {
  position: absolute;
  top: 61%;
  right: 24%;
  text-align: right;
  line-height: 1.5;
  letter-spacing: .05em;
  z-index: 1
}
.page_main_ttl__en {
  color: #8cb6e2;
  font-size: 2.25em
}
.page_main_ttl__ja {
  font-size: 1.5em
}
@media screen and (max-width: 1280px) {
  .page_main_ttl, .page_main_ttl_l {
    left: unset;
    right: 10% !important;
    text-shadow: 2px 2px 5px #fff
  }
}
@media screen and (max-width: 767px) {
  .page_main_ttl--club {
    top: 45%;
    right: 5%;
    left: unset !important
  }
  .page_main_ttl--principal {
    top: 45%;
    right: 5%;
    left: unset !important
  }
}
@media screen and (max-width: 600px) {
  .page_main_ttl--club {
    top: 35%;
    right: 5%;
    left: unset !important
  }
  .page_main_ttl__en .icon_before:not(.none) {
    line-height: .6;
    display: inline-block
  }
  .page_main_ttl__en--blog .icon_before:not(.none) {
    line-height: 1.5;
    font-size: clamp(20px, 8vw, 34px)
  }
}
.page_main_ttl_l {
  top: 50%;
  left: unset;
  right: calc(50vw - 502px);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  line-height: 1.3;
  font-weight: 300
}
.page_main_ttl_l__large {
  font-size: 60px;
  font-size: 3.75em
}
.page_main_ttl_l__normal {
  font-size: 50px;
  font-size: 3.13em
}
@media screen and (max-width: 1280px) {
  .page_main_ttl_l__large {
    font-size: 48px;
    font-size: 3em
  }
  .page_main_ttl_l__normal {
    font-size: 40px;
    font-size: 2.5em
  }
}
@media screen and (max-width: 767px) {
  .page_main_ttl_l__large {
    font-size: 36px;
    font-size: 2.25em
  }
  .page_main_ttl_l__normal {
    font-size: 24px;
    font-size: 1.5em
  }
}
.ict__en {
  margin-bottom: .2rem;
  width: 100%;
  max-width: 1005px
}
.ict__head {
  margin-bottom: 1.2rem
}
@media screen and (max-width: 1005px) {
  .ict__en {
    width: 100%
  }
}
.club_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-shadow: 5px 5px 20px rgba(141, 182, 227, .2);
  box-shadow: 5px 5px 20px rgba(141, 182, 227, .2);
  padding: 32px 85px;
  gap: 10%;
  margin-bottom: 4rem
}
.club_item:last-child {
  margin-bottom: 0
}
.club_item__img {
  border-radius: 50%;
  -ms-flex-item-align: baseline;
  align-self: baseline;
  width: 288px;
  height: 288px;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  position: relative
}
.club_item__img img {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  top: 0;
  left: 0
}
.club_item--reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse
}
.club_item__txt {
  padding-top: 49px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto
}
.club_item__txt h3 {
  font-size: 1.5rem;
  margin-bottom: 1.6rem;
  color: #8cb6e2
}
.club_item__txt p {
  font-size: 0.94rem;
  line-height: 1.7;
  margin-bottom: 1.1rem;
  letter-spacing: .05em
}
.club_item__txt--single {
  padding-top: 0
}
.club_item__read {
  max-width: 430px
}
.club_item__read--sports {
  max-width: unset
}
.club_item--wide_gap {
  gap: 11.93%
}
.club_item:hover .arrow_btn::after, .club_item:hover .shadow_btn::after {
  -webkit-transform: translateX(5px);
  transform: translateX(5px)
}
@media screen and (max-width: 767px) {
  .club_item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 32px 5%;
    gap: 2rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1rem
  }
  .club_item__img {
    width: 250px;
    height: 250px;
    margin-left: auto;
    margin-right: auto
  }
  .club_item__txt {
    padding-top: 0
  }
}
.admission__header {
  margin-bottom: -3rem
}
.admission__detail {
  margin-bottom: -2.5rem
}
@media screen and (max-width: 600px) {
  .admission {
    text-align: justify
  }
  .admission__header {
    margin-bottom: 0rem
  }
  .admission__detail {
    margin-bottom: 0rem
  }
}
.line_dl {
  border-top: 1px solid #8db6e3;
  width: 83%;
  margin-left: auto;
  margin-right: auto
}
.line_dl__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #8db6e3;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #f2faff
}
.line_dl__item dt {
  font-weight: 400;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 18.2%;
  flex: 0 0 18.2%;
  text-align: center
}
.line_dl__item dd {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  background: #fff;
  padding: 2rem 0 2rem 2.2%
}
.line_dl__item dd:not(.p_no_margin) p {
  margin-bottom: 2rem
}
.line_dl__item dd:not(.p_no_margin) p:last-child {
  margin-bottom: 0
}
@media screen and (max-width: 600px) {
  .line_dl {
    width: 90%
  }
  .line_dl__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
  .line_dl__item dt, .line_dl__item dd {
    width: 100%
  }
  .line_dl__item dt {
    padding: 1rem 4%;
    text-align: left
  }
  .line_dl__item dd {
    padding: 1rem 4% 2rem 4%
  }
}
.shadow_admission {
  -webkit-box-shadow: 5px 5px 20px rgba(141, 182, 227, .2);
  box-shadow: 5px 5px 20px rgba(141, 182, 227, .2)
}
.exam_switcher {
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  line-height: 1.5;
  padding-top: 50px
}
.exam_switcher__item {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  text-align: center
}
.exam_switcher__item button {
  font-size: 1.5em;
  width: 100%;
  padding-bottom: 25px;
  -webkit-transition: color .3s ease;
  transition: color .3s ease
}
.exam_switcher__item button.current {
  color: #8cb6e2;
  border-bottom: 2px solid #8db6e3
}
.exam_switcher__item button:hover {
  color: #8db6e3
}
@media screen and (max-width: 1280px) {
  .exam_switcher__item button {
    font-size: 1.25em
  }
}
@media screen and (max-width: 1005px) {
  .exam_switcher__item button {
    font-size: 1em
  }
}
@media screen and (max-width: 767px) {
  .exam_switcher {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 0
  }
  .exam_switcher__item button {
    font-size: 1em;
    border-bottom: 1px solid #8db6e3;
    border-top: 1px solid #8db6e3;
    padding-top: 1rem;
    padding-bottom: 1rem;
    margin-top: -1px
  }
  .exam_switcher__item button.current {
    border-bottom: none;
    background: #8db6e3;
    color: #fff
  }
  .exam_switcher__item:last-child button {
    border-bottom: none
  }
}
.desc_area__txt, .desc_area__ttl {
  display: block
}
.desc_area__txt {
  padding-left: 1em
}
.desc_area__txt02 {
  padding-left: 2em
}
.exam_table_area {
  padding-top: 5rem;
  padding-bottom: 5rem
}
@media screen and (max-width: 600px) {
  .exam_table_area {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem
  }
}
.small_section {
  margin-bottom: 5rem
}
.blank_body {
  position: relative
}
.blank_body__slash {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url("../images/page/blank_line@2x.png") center center/100% 100% no-repeat
}
.point_item {
  letter-spacing: .05em;
  margin-bottom: 2rem
}
.point_item__small {
  font-size: 13px;
  font-size: 0.82em;
  line-height: 1.1
}
.point_item__ttl {
  font-size: 20px;
  font-size: 1.25em;
  display: table;
  position: relative;
  margin-bottom: .5rem
}
.point_item__ttl::after {
  content: "";
  width: 0;
  height: 17px;
  background: #eee;
  position: absolute;
  left: 0;
  top: .9em;
  z-index: -1;
  background: rgba(0, 0, 0, 0) linear-gradient(96deg, #bddbf3 0%, #eaf7fd 100%) 0% 0% no-repeat padding-box
}
.point_item__ttl.showup::after {
  width: 100%;
  -webkit-transition: width 1s ease;
  transition: width 1s ease
}
.point_item__ttl--pink::after {
  background: rgba(0, 0, 0, 0) linear-gradient(99deg, #fdd2db 0%, #fff7eb 100%) 0% 0% no-repeat padding-box
}
.point_item__ttl--purple::after {
  background: rgba(0, 0, 0, 0) linear-gradient(97deg, #c5cdf0 0%, #eaf7fd 100%) 0% 0% no-repeat padding-box
}
.point_item__ttl--orange::after {
  background: rgba(0, 0, 0, 0) linear-gradient(97deg, #ffe7c1 0%, #fdfcea 100%) 0% 0% no-repeat padding-box
}
.point_item__ttl--green::after {
  background: rgba(0, 0, 0, 0) linear-gradient(94deg, #c2efea 0%, #eaf7fd 100%) 0% 0% no-repeat padding-box
}
.point_item__desc {
  font-size: 15px;
  font-size: 0.94em;
  line-height: 1.67
}
.point_item__list {
  font-size: 15px;
  font-size: 0.94em;
  line-height: 1.67
}
.point_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8.97%
}
.point_area__img {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%
}
.point_area__img img {
  width: 100%
}
@media screen and (max-width: 767px) {
  .point_area {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    gap: 2rem
  }
}
.accordion {
  background: #fff;
  margin-bottom: 1.5rem
}
.accordion ul, .accordion ol {
  list-style: none
}
.accordion summary {
  width: 100%;
  line-height: 1.5;
  padding: .6rem 6.02% .6rem 12.79%;
  font-size: 1.25em;
  background: #ccc;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #fff;
  cursor: pointer;
  position: relative;
  -webkit-transition: opacity .5s ease;
  transition: opacity .5s ease
}
.accordion summary::marker {
  content: ""
}
.accordion summary::after {
  content: "";
  display: block;
  position: absolute;
  right: 6.02%;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 15px;
  height: 13px;
  background: url("../images/page/white_tri_down.svg") center center/100% 100% no-repeat
}
.accordion summary:hover {
  -webkit-transition: opacity .5s ease;
  transition: opacity .5s ease;
  opacity: .8
}
.accordion__content {
  padding: 3rem 0;
  background: #eee
}
.accordion__content--short {
  padding: 1.5rem 0
}
.accordion__inner {
  gap: 10px;
  margin-left: auto;
  margin-right: auto
}
.accordion__inner ul {
  font-size: 15px;
  font-size: 0.94em;
  letter-spacing: .05em;
  line-height: 1.67
}
.accordion__inner ul:first-child {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: 35.94%;
  margin-left: 12.79%
}
.accordion details[open] summary::after {
  width: 8px;
  height: 8px;
  background: url("../images/page/white_circle.svg") center center/100% 100% no-repeat
}
@media screen and (max-width: 1280px) {
  .accordion__content img {
    width: 100%
  }
}
@media screen and (max-width: 767px) {
  .accordion__inner ul:nth-child(2) {
    margin-left: 12.79%
  }
}
@media screen and (max-width: 600px) {
  .accordion__inner {
    gap: 0px
  }
  .accordion__inner ul:first-child, .accordion__inner ul:nth-child(2) {
    margin-left: 5%;
    width: 100%
  }
}
.skin_pink .skin_color {
  color: #d88da4
}
.skin_pink .second_skin_color {
  color: #fff8fa
}
.skin_pink .skin_bk {
  background-color: #d88da4
}
.skin_pink .m_skin_bk {
  background-color: #ffe5ea
}
.skin_pink .l_skin_bk {
  background-color: #fff8fa
}
.skin_pink .breadcrumbs {
  color: #d88da4
}
.skin_pink .accordion summary {
  background: #ebafc2
}
.skin_pink .accordion__content {
  background: #fff8fa
}
.skin_pink .bk_skin {
  background-color: #d88da4 !important
}
.skin_pink .mm_bk_skin {
  background-color: #ebafc2 !important
}
.skin_pink .main_visual__page::after {
  width: 61%;
  background: rgba(0, 0, 0, 0) -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(#fffafc)) 0% 0% no-repeat padding-box;
  background: rgba(0, 0, 0, 0) linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #fffafc 100%) 0% 0% no-repeat padding-box
}
.skin_purple .skin_color {
  color: #7080c4
}
.skin_purple .second_skin_color {
  color: #f7f8ff
}
.skin_purple .skin_bk {
  background-color: #7080c4
}
.skin_purple .m_skin_bk {
  background-color: #a9b5ed
}
.skin_purple .l_skin_bk {
  background-color: #f7f8ff
}
.skin_purple .breadcrumbs {
  color: #7080c4
}
.skin_purple .accordion summary {
  background: #a9b5ed
}
.skin_purple .accordion__content {
  background: #f7f8ff
}
.skin_purple .bk_skin {
  background-color: #7080c4 !important
}
.skin_purple .bk_m_skin {
  background-color: #a9b5ed !important
}
.skin_purple .main_visual__page::after {
  width: 61%;
  background: rgba(0, 0, 0, 0) -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(#f3f5ff)) 0% 0% no-repeat padding-box;
  background: rgba(0, 0, 0, 0) linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #f3f5ff 100%) 0% 0% no-repeat padding-box
}
.skin_orange .skin_color {
  color: #f5cc8a
}
.skin_orange .second_skin_color {
  color: #fffbf2
}
.skin_orange .d_skin_color {
  color: #d3aa68
}
.skin_orange .dd_skin_color {
  color: #d2aa65
}
.skin_orange .skin_bk {
  background-color: #f5cc8a
}
.skin_orange .m_skin_bk {
  background-color: #fff4d3
}
.skin_orange .l_skin_bk {
  background-color: #fffbf2
}
.skin_orange .breadcrumbs {
  color: #f5cc8a
}
.skin_orange .accordion summary {
  background: #f5cc8a
}
.skin_orange .accordion__content {
  background: #fffbf2
}
.skin_orange .bk_skin {
  background-color: #f5cc8a !important
}
.skin_orange .main_visual__page::after {
  width: 61%;
  background: rgba(0, 0, 0, 0) -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(#fffcf5)) 0% 0% no-repeat padding-box;
  background: rgba(0, 0, 0, 0) linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #fffcf5 100%) 0% 0% no-repeat padding-box
}
.skin_green .skin_color {
  color: #6bc9be
}
.skin_green .second_skin_color {
  color: #f4fffe
}
.skin_green .d_skin_color {
  color: #39a296
}
.skin_green .skin_bk {
  background-color: #6bc9be
}
.skin_green .m_skin_bk {
  background-color: #c6f5f0
}
.skin_green .l_skin_bk {
  background-color: #f4fffe
}
.skin_green .breadcrumbs {
  color: #6bc9be
}
.skin_green .accordion summary {
  background: #6bc9be
}
.skin_green .accordion__content {
  background: #f4fffe
}
.skin_green .bk_skin {
  background-color: #6bc9be !important
}
.skin_green .main_visual__page::after {
  width: 61%;
  background: rgba(0, 0, 0, 0) -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(#f4fffe)) 0% 0% no-repeat padding-box;
  background: rgba(0, 0, 0, 0) linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #f4fffe 100%) 0% 0% no-repeat padding-box
}
.page_style_01 {
  padding-bottom: 5rem;
  margin-bottom: 5rem
}
.bk_white {
  background-color: #fff;
  padding-top: 1.2rem
}
.content_slider {
  width: 155%
}
.define_list__ttl {
  font-weight: 300;
  margin-bottom: .5rem;
  font-size: 20px;
  font-size: 1.25em
}
.define_list__number {
  font-size: 20px;
  font-size: 1.25em;
  color: #8cb6e2;
  font-weight: 300;
  margin-right: .5em;
  vertical-align: middle;
  position: relative;
  bottom: .1em;
  font-size: 15px;
  font-size: 0.94em
}
.define_list__desc {
  font-size: 15px;
  font-size: 0.94em
}
.stripe_list {
  font-size: 15px;
  font-size: 0.94em
}
.stripe_list__ttl {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: 14%;
  font-weight: 400;
  padding-right: 1em;
  letter-spacing: .05em
}
.stripe_list__desc {
  font-size: 15px;
  font-size: 0.94em
}
.stripe_list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1rem 2.5%
}
.stripe_list__item:nth-child(odd) {
  background: #f2faff
}
@media screen and (max-width: 767px) {
  .stripe_list__desc {
    text-align: justify;
    padding-left: .5em
  }
  .stripe_list__ttl {
    width: 100%;
    margin-bottom: .5rem
  }
  .stripe_list__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}
.photo_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
.photo_flex__img {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto
}
.photo_flex__img img {
  width: 100%
}
.photo_flex--re {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse
}
.photo_flex--principal {
  gap: 8%
}
@media screen and (max-width: 1005px) {
  .photo_flex {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
  }
  .photo_flex__img {
    width: 40%
  }
  .photo_flex--principal {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }
  .photo_flex--principal .photo_flex__img {
    width: 50%
  }
}
@media screen and (max-width: 600px) {
  .photo_flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1rem
  }
  .photo_flex__img {
    width: 100%
  }
  .photo_flex--principal {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row
  }
  .photo_flex--principal .photo_flex__img {
    width: 50%
  }
  .photo_flex--principal .photo_flex__txt {
    font-size: .8rem
  }
}
.principal_log {
  -webkit-transition: .5s ease;
  transition: .5s ease
}
.principal_log__ttl {
  font-weight: 400;
  width: 15%;
  padding-right: 1em;
  letter-spacing: .05em;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto
}
.principal_log__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1.5rem 0;
  border-bottom: 1px solid #d5d5d5
}
@media screen and (max-width: 767px) {
  .principal_log__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
  .principal_log__ttl {
    width: 100%
  }
}
.flex_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0 1.5rem
}
#building_image_slider .splide__slide img {
  width: 100%
}
.circle_txt {
  font-size: 15px;
  font-size: 0.94em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 5.3em;
  height: 5.3em;
  border-radius: 50%;
  border: 1px solid #8cb6e2
}
.circle_btn_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 7%
}
.g_map {
  width: 100%;
  height: 500px
}
:where(.new_single) {
  letter-spacing: .05em
}
:where(.new_single) .new_single__header {
  line-height: 1.5
}
:where(.new_single) .new_single__year {
  font-size: 15px;
  font-size: 0.94em
}
:where(.new_single) .new_single__event_name {
  font-size: 20px;
  font-size: 1.25em
}
:where(.new_single) .new_single__ttl {
  font-size: 36px;
  font-size: 2.25em;
  color: #8cb6e2
}
:where(.new_single) .new_single__content {
  margin-bottom: 5rem
}
:where(.new_single) .new_single__content strong {
  font-size: 1.2em
}
:where(.new_single) .new_single__content a {
  text-decoration: underline
}
:where(.new_single) .new_single__days {
  font-size: 28px;
  font-size: 1.75em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #8cb6e2
}
:where(.new_single) .new_single__from_to {
  padding-right: .8em;
  padding-left: .8em
}
:where(.new_single) .new_single__figure {
  margin-bottom: 1.5rem
}
:where(.new_single) .new_single__figure img {
  max-width: 100%
}
:where(.new_single) p {
  margin-bottom: 1rem;
  font-size: 15px;
  font-size: 0.94em
}
:where(.new_single) h1, :where(.new_single) h2, :where(.new_single) h3, :where(.new_single) h4 {
  margin-bottom: 1.5rem
}
:where(.new_single) h1, :where(.new_single) h2 {
  line-height: 1.5;
  font-size: 24px;
  font-size: 1.5em
}
:where(.new_single) h1 {
  color: #fff;
  background: #8cb6e2;
  padding: .3em .63em
}
:where(.new_single) h2 {
  color: #8cb6e2;
  font-size: 24px;
  font-size: 1.5em
}
:where(.new_single) h2::before, :where(.new_single) h2::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-position: center left;
  background-size: 100%;
  background-repeat: repeat-x;
  background-image: url(../images/common/dotted_line.svg)
}
:where(.new_single) h2::before {
  margin-bottom: .3em
}
:where(.new_single) h2::after {
  margin-top: .3em
}
:where(.new_single) h3 {
  color: #8cb6e2;
  font-size: 24px;
  font-size: 1.5em
}
:where(.new_single) h4 {
  position: relative;
  background: #dcebfa;
  display: table;
  color: #8cb6e2;
  padding: .3em .63em
}
:where(.new_single) h4::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 20%;
  margin-left: -10px;
  border: 10px solid rgba(0, 0, 0, 0);
  border-top: 10px solid #dcebfa
}
:where(.new_single) h5, :where(.new_single) h6 {
  color: #8cb6e2;
  font-size: 15px;
  font-size: 0.94em;
  position: relative;
  padding-left: 1.11em
}
:where(.new_single) h5::before, :where(.new_single) h6::before {
  content: "";
  width: .74em;
  height: .74em;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: .65em;
  line-height: 1.5
}
:where(.new_single) h5::before {
  background: #8cb6e2
}
:where(.new_single) h6::before {
  border: 1px solid #8cb6e2
}
:where(.new_single) input {
  border: 1px solid #ccc
}
:where(.new_single) .wp-block-footnotes {
  font-size: 13px;
  font-size: 0.82em;
  color: #4f8ccb
}
@media screen and (max-width: 767px) {
  :where(.new_single) .new_single__days {
    font-size: 24px;
    font-size: 1.5em;
    line-height: 1
  }
  :where(.new_single) .new_single__ttl {
    font-size: 28px;
    font-size: 1.75em
  }
}
@media screen and (max-width: 600px) {
  :where(.new_single) .new_single__days {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}
.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 14px
}
.pagination a, .pagination span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid #8cb6e2;
  color: #8cb6e2;
  line-height: 1;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 0.94em;
  padding-top: .7em
}
.pagination span {
  background: #8cb6e2;
  color: #fff
}
@media screen and (max-width: 767px) {
  .pagination {
    gap: 10px
  }
}
.new_pagination {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
.new_pagination__prev {
  grid-column: 1/2
}
.new_pagination__link {
  grid-column: 2/3
}
.new_pagination__next {
  grid-column: 3/4;
  text-align: right
}
@media screen and (max-width: 767px) {
  .new_pagination {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 2rem 1rem
  }
  .new_pagination__prev {
    grid-column: 1/2;
    grid-row: 1/2
  }
  .new_pagination__prev::before {
    width: 40px;
    height: 40px
  }
  .new_pagination__link {
    grid-row: 2/3;
    grid-column: 1/3;
    margin-left: auto;
    margin-right: auto
  }
  .new_pagination__next {
    grid-row: 1/2;
    grid-column: 2/3
  }
  .new_pagination__next::after {
    width: 40px;
    height: 40px
  }
}
.open_school {
  -webkit-box-shadow: 5px 5px 10px rgba(141, 182, 227, .2);
  box-shadow: 5px 5px 10px rgba(141, 182, 227, .2);
  font-size: 1rem
}
.open_school--pink {
  -webkit-box-shadow: 5px 5px 10px rgba(244, 176, 200, .2);
  box-shadow: 5px 5px 10px rgba(244, 176, 200, .2)
}
.open_school__ttl {
  color: #fff;
  font-size: 15px;
  font-size: 0.94em;
  background: #8cb6e2;
  text-align: center;
  line-height: 1.5;
  padding-top: .6rem;
  padding-bottom: .6rem;
  padding-left: 5px;
  padding-right: 5px;
  line-height: 1.5
}
.open_school__ttl--pink {
  background: #f4b0c8
}
.open_school__info {
  padding-left: 9.68%;
  padding-right: 9.68%;
  padding-top: .5rem;
  padding-bottom: 1rem;
  text-align: center;
  line-height: 1.5
}
.open_school__year {
  font-size: 15px;
  font-size: 0.94em
}
.open_school__date {
  margin-bottom: .5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}
.open_school__month {
  font-size: 32px;
  font-size: 2em;
  padding-right: .2em
}
.open_school__day {
  color: #8cb6e2;
  font-size: 20px;
  font-size: 1.25em
}
.open_school__day--pink {
  color: #f4b0c8
}
.middle_photo {
  width: 100%;
  max-width: 665px;
  display: block;
  margin-left: auto;
  margin-right: auto
}
.gird_three_col {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(255px, 1fr));
  gap: 2rem 3.6%
}
.block_link {
  display: block;
  background: #fff;
  -webkit-box-shadow: 0 5px 20px rgba(140, 182, 226, .2);
  box-shadow: 0 5px 20px rgba(140, 182, 226, .2);
  padding: 2.5rem 64px;
  margin-bottom: 166px;
  position: relative
}
.block_link::after {
  position: absolute;
  display: block;
  content: "";
  width: 1px;
  height: 100px;
  background: #8cb6e2;
  left: 50%;
  bottom: -133px
}
.block_link:last-child {
  margin-bottom: 0
}
.block_link:last-child::after {
  display: none
}
.block_link__date {
  font-size: 15px;
  font-size: 0.94em;
  line-height: 1.5
}
.block_link__ttl {
  font-size: 36px;
  font-size: 2.25em;
  color: #8cb6e2;
  line-height: 1.5;
  margin-bottom: 1.3rem
}
.block_link__excerpt {
  font-size: 15px;
  font-size: 0.94em;
  line-height: 1.67;
  text-align: justify
}
.block_link__more {
  font-size: 15px;
  font-size: 0.94em;
  text-decoration: none !important;
  text-align: right;
  color: #8cb6e2;
  text-decoration: underline;
  margin-top: 1rem
}
.block_link__img {
  text-align: center
}
.block_link figure {
  margin-bottom: 1.3rem
}
.block_link img {
  max-width: 100%
}
@media screen and (max-width: 767px) {
  .block_link {
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 110px
  }
  .block_link::after {
    height: 70px;
    bottom: -90px
  }
  .block_link__ttl {
    font-size: 24px;
    font-size: 1.5em
  }
}
.achievements_area {
  font-size: 15px;
  font-size: 0.94em;
  line-height: 1.5;
  margin-bottom: 1rem
}
.color_dot_list {
  font-size: 15px;
  font-size: 0.94em;
  line-height: 1.5
}
.color_dot_list > * + * {
  margin-top: 1.2rem
}
.color_dot_list li {
  position: relative;
  padding-left: 1.1em
}
.color_dot_list li::before {
  content: "";
  width: .6em;
  height: .6em;
  border-radius: 50%;
  background: #8cb6e2;
  display: inline-block;
  vertical-align: middle;
  position: absolute;
  top: .5em;
  left: 0;
  margin-right: .5em
}
.sitemap_block {
  max-width: 495px;
  line-height: 1.5;
  margin-left: auto;
  margin-right: auto;
  color: #8cb6e2;
  padding-bottom: 1rem
}
.sitemap_block__ttl {
  font-size: 24px;
  font-size: 1.5em;
  border-bottom: 1px solid #dcebfa;
  padding-bottom: .5rem;
  margin-bottom: 1rem
}
.sitemap_block__ttl_sub {
  border-bottom: 1px solid #dcebfa;
  padding-bottom: .5rem;
  margin-bottom: 1rem
}
.sitemap_block_list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem 3.04%
}
.sitemap_block_list li {
  border-bottom: 1px solid #dcebfa;
  padding-bottom: .5rem
}
.sitemap_block_list a {
  font-size: 15px;
  font-size: 0.94em
}
.log_list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  border-bottom: 1px solid #d5d5d5
}
.log_list__item {
  text-align: center;
  padding: 1.1rem 0
}
.log_list__item:first-child {
  padding-left: 22%
}
.log_list__item:last-child {
  padding-right: 22%
}
.log_list__link {
  font-size: 0.82em;
  border-bottom: 1px solid #4f8ccb;
  line-height: 1.5;
  color: #4f8ccb;
  padding-bottom: .1em;
  display: inline-block;
  letter-spacing: .05em
}
@media screen and (max-width: 767px) {
  .log_list__item:first-child {
    padding-left: 0%
  }
  .log_list__item:last-child {
    padding-right: 0%
  }
}
.form_wrap {
  max-width: 495px;
  margin-left: auto;
  margin-right: auto
}
.form_wrap__item {
  margin-bottom: 2.57rem
}
.form_wrap__item input, .form_wrap__item textarea, .form_wrap__item select {
  padding: .1em .5em;
  width: 100%;
  border: 1px solid #d5d5d5;
  margin-top: .2rem
}

.form_wrap__item a {
  text-decoration: underline;
}

.form_wrap__item textarea {
  height: 200px
}
.form_wrap__submit {
  margin-left: auto;
  margin-right: auto
}
.form_wrap .error {
  color: red;
  font-size: 13px
}
@media screen and (max-width: 767px) {
  .form_wrap input, .form_wrap textarea {
    padding: .5em
  }
}
.must_be_filled {
  color: #fff;
  background: #8cb6e2;
  font-weight: 400;
  font-size: 13px;
  font-size: 0.82em;
  padding: .2em .5em;
  display: inline-block;
  padding: .3em .5em;
  line-height: 1;
  margin-left: 10px
}
.form_button_layout {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr
}
@media screen and (max-width: 600px) {
  .form_button_layout {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-left: 5px;
    padding-right: 5px
  }
}