@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@300;400;500;600&family=Noto+Sans+JP:wght@300;400;500;700&display=swap");
/*----------------------------------------------------------------------------
  hero
----------------------------------------------------------------------------*/
.hero .hero_photo picture img {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
  overflow: hidden;
}

/*----------------------------------------------------------------------------
  leukste
----------------------------------------------------------------------------*/
.leukste .inner {
  padding-top: 100px;
  padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .leukste .inner {
    padding-top: 13.333vw;
    padding-right: 4vw;
    padding-bottom: 14vw;
    padding-left: 4vw;
  }
}
.leukste_title {
  width: 510px;
  margin-right: auto;
  margin-bottom: 100px;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .leukste_title {
    width: 68vw;
    margin-bottom: 6.667vw;
  }
}
.leukste_title::before {
  background-color: #000;
}
.leukste_title img {
  width: 253px;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .leukste_title img {
    width: 33.733vw;
    margin-bottom: 2vw;
  }
}
.leukste_title span {
  background-color: #fff;
}
.leukste .field {
  width: 986px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .leukste .field {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
  }
}
.leukste_heading {
  margin-bottom: 65px;
}
@media screen and (max-width: 767px) {
  .leukste_heading {
    margin-bottom: 6.667vw;
  }
}
.leukste_heading p {
  font-family: "M PLUS 2", sans-serif;
  font-size: 29px;
  font-size: 2.9rem;
  font-weight: 500;
  color: #000;
  letter-spacing: 0.16em;
  margin-right: -0.16em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .leukste_heading p {
    font-size: 4vw;
    line-height: 1.7333;
  }
}
.leukste_heading p:not(:last-child) {
  margin-bottom: 1em;
}
.leukste_box {
  padding-top: 63px;
  padding-bottom: 63px;
  margin-bottom: 35px;
  background-color: #10069f;
}
@media screen and (max-width: 767px) {
  .leukste_box {
    padding-top: 8vw;
    padding-bottom: 8vw;
    margin-bottom: 5.333vw;
  }
}
.leukste_box p {
  font-family: "M PLUS 2", sans-serif;
  font-size: 36px;
  font-size: 3.6rem;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.16em;
  margin-right: -0.16em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .leukste_box p {
    font-size: 4.8vw;
    line-height: 1.4444;
  }
}
.leukste_box p:first-child {
  position: relative;
}
.leukste_box p:first-child::after {
  content: "＝";
  position: absolute;
  bottom: -2.25em;
  left: calc(50% - 0.5em);
  transform: translate(0, -50%);
  writing-mode: vertical-rl;
}
@media screen and (max-width: 767px) {
  .leukste_box p:first-child::after {
    left: calc(50% - 1em);
  }
}
.leukste_box p:not(:last-child) {
  margin-bottom: 2em;
}
.leukste_caption {
  margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
  .leukste_caption {
    margin-bottom: 5.333vw;
  }
}
.leukste_caption p {
  font-family: "M PLUS 2", sans-serif;
  font-size: 29px;
  font-size: 2.9rem;
  font-weight: 500;
  color: #000;
  line-height: 1.9655;
  letter-spacing: 0.16em;
  margin-right: -0.16em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .leukste_caption p {
    font-size: 3.867vw;
    letter-spacing: 0.08em;
    margin-right: -0.08em;
  }
}
.leukste_content {
  display: grid;
  grid-template-columns: repeat(2, 480px);
  -moz-column-gap: 26px;
       column-gap: 26px;
  place-items: center;
  margin-bottom: 55px;
}
@media screen and (max-width: 767px) {
  .leukste_content {
    grid-template-columns: 1fr;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 2.667vw;
    margin-bottom: 5.333vw;
  }
}
.leukste_text p {
  font-family: "M PLUS 2", sans-serif;
  font-size: 29px;
  font-size: 2.9rem;
  font-weight: 500;
  color: #000;
  letter-spacing: 0.16em;
  margin-right: -0.16em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .leukste_text p {
    font-size: 3.867vw;
    letter-spacing: 0.08em;
    margin-right: -0.08em;
  }
}
.philosophy .concept{
  text-align: center;
}

@media screen and (max-width: 767px) {
  .philosophy .concept .concept-title{
    width: 45%;
  }
  .philosophy .concept .concept-title02{
    width: 96%;
  }
  .philosophy .concept .concept-arrow{
    width: 10%;
  }
  .philosophy .concept .concept-middle{
    width: 80%;
  }
}

/*----------------------------------------------------------------------------
  concept
----------------------------------------------------------------------------*/
.concept .inner {
  padding-top: 100px;
  padding-bottom: 150px;
}
@media screen and (max-width: 767px) {
  .concept .inner {
    padding-top: 13.333vw;
    padding-right: 4vw;
    padding-bottom: 24vw;
    padding-left: 4vw;
  }
}
.concept_title {
  width: 510px;
  margin-right: auto;
  margin-bottom: 65px;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .concept_title {
    width: 68vw;
    margin-bottom: 6.667vw;
  }
}
.concept_title::before {
  background-color: #fff;
}
.concept_title img {
  width: 277px;
  margin-bottom: 15px;
  filter: invert(100%);
}
@media screen and (max-width: 767px) {
  .concept_title img {
    width: 36.933vw;
    margin-bottom: 2vw;
  }
}
.concept_title span {
  color: #fff;
  background-color: #e62e8b;
}
.concept_text ,
.concept_border {
  width: 900px;
  margin: 0 auto;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .concept_text ,
  .concept_border {
    width: 100%;
    margin-right: 0;
    margin-left: 0;
  }
}
.concept_border {
    border: 1px solid #fff;
    padding: 30px;
}
@media screen and (max-width: 767px) {
  .concept_border {
      padding: 4.6vw 0;
  }
}
.concept_text p ,
.concept_border p {
  font-family: "M PLUS 2", sans-serif;
  font-size: 29px;
  font-size: 2.9rem;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.16em;
  margin-right: -0.16em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .concept_text p ,
  .concept_border p {
    font-size: 4vw;
    line-height: 1.7333;
  }
}
.concept_text p:not(:last-child) ,
.concept_border p:not(:last-child) {
    margin-bottom: 1em;
}
.concept01{
  width: 880px;
  margin: 50px auto;
}
@media screen and (max-width: 767px) {
  .concept01 {
    margin: 6.667vw auto;
  }
}

/*----------------------------------------------------------------------------
  philosophy
----------------------------------------------------------------------------*/
.philosophy {
  background-color: #e62e8b;
  color: #fff;
  padding-bottom: 150px;
}
@media screen and (max-width: 767px) {
  .philosophy {
    padding-bottom: 18vw;
  }
}
.philosophy .inner {
  padding-top: 75px;
}
@media screen and (max-width: 767px) {
  .philosophy .inner {
    padding-top: 16vw;
    padding-right: 4vw;
    padding-left: 4vw;
  }
}
.philosophy_title {
  width: 510px;
  margin-right: auto;
  margin-bottom: 75px;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .philosophy_title {
    width: 68vw;
    margin-bottom: 10.667vw;
  }
}
.philosophy_title::before {
  background-color: #fff;
}
.philosophy_title img {
  width: 379px;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .philosophy_title img {
    width: 50.533vw;
    margin-bottom: 2vw;
  }
}
.philosophy_title span {
  background-color: #fae100;
}
.philosophy .field {
  padding-right: 25px;
  padding-left: 25px;
}
@media screen and (max-width: 767px) {
  .philosophy .field {
    padding-right: 0;
    padding-left: 0;
  }
}
.philosophy_box {
  display: -moz-flex;
  display: flex;
  -moz-justify-content: space-between;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .philosophy_box {
    -moz-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
}
.philosophy_box:nth-child(2n) {
  -moz-flex-direction: row-reverse;
  flex-direction: row-reverse;
  padding-left: 25px;
}
@media screen and (max-width: 767px) {
  .philosophy_box:nth-child(2n) {
    -moz-flex-direction: column-reverse;
    flex-direction: column-reverse;
    padding-left: 0;
  }
}
.philosophy_box:nth-child(2n+1) {
  padding-right: 25px;
}
@media screen and (max-width: 767px) {
  .philosophy_box:nth-child(2n+1) {
    padding-right: 0;
  }
}
.philosophy_box:not(:last-child) {
  margin-bottom: 65px;
}
@media screen and (max-width: 767px) {
  .philosophy_box:not(:last-child) {
    margin-bottom: 13.333vw;
  }
}
.philosophy_box-photo {
  position: relative;
  -moz-flex: 0 0 480px;
  flex: 0 0 480px;
  width: 480px;
  height: 280px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .philosophy_box-photo {
    -moz-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 100%;
    height: 53.333vw;
  }
}
.philosophy_box-photo img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: auto;
  transform: translate(-50%, -50%);
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .philosophy_box-photo img {
    height: 100%;
  }
}
.philosophy_item {
  -moz-flex: 0 0 510px;
  flex: 0 0 510px;
}
@media screen and (max-width: 767px) {
  .philosophy_item {
    -moz-flex: 0 0 auto;
    flex: 0 0 auto;
    margin-bottom: 5.333vw;
  }
}
.philosophy_item-headline {
  margin-bottom: 18px;
}
@media screen and (max-width: 767px) {
  .philosophy_item-headline {
    margin-bottom: 2.667vw;
  }
}
.philosophy_item-headline span {
  display: inline-block;
  font-family: "M PLUS 2", sans-serif;
  font-size: 27px;
  font-size: 2.7rem;
  font-weight: 600;
  color: #4c4948;
  letter-spacing: 0.16em;
  margin-right: -0.16em;
}
@media screen and (max-width: 767px) {
  .philosophy_item-headline span {
    font-size: 5.067vw;
  }
}
.philosophy_item-body p {
  font-family: "M PLUS 2", sans-serif;
  font-size: 21px;
  font-size: 2.1rem;
  font-weight: 400;
  color: #4c4948;
  line-height: 1.6667;
  letter-spacing: 0.16em;
  margin-right: -0.16em;
  text-align: justify;
  text-justify: inter-ideograph;
}
@media screen and (max-width: 767px) {
  .philosophy_item-body p {
    font-size: 4vw;
    line-height: 1.7333;
  }
}
.concept_slider{
  position: relative;
  margin: 80px 0;
}
@media screen and (max-width: 767px) {
  .concept_slider {
    margin: 9.2vw 0 10vw;
  }
}
.concept_photo .slick-slide {
  position: relative;
  overflow: hidden;
}
.concept_photo .slick-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.concept_photo .slick-slide {
  padding: 0 10px;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .concept_photo .slick-slide {
    padding: 0 0.15em;
  }
}


.more-wrap {
  position: relative;
}
.more-btn {
  position: relative;
  z-index: 10;
  transition: transform 0.6s ease;
}
.more-accordion {
  height: 0;
  overflow: hidden;
  transition: height 0.6s ease;
}
.more-box.-reverse{
  background-color: #fff;
}
.more-box.-reverse .concept_title span {
    color: #e62e8b;
    background-color: #fff;
}
.more-box.-reverse .concept_title::before {
    background-color: #e62e8b;
}
.more-box.-reverse .concept_text p {
    color: #e62e8b;
}
.philosophy .more-accordion .more-box .inner {
    padding: 140px 0;
}
@media screen and (max-width: 767px) {
  .philosophy .more-accordion .more-box .inner {
    padding-top: 13.333vw;
    padding-right: 4vw;
    padding-bottom: 14vw;
    padding-left: 4vw;
  }
}
.philosophy .more-accordion .more-box:first-child .inner {
    padding-top: 0;
}
.philosophy .more-accordion .more-box:last-child .inner {
    padding-bottom: 0;
}
.more-accordion .concept_title {
  width: 750px;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
    .more-accordion .concept_title {
        width: 68vw;
        margin-bottom: 6.667vw;
    }
    .concept_title.row-2 {
        text-align: center;
        line-height: 1.2;
    }
    .section_title.row-2::before {
        bottom: 3.667vw;
    }
}
.more-accordion .section_title span{
  font-size: 28px;
  font-size: 2.8rem;
}
@media screen and (max-width: 767px) {
    .more-accordion .section_title span {
        font-size: 4.533vw;
    }
}
.more-accordion .concept_text {
  width: 100%;
}
.more-accordion .concept_text p{
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
    .more-accordion .concept_text p {
        font-size: 3.8vw;
        line-height: 1.7333;
    }
}
.more-accordion .more-box:last-child .concept_border {
    margin: 100px auto 0;
}
@media screen and (max-width: 767px) {
    .more-accordion .more-box:last-child .concept_border {
        margin: 12vw auto 0;
    }
}
.more-accordion .concept_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
  place-items: center stretch;
  margin: 120px auto 60px;
}
@media screen and (max-width: 767px) {
  .more-accordion .concept_list {
    grid-template-columns: 1fr;
    gap: 5.667vw;
    margin: 16vw auto 12vw;
  }
}
@media screen and (min-width: 768px) {
  .more-accordion .concept_list > div:nth-child(odd) {
    transition-delay: 0.2s;
  }
  .more-accordion .concept_list > div:nth-child(even) {
    transition-delay: 0.4s;
  }
}
.more-accordion .concept_item {
  position: relative;
}
.more-accordion .concept_item p {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
  text-align: center;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 300;
  font-family: "M PLUS 2", sans-serif;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .more-accordion .concept_item p {
    font-size: 3.3vw;
  }
}
.more-accordion .concept_item span {
  display: inline-block;
  font-size: 30px;
  font-size: 3.0rem;
  font-weight: 500;
  padding-bottom: 2rem;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .more-accordion .concept_item span {
    font-size: 4.6vw;
  }
}
.more-accordion .concept_item img {
  width: 100%;
  pointer-events: none;
}


.section_btn a::after {
  content: "";
  position: absolute;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  top: 50%;
  right: 20px;
  width: 10px;
  height: 17px;
  background-image: url(../images/common/arrow_short.svg);
  transform: translate(0, -50%) rotate(90deg);
}
.concept_box-btn a {
  background-color: #e62e8b;
  border-color: #fff;
}
.concept_box-btn a::before {
  width: 109%;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .concept_box-btn a:hover::after {
    filter: invert(20%) sepia(95%) saturate(5600%) hue-rotate(315deg) brightness(95%) contrast(105%);
  }
  .concept_box-btn a:hover span {
    color: #e62e8b;
  }
}
.more-wrap.is-open .concept_box-btn {
  display: none;
}
.more-wrap.is-open .section_btn a {
  background-color: #fff;
}
.more-wrap.is-open .section_btn a span{
  color: #e62e8b;
}
.more-wrap.is-open .section_btn a::after {
  transform: translate(0, -50%) rotate(270deg);
  filter: invert(20%) sepia(95%) saturate(5600%) hue-rotate(315deg) brightness(95%) contrast(105%);
}

/*----------------------------------------------------------------------------
  membership
----------------------------------------------------------------------------*/
.membership .inner {
  padding-top: 180px;
  padding-bottom: 115px;
}
@media screen and (max-width: 767px) {
  .membership .inner {
    padding-top: 16vw;
    padding-right: 4vw;
    padding-bottom: 16vw;
    padding-left: 4vw;
  }
}
.membership_title {
  width: 510px;
  margin-right: auto;
  margin-bottom: 108px;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .membership_title {
    width: 68vw;
    margin-bottom: 16vw;
  }
}
.membership_title::before {
  background-color: #000;
}
.membership_title img {
  width: 429px;
  margin-bottom: 13px;
}
@media screen and (max-width: 767px) {
  .membership_title img {
    width: 57.333vw;
    margin-bottom: 2vw;
  }
}
.membership_title span {
  background-color: #fff;
}
.membership .field {
  max-width: 850px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .membership .field {
    max-width: 100%;
  }
}
.membership_list {
  margin-bottom: 72px;
}
@media screen and (max-width: 767px) {
  .membership_list {
    margin-bottom: 16vw;
  }
}
.membership_list-item {
  position: relative;
  display: -moz-flex;
  display: flex;
  -moz-justify-content: center;
  justify-content: center;
  -moz-align-items: center;
  align-items: center;
  padding-top: 31px;
  padding-bottom: 32px;
  border-radius: 45px;
  background-color: #e32e88;
}
@media screen and (max-width: 767px) {
  .membership_list-item {
    -moz-flex-direction: column;
    flex-direction: column;
    padding-top: 5.333vw;
    padding-bottom: 5.6vw;
    border-radius: 11.6vw;
  }
}
.membership_list-item:not(:last-child) {
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .membership_list-item:not(:last-child) {
    margin-bottom: 9.333vw;
  }
}
.membership_list-item:not(:last-child)::after {
  content: "";
  position: absolute;
  bottom: -40px;
  left: 50%;
  width: 35px;
  height: 20px;
  background-color: #10069f;
  transform: translate(-50%, 0);
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
}
@media screen and (max-width: 767px) {
  .membership_list-item:not(:last-child)::after {
    bottom: -6.933vw;
    width: 8vw;
    height: 4vw;
  }
}
.membership_list-item span {
  font-family: "M PLUS 2", sans-serif;
  font-size: 26px;
  font-size: 2.6rem;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.18em;
  margin-right: -0.18em;
}
@media screen and (max-width: 767px) {
  .membership_list-item span {
    font-size: 4.8vw;
    letter-spacing: 0.09em;
    margin-right: -0.09em;
  }
}
.membership_list-item span:nth-child(1) {
  margin-right: 0.5em;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .membership_list-item span:nth-child(1) {
    margin-right: 0;
    margin-bottom: 2.667vw;
  }
}
.membership_list-item span:nth-child(2)::before {
  content: "「";
}
.membership_list-item span:nth-child(2)::after {
  content: "」";
}
.membership_links {
  max-width: 478px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .membership_links {
    width: 100%;
    max-width: auto;
  }
}
.membership_links a {
  display: block;
  position: relative;
  text-align: center;
  padding-top: 23px;
  padding-bottom: 24px;
  border: 2px solid #717071;
  background-color: #717071;
  overflow: hidden;
}
.membership_links.hoken a {
  border: 2px solid #b0aba9;
  background-color: #b0aba9;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .membership_links a {
    padding-top: 5.067vw;
    padding-bottom: 5.333vw;
  }
}
@media screen and (min-width: 768px) {
  .membership_links a::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 107.5%;
    height: 100%;
    background-color: #fff;
    transform-origin: right top;
    transform: scale(0, 1) skewX(-25deg);
    transition: transform 0.4s ease;
  }
}
.membership_links a::after {
  content: "";
  position: absolute;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: 2;
  top: 50%;
  right: 15px;
  width: 30px;
  height: 15px;
  background-image: url(../images/common/arrow_long.svg);
  transform: translate(0, -50%);
  transition: right 0.2s ease;
  filter: invert(100%) sepia(0%) saturate(7490%) hue-rotate(127deg) brightness(105%) contrast(101%);
}
@media screen and (max-width: 767px) {
  .membership_links a::after {
    right: 2.667vw;
    width: 5.333vw;
    height: 2.667vw;
  }
}
.membership_links a span {
  position: relative;
  z-index: 2;
  display: inline-block;
  font-family: "M PLUS 2", sans-serif;
  font-size: 21px;
  font-size: 2.1rem;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.18em;
  margin-right: -0.18em;
  transition: color 0.3s ease;
  will-change: opacity;
}
@media screen and (max-width: 767px) {
  .membership_links a span {
    font-size: 4.8vw;
  }
}
@media screen and (min-width: 768px) {
  .membership_links a:hover::before {
    transform-origin: left top;
    transform: scale(1, 1) skewX(-25deg);
  }
}
@media screen and (min-width: 768px) {
  .membership_links a:hover::after {
    right: 10px;
    filter: invert(49%) sepia(6%) saturate(68%) hue-rotate(251deg) brightness(87%) contrast(80%);
  }
}
@media screen and (min-width: 768px) {
  .membership_links a:hover span {
    color: #717171;
  }
}

/*----------------------------------------------------------------------------
  time_table
----------------------------------------------------------------------------*/
.time_table .inner {
  padding-top: 97px;
  padding-bottom: 115px;
}
@media screen and (max-width: 767px) {
  .time_table .inner {
    padding-top: 16vw;
    padding-right: 4vw;
    padding-bottom: 16vw;
    padding-left: 4vw;
  }
}
.time_table_title {
  width: 510px;
  margin-right: auto;
  margin-bottom: 108px;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .time_table_title {
    width: 68vw;
    margin-bottom: 16vw;
  }
}
.time_table_title::before {
  background-color: #000;
}
.time_table_title img {
  width: 358px;
  margin-bottom: 13px;
}
@media screen and (max-width: 767px) {
  .time_table_title img {
    width: 47.733vw;
    margin-bottom: 2vw;
  }
}
.time_table_title span {
  background-color: #fff;
}
.time_table_photo {
  text-align: center;
}
.time_table .field {
  max-width: 850px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .time_table .field {
    max-width: 100%;
  }
}
.time_table_content-heading {
  display: grid;
  -moz-align-items: center;
  align-items: center;
  height: 30px;
  padding-left: 14px;
  border-left: 4px solid #10069f;
  margin-bottom: 28px;
}
@media screen and (max-width: 767px) {
  .time_table_content-heading {
    height: 8vw;
    padding-left: 4vw;
    border-left-width: 3px;
    margin-bottom: 4vw;
  }
}
.time_table_content-heading span {
  font-family: "M PLUS 2", sans-serif;
  font-size: 20px;
  font-size: 2rem;
  font-weight: 600;
  color: #10069f;
  letter-spacing: 0.12em;
  margin-right: -0.12em;
}
@media screen and (max-width: 767px) {
  .time_table_content-heading span {
    font-size: 4.8vw;
  }
}
.time_table_content_box {
  border: 1px solid #848484;
}
.time_table_caption-item span {
  display: inline-block;
  font-family: "M PLUS 2", sans-serif;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 500;
  color: #000;
  line-height: 1.7143;
  letter-spacing: 0.18em;
  text-indent: -1em;
  padding-left: 1em;
  margin-right: -0.18em;
  text-align: justify;
  text-justify: inter-ideograph;
  transform: skewX(0.03deg);
}
@media screen and (max-width: 767px) {
  .time_table_caption-item span {
    font-size: 3.467vw;
    line-height: 1.4615;
  }
}
.time_table_item {
  display: -moz-flex;
  display: flex;
  min-height: 64px;
}
@media screen and (max-width: 767px) {
  .time_table_item {
    min-height: 14.4vw;
  }
}
.time_table_item-headline {
  -moz-flex: 0 0 280px;
  flex: 0 0 280px;
  display: grid;
  -moz-align-items: center;
  align-items: center;
  justify-content: center;
  background-color: #e32e88;
}
@media screen and (max-width: 767px) {
  .time_table_item-headline {
    flex-basis: 24vw;
    text-align: center;
  }
}
.time_table_item-headline span {
  font-family: "M PLUS 2", sans-serif;
  font-size: 20px;
  font-size: 2rem;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.12em;
  margin-right: -0.12em;
}
@media screen and (max-width: 767px) {
  .time_table_item-headline span {
    font-size: 4vw;
  }
}
.time_table_item-body {
  -moz-flex: 1;
  flex: 1;
  display: -moz-flex;
  display: flex;
  -moz-align-items: center;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 1.2em 1em;
}
@media screen and (max-width: 767px) {
  .time_table_item-body {
    padding: 2.667vw;
  }
}
.time_table_item-body span {
  font-size: 26px;
  font-size: 2.6rem;
  font-weight: 700;
  color: #000;
  letter-spacing: 0.1em;
  /*white-space: nowrap;*/
}
@media screen and (max-width: 767px) {
  .time_table_item-body span {
    font-size: 4vw;
  }
}
.time_table_item-body span:nth-child(2) {
  margin-left: 0.25em;
}
.time_table_item-body small {
  font-family: "M PLUS 2", sans-serif;
  font-size: 9px;
  font-size: 0.9rem;
  font-weight: 400;
  color: #000;
  letter-spacing: 0.18em;
  padding-top: 1em;
}
.time_table_item-body small strong {
  display: block;
  background-color: #e32e88;
  color: #fff;
  padding: 6px 12px 5px 12px;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .time_table_item-body small {
    font-size: 2.4vw;
    line-height: 1.3333;
    letter-spacing: 0.04em;
    padding-top: 2vw;
    display: block;
  }
  .time_table_item-body small strong {
    display: block;
    margin-top: 5px;
  }
}
.time_table_item:not(:last-child) > .time_table_item-headline {
  border-bottom: 1px solid #fff;
}
.time_table_item:not(:last-child) > .time_table_item-body {
  border-bottom: 1px solid #848484;
}

/*----------------------------------------------------------------------------
  price
----------------------------------------------------------------------------*/
.price .inner {
  padding-top: 100px;
  padding-bottom: 115px;
}
@media screen and (max-width: 767px) {
  .price .inner {
    padding-top: 16vw;
    padding-right: 4vw;
    padding-bottom: 14vw;
    padding-left: 4vw;
  }
}
.price_title {
  width: 510px;
  margin-right: auto;
  margin-bottom: 70px;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .price_title {
    width: 68vw;
    margin-bottom: 13.333vw;
  }
}
.price_title::before {
  background-color: #000;
}
.price_title img {
  width: 182px;
  margin-bottom: 14px;
}
@media screen and (max-width: 767px) {
  .price_title img {
    width: 24.267vw;
    margin-bottom: 2vw;
  }
}
.price_title span {
  background-color: #fff;
}
.price .field {
  max-width: 850px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .price .field {
    max-width: 100%;
  }
}
.price_content {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .price_content {
    margin-bottom: 14vw;
  }
}
.price_content-heading {
  margin-bottom: 70px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .price_content-heading {
    margin-bottom: 10vw;
  }
}
.price_content-heading span {
  font-family: "M PLUS 2", sans-serif;
  font-size: 52px;
  font-size: 5.2rem;
  font-weight: 600;
  color: #000;
  letter-spacing: 0.12em;
  margin-right: -0.12em;
}
@media screen and (max-width: 767px) {
  .price_content-heading span {
    font-size: 6.4vw;
  }
}
.price_content_box {
  border: 1px solid #848484;
  margin-bottom: 28px;
}
@media screen and (max-width: 767px) {
  .price_content_box {
    margin-bottom: 4vw;
  }
}
.price_caption-item span {
  display: inline-block;
  font-family: "M PLUS 2", sans-serif;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 500;
  color: #000;
  line-height: 1.7143;
  letter-spacing: 0.18em;
  text-indent: -1em;
  padding-left: 1em;
  margin-right: -0.18em;
  text-align: justify;
  text-justify: inter-ideograph;
  transform: skewX(0.03deg);
}
@media screen and (max-width: 767px) {
  .price_caption-item span {
    font-size: 3.467vw;
    line-height: 1.4615;
  }
}
.price_item {
  display: -moz-flex;
  display: flex;
  min-height: 54px;
}
@media screen and (max-width: 767px) {
  .price_item {
    min-height: 14.4vw;
  }
}
.price_item-headline {
  -moz-flex: 0 0 298px;
  flex: 0 0 190px;
  display: grid;
  -moz-align-items: center;
  align-items: center;
  padding-left: 17px;
  background-color: #10069f;
}
@media screen and (max-width: 767px) {
  .price_item-headline {
    flex-basis: 24vw;
    padding-left: 0;
    text-align: center;
  }
}
.price_item-headline span {
  font-family: "M PLUS 2", sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.12em;
  margin-right: -0.12em;
}
@media screen and (max-width: 767px) {
  .price_item-headline span {
    font-size: 4vw;
  }
}
.price_item-body {
  -moz-flex: 1;
  flex: 1;
  display: -moz-flex;
  display: flex;
  -moz-align-items: center;
  align-items: center;
  padding-left: 30px;
}
@media screen and (max-width: 767px) {
  .price_item-body {
    padding: 2.667vw;
    display: block;
  }
}
.price_item-body span {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  color: #000;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .price_item-body span {
    font-size: 4vw;
  }
}
.price_item-body span:nth-child(2) {
  margin-left: 0.25em;
}
.price_item-body small {
  font-family: "M PLUS 2", sans-serif;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  color: #000;
  letter-spacing: 0.18em;
  margin-right: -0.18em;
  margin-left: 25px;
}
.price_item-body small strong {
  background-color: #e60012;
  color: #fff;
  padding: 3px 8px 5px 8px;
}
@media screen and (max-width: 767px) {
  .price_item-body small {
    font-size: 2.9vw;
    line-height: 1.3333;
    letter-spacing: 0.04em;
    margin-right: -0.04em;
    margin-left: 0;
    margin-top: 2vw;
    display: block;
  }
  .price_item-body small strong {
    display: block;
    margin-top: 5px;
  }
}
.price_item:not(:last-child) > .price_item-headline {
  border-bottom: 1px solid #fff;
}
.price_item:not(:last-child) > .price_item-body {
  border-bottom: 1px solid #848484;
}
.price_photo {
  text-align: center;
  margin-bottom: 28px;
}
@media screen and (max-width: 767px) {
  .price_photo {
    margin-bottom: 4vw;
  }
}
.price_bnr {
  text-align: center;
  margin-top: 28px;
}
@media screen and (max-width: 767px) {
  .price_bnr {
    margin-top: 4vw;
  }
}

/*----------------------------------------------------------------------------
  appeal point
----------------------------------------------------------------------------*/
.appeal_point .inner {
  padding-top: 97px;
  padding-bottom: 265px;
}
@media screen and (max-width: 767px) {
  .appeal_point .inner {
    padding-top: 16vw;
    padding-right: 4vw;
    padding-bottom: 20vw;
    padding-left: 4vw;
  }
}
.appeal_point_title {
  width: 510px;
  margin-right: auto;
  margin-bottom: 108px;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .appeal_point_title {
    width: 68vw;
    margin-bottom: 16vw;
  }
}
.appeal_point_title::before {
  background-color: #000;
}
.appeal_point_title img {
  width: 438px;
  margin-bottom: 13px;
}
@media screen and (max-width: 767px) {
  .appeal_point_title img {
    width: 47.733vw;
    margin-bottom: 2vw;
  }
}
.appeal_point_title span {
  background-color: #fff;
}
.appeal_point .field {
    max-width: 850px;
    margin-right: auto;
    margin-left: auto;
}
.appeal_point_text {
  text-align: center;
}
.appeal_item + .appeal_item {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .appeal_item + .appeal_item {
    margin-top: 8vw;
  }
}

/*----------------------------------------------------------------------------
  reception
----------------------------------------------------------------------------*/
.reception.is-leukste_girls .reception_title strong{
  background-color: #e32e88;
}
.reception.is-leukste_girls .reception_btn a {
    border: 2px solid #e32e88;
    background-color: #e32e88;
}
@media screen and (min-width: 768px) {
    .reception.is-leukste_girls .reception_btn a:hover span {
        color: #e32e88;
    }
    .reception_btn a:hover::after {
        filter: invert(20%) sepia(95%) saturate(5600%) hue-rotate(315deg) brightness(95%) contrast(105%);
    }
}
/*# sourceMappingURL=school.css.map */