/* common */
body {
  color: #3E3E3E;
  font-family: "Noto Serif JP", "ヒラギノ角ゴ ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, system-ui, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  font-weight: 400;
  overflow-x: hidden;
}
h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
}
span {
  font-size: medium;
}
img {
  vertical-align: bottom;
}
ul {
  list-style: none;
}
a {
  color: #3e3e3e;
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  .spNone{
    display: none;
  }
}

@media screen and (max-width: 587px) {
  .sp-br{
    display: block;
  }
  
}



/* ------------------------------------header------------------------------------ */


.l-header {
  align-items: center;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background: #3F3B53;
  height: 80px;
}
.l-header-logo {
  margin-right: auto;
}
.l-header-logo img {
  display: block;
  /* width: 150px; */
  height: 25px;
  margin-left: 50px;
}
.l-header-menu-button {
  display: none;
}
.l-header-menu {
  display: none;
}




/* PC版Navigation */
.headerNavWrap{
  width: auto;
  margin-right: 50px;
}
.headerNav{
  display: block;
}
.headerNav ul{
  list-style: none;
  display: flex;
  justify-content: space-around;
}
.headerNav ul li{
  padding: 0 30px;
  position: relative;
}
.headerNav ul li a{
  text-decoration: none;
  color: #fff;
  font-family:  "游ゴシック";
  font-size: 1.5rem;
  font-weight: 200;
}
.headerNav ul li::after{
  content: "|";
  color: #fff;
  position: absolute;
  right: -0.5rem; 
  top: 50%;
  transform: translateY(-50%);
}
.headerNav ul li:last-child::after{
  display: none;
}



@media screen and (max-width: 768px) {

  .l-header {
    max-width: 100vw;
    width: 100%;
    height: 50px;
    justify-content: space-between;
  }
  .l-header-logo {
    margin-right: auto;
  }
  .l-header-logo img {
    display: block;
    /* width: 100px; */
    height: 15px;
    margin-left: 20px;
  }

  /* ハンバーガー表示 */
  .l-header-menu-button {
    display: grid;
    place-content: center;
    position: relative;
    background: #fff;
    
    border-radius: 17px;
    height: 30px;
    width: 50px;
    margin-right: 20px;
  }
  .l-header-menu-button img {
    display: none;
    padding-left: 20px;
  }
  .l-header-menu-button::before,
  .l-header-menu-button::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 25px;
    height: 1px;
    background: #707070;
    transform: translate(-50%, -50%);
  }
  .l-header-menu-button::before {
    margin-top: -4px;
  }
  .l-header-menu-button::after {
    margin-top: 4px;
  }
  .l-header-menu {
    display: none;
    position: fixed;
    inset: 0;
    background: #3F3B53;
    z-index: 999;
  }
  .l-header-menu-inner {
    height: 100%;
    padding: 100px 30px 60px;
    box-sizing: border-box;
    position: relative;
  }
  /* ×ボタン */
  .l-header-menu-close {
    position: absolute;
    top: 28px;
    right: 28px;
  }
  .l-header-menu-close a {
    display: block;
    width: 30px;
    height: 30px;
    position: relative;
    text-indent: -9999px;
  }
  .l-header-menu-close a::before,
  .l-header-menu-close a::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 32px;
    height: 1px;
    background: #fff;
  }
  .l-header-menu-close a::before {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .l-header-menu-close a::after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  .l-header-nav-column {
    font-family:  "游ゴシック" !important;
    display:  flex;
    flex-direction: column;
    gap: 18px;
  }
  .l-header-nav-item{
    padding: 0.5rem 0;
  }
  .l-header-nav-item a {
    color: #fff;
    text-decoration: none;
  }
  .l-header-nav-ja {
    font-size: 1.6rem;
    font-weight: 500;
    margin: 0;
  }
  .l-header-nav-en {
    font-size: 1rem;
    margin: 0;
    padding: 0.5rem 0 0 1.5rem;
  }
  .l-header-nav-ja::before {
    content: "- ";
  }

}

@media screen and (max-width: 587px) {
    
}






/*-------------------------------------- schoolImg ----------------------------------------*/


.topSchoolImg{
    padding-top: 80px;
}
.topSchoolImg p img{
    /* max-width: 100vw; */
    width: 100%; 
    height: auto;
}




@media screen and (max-width: 768px) {
    .topSchoolImg{
      padding-top: 50px;
    }
    .topSchoolImg p img{
      max-width: 100vw;
      width: fit-content;
      height: auto;
    }

}


@media screen and (max-width: 587px) {
    .topSchoolImg{
        padding-top: 50px;
    }
    .topSchoolImg p img{
        max-width: 100vw;
        width: fit-content;
        height: auto;
    }
    
}



/*-------------------------------------- body --------------------------------------------*/

/* main */
.mainWrap{
  width: 60%;
  margin: 0 auto;
}

p, dd{
  letter-spacing: 0.03rem;
}


/* button */
.viewMoreBtn{
  width: 200px;
  text-align: center;
}
.viewMoreBtn a{
  display: grid;
  letter-spacing: 0.06em;
  place-content: center;
  transition: 0.3s ease-in-out;
  padding: 15px 0;
  font-size: 1.6rem;
}
.viewMoreBtn1{
  margin-left: auto;
}
.viewMoreBtn1 a{
  display: block;
  color: #3E3E3E;
  border: 1px solid #8d8d8d;
}
.viewMoreBtn2 a{
  display: block;
  color: #ffffff;
  border: 1px solid #ffffff;
}


/* title */
.h2-Ttl{
  background-color: #3F3B53;
  color: #fff;
  width: 400px;
  margin: 150px auto 60px;
  border-radius: 90px;
  padding: 15px;
  letter-spacing: 0.1em;
  text-align: center;
  font-size: 2.0rem;
}


/* breadcrumb */
.breadCrumb{
  font-size: 1.6rem;
  margin-top: 100px;
}
.breadCrumb a{
  display: inline-block;
  color: #3E3E3E;
}




@media screen and (max-width: 768px) {
  .mainWrap{
    width: 80%;
  }

}


@media screen and (max-width: 587px) {
  .mainWrap{
    width: 90%;
  }

  /* button */
  .viewMoreBtn1{
    margin: 0 auto;
  }

  /* title */
  .h2-Ttl{
    width: 250px;
    margin: 80px auto 40px;
    padding: 12px;
    letter-spacing: 0.1em;
    text-align: center;
    font-size: 1.4rem;
  }

  /* breadcrumb */
  .breadCrumb{
    font-size: 1.2rem;
    margin-top: 50px;
  }
  .breadCrumb a{
    display: inline-block;
    color: #3E3E3E;
  }

}


/*---------------------------------------- footer ------------------------------------------*/

.footerNavWrap{
  width: 100%;
  padding: 100px 0 0;
}
.footerNav{
  width: 30%;
  margin: 0 auto;
}
.footerNav ul{
  list-style: none;
  display: flex;
  justify-content: space-around;
}
.footerNav ul li{
  padding: 0 10px;
  position: relative;
}
.footerNav ul li a{
  text-decoration: none;
  color: #8d8d8d;
  font-family:  "游ゴシック";
  font-size: 1rem;
  font-weight: 400;
}
.footerNav ul li::after{
  content: "|";
  color: #8d8d8d;
  position: absolute;
  right: -0.5rem; 
  top: 50%;
  transform: translateY(-50%);
}
.footerNav ul li:last-child::after{
  display: none;
}
.l-footer-bottom{
  text-align: center;
  padding: 100px 0;
}

@media screen and (max-width: 768px) {
  .l-footer-bottom{
    padding: 50px 0;
  }
}


@media screen and (max-width: 587px) {

}