@charset "UTF-8";
/*TEXT COLOR*/
/*PAINT COLOR*/
/*LINE COLOR*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Quattrocento:wght@400;700&display=swap");
@media (min-width: 768px) {
 .sp {
  display: none !important;
 }
}
@media (max-width: 767.9px) {
 .pc {
  display: none !important;
 }
}
html {
 font-size: 62.5%;
}

body {
 font-family: "Noto Sans JP", sans-serif;
 font-size: 1.6rem;
 line-height: 1;
 color: #2f2f2f;
 letter-spacing: 0.1em;
}
@media (max-width: 767.9px) {
 body {
  font-size: 1.4rem;
 }
}

.main {
 background-color: #f8f8f8;
}

p {
 line-height: 2;
}
p::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 2) * .5em);
 content: "";
}
p::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 2) * .5em);
 content: "";
}

a {
 color: #2f2f2f;
 -webkit-transition: all 0.3s ease;
 -o-transition: all 0.3s ease;
 transition: all 0.3s ease;
}
a span {
 -webkit-transition: all 0.3s ease;
 -o-transition: all 0.3s ease;
 transition: all 0.3s ease;
}

.link-opacity:hover {
 opacity: 0.3;
}

.wrapper {
 margin: 0 auto;
}

.back-to-top {
 position: fixed;
 right: 0;
 bottom: 37px;
}
@media (max-width: 767.9px) {
 .back-to-top {
  bottom: 10px;
 }
}
.back-to-top__btn {
 width: 30px;
 height: 30px;
 background: url("/prim/assets/images/common/btn_icn_back-to-top.png");
 background-size: cover;
 text-indent: 100%;
 white-space: nowrap;
 overflow: hidden;
 display: block;
}
.back-to-top__btn:hover {
 opacity: 0.3;
}

@media (min-width: 768px) {
 .main {
  min-width: 1360px;
  overflow: hidden;
 }
}

.animation {
 opacity: 0;
 visibility: hidden;
 -webkit-transition: 1s;
 -o-transition: 1s;
 transition: 1s;
 -webkit-transform: translateY(-30px);
     -ms-transform: translateY(-30px);
         transform: translateY(-30px);
}

.animation-fadein {
 opacity: 0;
 visibility: hidden;
 -webkit-transition: 1s;
 -o-transition: 1s;
 transition: 1s;
}

h1,
h2,
h3,
h4,
h5,
p,
th,
td {
 max-height: 100%;
}

/****android******/
.active {
 opacity: 1;
 visibility: visible;
 -webkit-transform: translateY(0);
     -ms-transform: translateY(0);
         transform: translateY(0);
}

.animation-list .active:nth-of-type(2) {
 -webkit-transition-delay: 200ms;
      -o-transition-delay: 200ms;
         transition-delay: 200ms;
}
.animation-list .active:nth-of-type(3) {
 -webkit-transition-delay: 400ms;
      -o-transition-delay: 400ms;
         transition-delay: 400ms;
}
.animation-list .active:nth-of-type(4) {
 -webkit-transition-delay: 600ms;
      -o-transition-delay: 600ms;
         transition-delay: 600ms;
}
.animation-list .active:nth-of-type(5) {
 -webkit-transition-delay: 800ms;
      -o-transition-delay: 800ms;
         transition-delay: 800ms;
}
.animation-list .active:nth-of-type(6) {
 -webkit-transition-delay: 1000ms;
      -o-transition-delay: 1000ms;
         transition-delay: 1000ms;
}
.animation-list .active:nth-of-type(7) {
 -webkit-transition-delay: 1200ms;
      -o-transition-delay: 1200ms;
         transition-delay: 1200ms;
}
.animation-list .active:nth-of-type(8) {
 -webkit-transition-delay: 1400ms;
      -o-transition-delay: 1400ms;
         transition-delay: 1400ms;
}
.animation-list .active:nth-of-type(9) {
 -webkit-transition-delay: 1600ms;
      -o-transition-delay: 1600ms;
         transition-delay: 1600ms;
}
.animation-list .active:nth-of-type(10) {
 -webkit-transition-delay: 1600ms;
      -o-transition-delay: 1600ms;
         transition-delay: 1600ms;
}
.animation-list .active:nth-of-type(11) {
 -webkit-transition-delay: 1800ms;
      -o-transition-delay: 1800ms;
         transition-delay: 1800ms;
}
.animation-list .active:nth-of-type(12) {
 -webkit-transition-delay: 2000ms;
      -o-transition-delay: 2000ms;
         transition-delay: 2000ms;
}

.breadcrumb {
 width: 100%;
 height: 100px;
 /**/
}
@media (max-width: 767.9px) {
 .breadcrumb {
  height: 60px;
  border-bottom: solid 1px #d9d9d9;
  background: #f8f8f8;
 }
}
.breadcrumb__in {
 height: 100%;
 padding: 0 30px;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-align: center;
     -ms-flex-align: center;
         align-items: center;
 -webkit-box-pack: end;
     -ms-flex-pack: end;
         justify-content: flex-end;
 font-size: 1rem;
 font-weight: 300;
}
@media (max-width: 767.9px) {
 .breadcrumb__in {
  color: #666;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  border-bottom: solid 1px #ebebeb;
 }
}
.breadcrumb__item:not(:last-child)::after {
 content: " / ";
 margin: 0 10px;
}
@media (min-width: 768px) {
 .breadcrumb__item a:hover {
  color: #2558ad;
 }
}
@media (max-width: 767.9px) {
 .breadcrumb__link {
  color: #888;
 }
}
.breadcrumb__link:hover {
 color: #2558ad;
}

/**2l スマホで２行になる場合**/
@media (max-width: 767.9px) {
 .breadcrumb_l2 {
  padding: 5px 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: 60px;
 }
}
@media (max-width: 767.9px) {
 .breadcrumb_l2 .breadcrumb__in {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  border-bottom: none;
 }
}

.kv {
 width: 100%;
 background: #fff;
 position: relative;
}
@media (min-width: 768px) {
 .kv {
  min-width: 1440px;
 }
}
.kv__in {
 max-width: 1900px;
 margin: 0 auto;
 position: relative;
}
.kv__bar {
 content: "";
 width: 340px;
 height: 550px;
 background-color: #2558ad;
 position: absolute;
 left: 0;
 top: 0;
}
@media (max-width: 767.9px) {
 .kv__bar {
  width: 50px;
  height: 280px;
 }
}
.kv__image {
 margin-left: 353px;
}
@media (max-width: 767.9px) {
 .kv__image {
  margin-left: 60px;
 }
}
.kv__image-in {
 width: 100%;
 height: 550px;
 overflow: hidden;
 background-position: center center;
 background-size: cover;
}
@media (max-width: 767.9px) {
 .kv__image-in {
  height: 280px;
 }
}
.kv__image-in img {
 width: 100%;
 height: auto;
}
@media (max-width: 767.9px) {
 .kv__bg {
  padding-bottom: 5px;
  background: #f8f8f8;
  position: relative;
 }
}
.kv__lead {
 width: 460px;
 text-align: left;
 border-radius: 5px;
 background-color: #fff;
 margin: -414px 0 0 90px;
 padding: 50px;
 -webkit-box-sizing: border-box;
         box-sizing: border-box;
 position: absolute;
 z-index: 1;
}
@media (max-width: 767.9px) {
 .kv__lead {
  width: 347px;
  height: auto;
  padding: 30px;
  margin: 0px 0 0px 0px;
  top: -55px;
  position: relative;
  left: 100%;
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
 }
}
.kv__title {
 font-size: 3.2rem;
 font-weight: 300;
}
@media (max-width: 767.9px) {
 .kv__title {
  font-size: 2.3rem;
 }
}
.kv__title::after {
 content: "";
 display: block;
 width: 15px;
 height: 2px;
 background-color: #2558ad;
 margin: 30px 0 30px 0;
}
@media (max-width: 767.9px) {
 .kv__title::after {
  margin: 20px 0;
 }
}
.main-block {
 width: 100%;
 position: relative;
 z-index: 0;
}
.main-block::before {
 content: "";
 position: absolute;
 width: 80%;
 height: 100%;
 right: 0;
 top: 0;
 background-color: #fff;
 z-index: 0;
}
.main-block__in {
 width: 1020px;
 margin: 0 auto;
 padding: 110px 100px 50px;
 background: #fff;
 position: relative;
}
@media (max-width: 767.9px) {
 .main-block__in {
  width: 100%;
  padding: 60px 27px 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
 }
}
.main-block__in--lower {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
}
@media (min-width: 768px) {
 .main-block__in--lower {
  width: 1160px;
  padding: 110px 0;
 }
 .main-block__in--lower::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  right: 1000px;
  top: -190px;
  background-color: #2558ad;
  z-index: -1;
 }
}
@media (max-width: 767.9px) {
 .main-block__in--lower {
  padding: 0;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
 }
}

/*@media (min-width: 768px) {
  .btn-list {
    display: flex;
    flex-wrap: wrap; 
    &__item--index2col {
      width: 460px;
      margin-bottom: 60px; }
      &__item--index2col:not(:nth-of-type(even)) {
        margin-right: 40px; }
    &__item--index3col {
      width: 308px;
      margin-bottom: 60px; }
      &__item--index3col:not(:nth-of-type(3n)) {
        margin-right: 18px; }
    &__item--lower2col {
      width: 375px; }
     &__item--lower2col:not(:nth-of-type(even)) {
        margin-right: 50px; }
    &__item--lower3col {
      width: 250px;
      margin-bottom: 60px; }
     &__item--lower3col:not(:nth-of-type(3n)) {
        margin-right: 18px; } 
}
}*/
/*
@media (max-width: 767px) {
  .btn-list__item--index2col {
    margin-bottom: 30px; }
    .btn-list__item--index2col:last-child {
      margin-bottom: 0px; }
  .btn-list__item--index3col {
    margin-bottom: 50px; }
  .btn-list__item--lower2col {
    margin-bottom: 30px; }
    .btn-list__item--lower2col:last-child {
      margin-bottom: 0px; }
  .btn-list__item--lower3col {
    margin-bottom: 50px; } 
}
@media (max-width: 767px) {
  .btn-list__item--index2col {
    margin-bottom: 30px; }
    .btn-list__item--index2col:last-child {
      margin-bottom: 0px; }
  .btn-list__item--index3col {
    margin-bottom: 50px; }
  .btn-list__item--lower2col {
    margin-bottom: 30px; }
    .btn-list__item--lower2col:last-child {
      margin-bottom: 0px; }
  .btn-list__item--lower3col {
    margin-bottom: 50px; } 
}
*/
@media (min-width: 768px) {
 .btn-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
 }
 .btn-list__item {
  /****/
 }
 .btn-list__item--index2col {
  width: 460px;
  margin-bottom: 60px;
 }
 .btn-list__item--index2col:not(:nth-of-type(even)) {
  margin-right: 40px;
 }
 .btn-list__item--index2col2 {
  width: 460px;
  margin-bottom: 60px;
 }
 .btn-list__item--index2col2:not(:nth-of-type(even)) {
  margin-right: 0px;
 }
 .btn-list__item--index3col {
  width: 340px;
  margin-bottom: 60px;
 }
 .btn-list__item--index3col .btn-list__item {
  margin-bottom: 60px;
 }
 .btn-list__item--lower2col {
  width: 375px;
 }
 .btn-list__item--lower2col:not(:nth-of-type(even)) {
  margin-right: 50px;
 }
 .btn-list__item--lower2col--2l {
  margin-bottom: 30px;
 }
 .btn-list__item--lower2col2 {
  width: 400px;
  margin-bottom: 60px;
 }
 .btn-list__item--lower3col {
  width: 33.33%;
  max-width: 267px;
  margin-bottom: 60px;
  margin-right: 0px;
  /* &:not(:nth-of-type(3n)){
    margin-right: 18px;
  }*/
 }
 .btn-list__item--lower3col img {
  width: 100%;
 }
}
@media (max-width: 767.9px) {
 .btn-list__item--index2col {
  margin-bottom: 30px;
 }
 .btn-list__item--index2col:last-child {
  margin-bottom: 0px;
 }
 .btn-list__item--index3col {
  margin-bottom: 50px;
 }
 .btn-list__item--lower2col {
  margin-bottom: 30px;
 }
 .btn-list__item--lower2col:last-child {
  margin-bottom: 0px;
 }
 .btn-list__item--lower2col2 {
  margin-bottom: 50px;
 }
 .btn-list__item--lower3col {
  margin-bottom: 50px;
 }
}

.local-nav {
 width: 218px;
 margin: 0 82px 0 60px;
}
@media (max-width: 767.9px) {
 .local-nav {
  width: 100%;
  margin: 0;
 }
}
.local-nav__title {
 font-size: 1.4rem;
 font-weight: 300;
 margin-bottom: 50px;
}
@media (max-width: 767.9px) {
 .local-nav__title {
  padding: 23px 27px;
  margin-bottom: 0;
  border-bottom: solid 1px #ebebeb;
 }
}

.ln-list {
 margin-left: 16px;
 border-top: solid 1px #ebebeb;
 letter-spacing: 0.15em;
 /**2行***/
}
@media (max-width: 767.9px) {
 .ln-list {
  margin-left: 47px;
  border-top: none;
 }
}
.ln-list__item {
 border-bottom: solid 1px #ebebeb;
 position: relative;
}
.ln-list__link {
 display: block;
 font-size: 1.4rem;
 font-weight: 300;
 padding: 18px 0;
}
@media (max-width: 767.9px) {
 .ln-list__link:not(.has-child) {
  background: url("../images/common/icon_arrow_gray.png") right 27px center no-repeat;
  background-size: 12px auto;
 }
}
.ln-list__link:hover, .ln-list__link.current {
 color: #2558ad;
}
.ln-list__icon {
 width: 25px;
 height: 50px;
 display: inline-block;
 position: absolute;
 top: 0;
 right: 0;
 background: url("../images/common/icon_close.png") right center no-repeat;
 background-size: 8px 8px;
 -webkit-transition: all 0.3s ease;
 -o-transition: all 0.3s ease;
 transition: all 0.3s ease;
}
@media (max-width: 767.9px) {
 .ln-list__icon {
  width: 65px;
  background-position: right 27px center;
  background-size: 12px auto;
 }
}
.ln-list__icon:hover {
 cursor: pointer;
 opacity: 0.3;
}
.ln-list__icon.open {
 background: url("../images/common/icon_open.png") right center no-repeat;
 background-size: 8px auto;
}
@media (max-width: 767.9px) {
 .ln-list__icon.open {
  background-position: right 27px center;
  background-size: 12px auto;
 }
}
.ln-list__item2l {
 line-height: 1.7;
}
.ln-list__item2l::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 1.7) * .5em);
 content: "";
}
.ln-list__item2l::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 1.7) * .5em);
 content: "";
}

.ln-child {
 font-size: 1.2rem;
 padding: 10px 0 28px;
 line-height: 2;
 display: none;
}
.ln-child::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 2) * .5em);
 content: "";
}
.ln-child::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 2) * .5em);
 content: "";
}
.ln-child__link {
 display: block;
 color: #666;
}
.ln-child__link:hover, .ln-child__link.current {
 color: #2558ad;
}
.ln-child__link:hover, .ln-child__link.current2 {
 color: #2558ad;
}

.article {
 position: relative;
}
@media (min-width: 768px) {
 .article {
  width: 800px;
 }
 .article::before {
  content: "";
  display: block;
  width: 0px;
  height: 3px;
  background: #2558ad;
  position: absolute;
  top: -110px;
  left: 0;
  -webkit-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
 }
 .article.active::before {
  width: 272px;
 }
}
@media (max-width: 767.9px) {
 .article {
  width: 100%;
  margin-bottom: 80px;
 }
}
@media (min-width: 768px) {
 .article--full {
  width: 100%;
  padding-left: 160px;
 }
}
.article--full::before {
 display: none;
}
@media (max-width: 767.9px) {
 .article__in {
  padding: 0 27px;
 }
 .article__in--full {
  background: #fff;
  padding: 40px 30px 60px;
  border: solid 27px #f8f8f8;
  border-bottom: none;
 }
}
.article__header {
 position: relative;
}
@media (min-width: 768px) {
 .article__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
 }
}
.article__title {
 font-size: 3.2rem;
 letter-spacing: 0.15em;
 font-weight: 300;
 margin: 0 0 50px;
 line-height: 1.75;
}
.article__title::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 1.75) * .5em);
 content: "";
}
.article__title::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 1.75) * .5em);
 content: "";
}
@media (max-width: 767.9px) {
 .article__title {
  font-size: 2.3rem;
  margin-bottom: 40px;
  padding: 20px 27px;
  color: #fff;
  background: #2558ad;
 }
}
@media (max-width: 767.9px) {
 .article__title--nobg {
  margin: 0 0 26px;
  padding: 0;
  color: #2f2f2f;
  background: none;
 }
}
.article__date {
 font-size: 1.4rem;
 color: #666;
}
@media (min-width: 768px) {
 .article__date {
  margin-top: 1.3em;
 }
}
@media (max-width: 767.9px) {
 .article__date {
  font-size: 1.2rem;
  padding: 0 27px;
  margin-bottom: 25px;
 }
}
.article__lead {
 margin-bottom: 60px;
}
@media (max-width: 767.9px) {
 .article__lead {
  margin-bottom: 40px;
 }
}

/*section*/
.section {
 margin-top: 80px;
}
@media (max-width: 767.9px) {
 .section {
  margin-top: 60px;
 }
}
@media (min-width: 768px) {
 .section--extra-margin-pc {
  margin-top: 100px;
 }
}

/*lower*/
.lower-1col {
 margin-bottom: 60px;
}

@media (max-width: 767px) {
 .lower-1col {
  margin-bottom: 40px;
 }

 .lower-1col:last-child {
  margin-bottom: 0;
 }
}
.lower-1col__img {
 max-width: 100%;
 height: auto;
}

@media (min-width: 768px) {
 .lower-2col {
  margin-bottom: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
 }

 .lower-2col:last-child {
  margin-bottom: 0;
 }
}
/***/
@media (min-width: 768px) {
 .lower-2col__block {
  width: 380px;
 }

 .lower-2col__block:nth-child(odd) {
  margin-right: 40px;
 }
}
@media (max-width: 767px) {
 .lower-2col__block {
  margin-bottom: 40px;
 }

 .lower-2col__block:last-child {
  margin-bottom: 0;
 }
}
.lower-2col__img {
 width: 100%;
 height: auto;
}

/*pc_045*/
.lower-3col {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -ms-flex-wrap: wrap;
     flex-wrap: wrap;
}
.lower-3col__item {
 width: 250px !important;
 margin-bottom: 0px;
 margin-right: 24px;
 margin-bottom: 40px;
}
.lower-3col__item img {
 width: 100%;
}
@media (max-width: 767.9px) {
 .lower-3col__item {
  width: 100% !important;
  margin-right: 0px;
  margin-bottom: 25px;
 }
}
.lower-3col .lower-3col__item:nth-child(3) {
 margin-right: 0px;
}

.text {
 letter-spacing: 0.1em;
 margin-bottom: 60px;
 font-weight: 400;
}
@media (max-width: 767.9px) {
 .text {
  margin-bottom: 40px;
 }
}
.text--small1 {
 font-size: 1.4rem;
}
.text--small1_2 {
 line-height: 2;
}
.text--small1_2::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 2) * .5em);
 content: "";
}
.text--small1_2::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 2) * .5em);
 content: "";
}
.text--small2 {
 font-size: 1.2rem;
}
.text:last-child {
 margin-bottom: 0;
}

.comment-text {
 font-size: 1.2rem;
 line-height: 2;
 letter-spacing: 0.1em;
 font-weight: 400;
}
.comment-text::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 2) * .5em);
 content: "";
}
.comment-text::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 2) * .5em);
 content: "";
}

.h2 {
 font-size: 2.6rem;
 font-weight: 400;
 line-height: 1.6;
 letter-spacing: 0.15em;
 margin-bottom: 40px;
}
.h2::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 1.6) * .5em);
 content: "";
}
.h2::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 1.6) * .5em);
 content: "";
}
@media (max-width: 767.9px) {
 .h2 {
  font-size: 2.1rem;
 }
}
.h2--line {
 border-top: solid 1px #ebebeb;
 padding-top: 50px;
}
@media (max-width: 767.9px) {
 .h2--line {
  padding-top: 40px;
 }
}

/*pc003*/
.h2_1 {
 font-size: 2.6rem;
 font-weight: 400;
 line-height: 1.6;
 letter-spacing: 0.15em;
 margin-bottom: 40px;
}
.h2_1::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 1.6) * .5em);
 content: "";
}
.h2_1::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 1.6) * .5em);
 content: "";
}
@media (max-width: 767.9px) {
 .h2_1 {
  font-size: 2.1rem;
 }
}
.h2_1--line {
 border-top: solid 1px #ebebeb;
 padding-top: 50px;
}
@media (max-width: 767.9px) {
 .h2_1--line {
  padding-top: 40px;
 }
}

/*h3*/
.h3 {
 font-size: 2.2rem;
 font-weight: 400;
 line-height: 1.7;
 letter-spacing: 0.15em;
 margin-bottom: 40px;
}
.h3::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 1.7) * .5em);
 content: "";
}
.h3::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 1.7) * .5em);
 content: "";
}
@media (max-width: 767.9px) {
 .h3 {
  font-size: 1.8rem;
  line-height: 1.7;
  margin-bottom: 50px;
 }
 .h3::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.7) * .5em);
  content: "";
 }
 .h3::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.7) * .5em);
  content: "";
 }
}
.h3--line {
 padding-top: 50px;
 border-top: solid 1px #d9d9d9;
}
@media (max-width: 767.9px) {
 .h3--line {
  padding-top: 40px;
 }
}

.h4 {
 font-size: 1.8rem;
 font-weight: 500;
 line-height: 1.8;
 letter-spacing: 0.15em;
 margin-bottom: 30px;
}
.h4::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 1.8) * .5em);
 content: "";
}
.h4::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 1.8) * .5em);
 content: "";
}
@media (max-width: 767.9px) {
 .h4 {
  font-size: 1.6rem;
  line-height: 1.6;
  margin-bottom: 25px;
 }
 .h4::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.6) * .5em);
  content: "";
 }
 .h4::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.6) * .5em);
  content: "";
 }
}

.h5 {
 font-size: 1.6rem;
 font-weight: 500;
 line-height: 1.8;
 letter-spacing: 0.15em;
 margin-bottom: 25px;
}
.h5::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 1.8) * .5em);
 content: "";
}
.h5::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 1.8) * .5em);
 content: "";
}
@media (max-width: 767.9px) {
 .h5 {
  font-size: 1.4rem;
 }
}

/*bold*/
.bold {
 font-weight: bold;
}

.border-box1 {
 border: solid 1px #ebebeb;
 border-radius: 4px;
 padding: 60px;
}
@media (max-width: 767.9px) {
 .border-box1 {
  padding: 40px 30px;
 }
}

.list-set2__item {
 line-height: 2;
 position: relative;
 padding-left: 30px;
}
.list-set2__item::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 2) * .5em);
 content: "";
}
.list-set2__item::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 2) * .5em);
 content: "";
}
@media (max-width: 767.9px) {
 .list-set2__item {
  font-size: 1.4rem;
  line-height: 1.857;
  padding-left: 26px;
 }
 .list-set2__item::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.857) * .5em);
  content: "";
 }
 .list-set2__item::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.857) * .5em);
  content: "";
 }
}
.list-set2__item:not(:last-child) {
 margin-bottom: 22px;
}
.list-set2__item::before {
 content: "";
 width: 5px;
 height: 2px;
 background: #000;
 position: absolute;
 left: 8px;
 top: 1.5em;
}
@media (max-width: 767.9px) {
 .list-set2__item::before {
  top: 1.3em;
 }
}

.list-set3 {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -ms-flex-wrap: wrap;
     flex-wrap: wrap;
 margin-left: -40px;
}
@media (min-width: 768px) {
 .list-set3 {
  padding-bottom: 20px;
 }
 .list-set3__item {
  font-size: 1.6rem;
  margin-left: 40px;
  margin-bottom: 20px;
 }
}
@media (max-width: 767.9px) {
 .list-set3 {
  padding-bottom: 10px;
 }
 .list-set3__item {
  margin-left: 40px;
  margin-bottom: 20px;
  font-size: 1.4rem;
 }
}

/*list2 pc_020 sp_018*/
ul.list2 {
 margin-bottom: 40px;
}
ul.list2 li {
 letter-spacing: 0.1em;
 font-size: 1.6rem;
 line-height: 2;
 position: relative;
 padding-left: 22px;
}
ul.list2 li::before {
 display: block;
 content: "";
 position: absolute;
 top: 1em;
 left: 0px;
 width: 5px;
 height: 2px;
 background-color: #000;
}
@media (max-width: 767.9px) {
 ul.list2 li {
  font-size: 1.4rem;
  line-height: 1.8;
 }
}

/*2column : Picture + Text 2  PC_043　SP＿039
*/
@media (min-width: 768px) {
 .column {
  /*pc_043　SP＿039*/
 }
 .column__2col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
 }
 .column__2col__item {
  width: 380px;
  margin-right: 40px;
  margin-bottom: 60px;
 }
 .column__2col__item img {
  width: 100%;
 }
 .column__2col__item:nth-child(even) {
  margin-right: 0px;
 }
 .column__2col__item p {
  margin-top: 20px;
 }
 .column__2col__title {
  font-size: 1.8rem;
  margin: 20px 0 0;
 }
}
@media (max-width: 767.9px) {
 .column {
  /*スマホでも2カラム 豊かな人間性を育む心の教育 */
 }
 .column__2col__item {
  width: 100%;
  margin-bottom: 50px;
  margin-right: 0px;
 }
 .column__2col__item img {
  width: 100%;
 }
 .column__2col__item p {
  margin-top: 20px;
 }
 .column__2col__title {
  font-size: 1.6rem;
  margin: 13px 0 0;
 }
}

.accordion {
 border-bottom: solid 1px #ebebeb;
}
.accordion__title {
 border-top: solid 1px #ebebeb;
}
.accordion__title--in {
 padding: 25px 50px 25px 0;
 display: block;
 position: relative;
 background: url("../images/common/icon_close.png") right 20px center no-repeat;
 background-size: 12px auto !important;
 -webkit-transition: all 0.3s ease;
 -o-transition: all 0.3s ease;
 transition: all 0.3s ease;
}
@media (min-width: 768px) {
 .accordion__title--in:hover {
  cursor: pointer;
  opacity: 0.3;
 }
}
.accordion__title.open .accordion__title--in {
 background: url("../images/common/icon_open.png") right 20px center no-repeat;
}
.accordion__title-text {
 font-size: 1.8rem;
 font-weight: 500;
 line-height: 1.77;
}
.accordion__title-text::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 1.77) * .5em);
 content: "";
}
.accordion__title-text::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 1.77) * .5em);
 content: "";
}
.accordion__content {
 padding: 25px 0 60px;
 position: relative;
 display: none;
}
.accordion__content-text {
 font-size: 1.4rem;
 line-height: 2;
}
.accordion__content-text::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 2) * .5em);
 content: "";
}
.accordion__content-text::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 2) * .5em);
 content: "";
}
.accordion__icon {
 padding-left: 56px;
}
.accordion__icon--q {
 font-size: 1.4rem;
 text-align: center;
 width: 36px;
 height: 36px;
 line-height: 36px !important;
 color: #fff !important;
 background: #2558ad;
 font-weight: normal;
 display: block;
 position: absolute;
 left: 0;
 top: 15px;
 border-radius: 50%;
}
.accordion__icon--a {
 font-size: 1.4rem;
 text-align: center;
 width: 36px;
 height: 36px;
 line-height: 34px;
 color: #2558ad;
 border: solid 1px #2558ad;
 font-weight: normal;
 display: block;
 position: absolute;
 left: 0;
 top: 15px;
 -webkit-box-sizing: border-box;
         box-sizing: border-box;
 border-radius: 50%;
}

.facilities_tit {
 border-bottom: solid 1px #ebebeb;
}
.facilities_tit__title {
 border-top: solid 1px #ebebeb;
}
.facilities_tit__title--in {
 padding: 25px 50px 25px 0;
 display: block;
 position: relative;
 -webkit-transition: all 0.3s ease;
 -o-transition: all 0.3s ease;
 transition: all 0.3s ease;
}
.facilities_tit__title-text {
 font-size: 1.8rem;
 font-weight: 500;
 line-height: 1.77;
}
.facilities_tit__title-text::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 1.77) * .5em);
 content: "";
}
.facilities_tit__title-text::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 1.77) * .5em);
 content: "";
}
.facilities_tit__content {
 padding: 25px 0 60px;
 position: relative;
 display: block;
}
.facilities_tit__content-text {
 font-size: 1.4rem;
 line-height: 2;
}
.facilities_tit__content-text::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 2) * .5em);
 content: "";
}
.facilities_tit__content-text::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 2) * .5em);
 content: "";
}
.facilities_tit__icon {
 padding-left: 56px;
}
.facilities_tit__icon--q {
 font-size: 1.4rem;
 text-align: center;
 width: 36px;
 height: 36px;
 line-height: 36px !important;
 color: #fff !important;
 background: #2558ad;
 font-weight: normal;
 display: block;
 position: absolute;
 left: 0;
 top: 15px;
 border-radius: 50%;
}
.facilities_tit__icon--a {
 font-size: 1.4rem;
 text-align: center;
 width: 36px;
 height: 36px;
 line-height: 34px;
 color: #2558ad;
 border: solid 1px #2558ad;
 font-weight: normal;
 display: block;
 position: absolute;
 left: 0;
 top: 15px;
 -webkit-box-sizing: border-box;
         box-sizing: border-box;
 border-radius: 50%;
}

@media (min-width: 768px) {
 .anchor1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
 }
}
.anchor1__item {
 width: 100%;
 position: relative;
}
@media (min-width: 768px) {
 .anchor1__item {
  margin-top: 15px;
 }
 .anchor1__item:not(:first-child) {
  margin-left: 25px;
 }
}
@media (max-width: 767.9px) {
 .anchor1__item {
  padding-left: 20px;
  margin-bottom: 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
 }
}
.anchor1__link {
 display: block;
 border: solid 1px #ebebeb;
 height: 100%;
 border-radius: 4px;
 padding: 0 23px;
 -webkit-box-sizing: border-box;
         box-sizing: border-box;
 background: url("../images/common/btn_icn_anchor.png") right 25px bottom 25px no-repeat;
 background-size: 9px auto;
}
.anchor1__link:hover {
 opacity: 0.3;
}
@media (max-width: 767.9px) {
 .anchor1__link {
  padding: 25px 25px 25px 53px;
  background: url("../images/common/btn_icn_anchor.png") right 14px bottom 14px no-repeat;
  background-size: 9px auto;
 }
}
.anchor1__icon {
 font-size: 1rem;
 line-height: 1;
 text-align: center;
 width: 70px;
 height: 70px;
 border-radius: 50%;
 color: #fff;
 background: #2558ad;
 display: block;
 margin: -15px auto 20px;
}
@media (max-width: 767.9px) {
 .anchor1__icon {
  font-size: 0.7rem;
  width: 52px;
  height: 52px;
  margin: -26px 0 0 0;
  position: absolute;
  left: 0;
  top: 50%;
 }
}
.anchor1__number {
 font-size: 1.6rem;
 display: block;
 margin: 0 auto;
 padding: 18px 0 7px;
 line-height: 1;
}
@media (max-width: 767.9px) {
 .anchor1__number {
  font-size: 1.2rem;
  padding: 12px 0 5px;
 }
}
@media (min-width: 768px) {
 .anchor1__content {
  border-top: solid 1px #ebebeb;
  padding: 30px 0 58px;
 }
}
@media (max-width: 767.9px) {
 .anchor1__content {
  border-left: solid 1px #ebebeb;
  padding-left: 30px;
 }
}
.anchor1__text {
 font-size: 1.2rem;
 line-height: 2.33;
}
.anchor1__text::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 2.33) * .5em);
 content: "";
}
.anchor1__text::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 2.33) * .5em);
 content: "";
}

.anchor2 {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: justify;
     -ms-flex-pack: justify;
         justify-content: space-between;
}
@media (max-width: 767.9px) {
 .anchor2 {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
 }
}
.anchor2__item {
 width: 100%;
}
.anchor2__item:not(:first-child) {
 margin-left: 25px;
}
@media (max-width: 767.9px) {
 .anchor2__item {
  margin-left: 0px;
  margin-bottom: 20px;
 }
 .anchor2__item:not(:first-child) {
  margin-left: 0px;
 }
}
.anchor2__link {
 display: block;
 font-size: 1.2rem;
 border: solid 1px #d9d9d9;
 border-radius: 5px;
 padding: 25px 50px 25px 25px;
 background: url("../images/common/btn_icn_anchor.png") right 25px center no-repeat;
 background-size: 9px auto;
}
.anchor2__link:hover {
 opacity: 0.3;
}
@media (max-width: 767.9px) {
 .anchor2__link {
  margin-left: 0px;
 }
}

@media (min-width: 768px) {
 .table-line {
  border-collapse: separate;
  border-spacing: 0px 40px;
  margin-top: -20px;
  margin-bottom: -20px;
 }
}
@media (max-width: 767.9px) {
 .table-line {
  display: block;
  border-bottom: solid 1px #ebebeb;
 }
}
.table-line__th {
 font-size: 1.4rem;
 line-height: 1.857;
 font-weight: 500;
 vertical-align: middle;
 padding: 20px;
 white-space: nowrap;
 border-right: solid 1px #ebebeb;
 position: relative;
}
.table-line__th::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 1.857) * .5em);
 content: "";
}
.table-line__th::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 1.857) * .5em);
 content: "";
}
@media (max-width: 767.9px) {
 .table-line__th {
  display: block;
  border-right: none;
  border-top: solid 1px #ebebeb;
  padding: 30px 0 25px;
 }
}
@media (min-width: 768px) {
 .table-line__th::before {
  content: "";
  display: block;
  border-top: solid 1px #ebebeb;
  position: absolute;
  width: 100%;
  left: 0px;
  top: -20px;
 }
}
.table-line__td {
 font-size: 1.4rem;
 font-weight: 400;
 line-height: 1.857;
 padding: 20px;
 position: relative;
}
.table-line__td::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 1.857) * .5em);
 content: "";
}
.table-line__td::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 1.857) * .5em);
 content: "";
}
@media (max-width: 767.9px) {
 .table-line__td {
  display: block;
  padding: 0 0 40px;
 }
}
@media (min-width: 768px) {
 .table-line__td::before {
  content: "";
  display: block;
  border-top: solid 1px #ebebeb;
  position: absolute;
  width: 100%;
  left: 0px;
  top: -20px;
 }
}
@media (min-width: 768px) {
 .table-line tr:last-child .table-line__th::after,
.table-line tr:last-child .table-line__td::after {
  content: "";
  display: block;
  border-top: solid 1px #ebebeb;
  position: absolute;
  width: 100%;
  left: 0px;
  bottom: -20px;
 }
}

.table-flat {
 font-size: 1.4rem;
 width: 100%;
 border-collapse: collapse;
}
@media (max-width: 767.9px) {
 .table-flat {
  font-size: 1.2rem;
 }
}
.table-flat__th {
 line-height: 1.714;
 font-weight: 500;
 padding: 17px 40px;
 background: #f8f8f8;
 border-top: solid 1px #fff;
 border-left: solid 1px #fff;
 white-space: nowrap;
 width: 100px;
}
.table-flat__th::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 1.714) * .5em);
 content: "";
}
.table-flat__th::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 1.714) * .5em);
 content: "";
}
@media (max-width: 767.9px) {
 .table-flat__th {
  padding: 19px 16px;
 }
}
.table-flat__th--center {
 text-align: center;
}
.table-flat__td {
 line-height: 1.714;
 padding: 15px 40px;
 border: solid 1px #ebebeb;
 /****/
}
.table-flat__td::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 1.714) * .5em);
 content: "";
}
.table-flat__td::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 1.714) * .5em);
 content: "";
}
.table-flat__td--center {
 text-align: center;
}
@media (max-width: 767.9px) {
 .table-flat__td {
  padding: 19px 16px;
 }
}
.table-flat__td .list2 li {
 font-size: 1.4rem;
}
@media (max-width: 767.9px) {
 .table-flat__td .list2 {
  font-size: 1.2rem;
 }
}

/**学年別の授業時数（週）**/
@media (min-width: 768px) {
 .table-flat2 td,
.table-flat2 th {
  padding: 17px 20px;
 }
}

.table-caption {
 font-size: 1rem;
 color: #666;
 text-align: right;
 margin-top: 10px;
}

@media (min-width: 768px) {
 .scroll .simplebar-track {
  display: none;
 }
}
@media (max-width: 767.9px) {
 .scroll {
  width: 100%;
  padding-bottom: 30px;
 }
 .scroll .simplebar-track.simplebar-horizontal {
  background: #d9d9d9;
  border-radius: 0px;
  height: 2px;
 }
 .scroll .simplebar-track.simplebar-horizontal .simplebar-scrollbar {
  top: 0;
  height: 2px;
 }
 .scroll .simplebar-scrollbar::before {
  background: #2558ad;
  border-radius: 0px;
  height: 2px;
 }
}

@media (min-width: 768px) {
 .lower-2col__block.swiper-slide {
  width: 380px;
 }
}
@media (max-width: 767px) {
 .content-swiper {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0 0 28px;
  margin-bottom: -28px;
  z-index: 1;
 }

 .content-swiper .swiper-slide {
  margin-bottom: 0;
 }

 .content-swiper .swiper-slide img {
  width: 100%;
  height: auto;
 }

 .content-swiper .swiper-pagination {
  text-align: right;
 }

 .content-swiper .swiper-pagination-bullet {
  border-radius: 2px;
 }

 .content-swiper.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 0px;
 }

 .content-swiper + .text {
  margin-top: 60px;
 }
}
/*about_rule*/
.about_rule {
 background: #f8f8f8;
 padding: 60px;
 margin-bottom: 60px;
}
.about_rule__inner {
 background: #fff;
 border-radius: 5px;
 padding: 40px 30px;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-align: center;
     -ms-flex-align: center;
         align-items: center;
 margin-bottom: 20px;
}
.about_rule__inner .right {
 padding-right: 30px;
}
.about_rule__inner .right img {
 width: 60px;
}
.about_rule__inner .left h4 {
 font-size: 1.8rem;
 font-weight: 500;
 line-height: 1.8;
 letter-spacing: 0.15em;
 margin-bottom: 18px;
}
.about_rule__inner .left h4::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 1.8) * .5em);
 content: "";
}
.about_rule__inner .left h4::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 1.8) * .5em);
 content: "";
}
.about_rule__inner:last-child {
 margin-bottom: 0px;
}
@media (max-width: 767.9px) {
 .about_rule {
  padding: 20px;
 }
 .about_rule__inner {
  padding: 20px;
 }
 .about_rule .right {
  padding-right: 15px;
 }
 .about_rule .left {
  font-size: 1.6rem;
 }
}

/*****/
.alert1 {
 color: #eb3323;
 /*  border: 1px solid #eb3323;
 border-radius: 5px;*/
 background: #f8f8f8;
 padding: 40px;
 margin-bottom: 60px;
 /*  a{color: $color-text-blue;
 text-decoration:underline;}*/
}
@media (max-width: 767.9px) {
 .alert1 {
  padding: 40px 30px;
  margin-bottom: 50px;
 }
}

/****/
.sectionWrap {
 margin-bottom: 80px;
}
@media (max-width: 767.9px) {
 .sectionWrap {
  margin-bottom: 50px;
 }
}

.header {
 position: relative;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -ms-flex-line-pack: justify;
     align-content: space-between;
 width: 100%;
 background: #fff;
 z-index: 2;
}
@media (min-width: 768px) {
 .header {
  min-width: 1360px;
 }
}
@media (min-width: 768px) {
 .header__in {
  width: 100%;
  max-width: 1900px;
  margin: 27px auto;
  padding: 0 30px;
  height: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
 }
}
@media (max-width: 767.9px) {
 .header__in {
  width: 100%;
  position: relative;
 }
}

.header__logo {
 display: block;
 width: 260px;
 height: 38px;
 margin-top: 16px;
}
@media (max-width: 767.9px) {
 .header__logo {
  width: 150px;
  height: 30px;
  margin: 20px 24px;
 }
}
.header__logo img {
 display: block;
 width: 100%;
 height: 100%;
}

@media (min-width: 768px) {
 .gn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
 }
}

@media (min-width: 768px) {
 .gn-main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-right: 35px;
 }
 .gn-main__item:hover .gn-main__link {
  color: #fff;
  background: #2558ad;
  font-weight: 400;
 }
 .gn-main__item:hover::after {
  content: "";
  display: block;
  width: 100%;
  height: 27px;
 }
 .gn-main__item:hover .gn-sub {
  opacity: 1;
  visibility: visible;
 }
 .gn-main__link {
  font-size: 1.4rem;
  display: block;
  padding: 33px 15px;
 }
 .gn-main__link.current {
  color: #2558ad;
  font-weight: 700;
 }
}
@media (max-width: 767.9px) {
 .gn-main {
  position: absolute;
  top: 70px;
  left: 0;
  width: 100%;
  background: #fff;
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  -o-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
 }
 .gn-main.open {
  opacity: 1;
  visibility: visible;
 }
}

.gn-sub {
 /****/
}
@media (min-width: 768px) {
 .gn-sub {
  opacity: 0;
  visibility: hidden;
  width: 100%;
  padding: 30px 0;
  background: #f8f8f8;
  border-top: solid 1px #d9d9d9;
  position: absolute;
  left: 0;
  top: 134px;
  z-index: 99;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  -o-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
  -webkit-box-shadow: 0px 15px 30px -10px rgba(0, 0, 0, 0.3);
          box-shadow: 0px 15px 30px -10px rgba(0, 0, 0, 0.3);
 }
}
@media (max-width: 767.9px) {
 .gn-sub {
  position: relative;
 }
}
@media (min-width: 768px) {
 .gn-sub__in {
  width: 1340px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
 }
}
@media (min-width: 768px) {
 .gn-sub__title {
  margin-right: 25px;
 }
}
@media (max-width: 767.9px) {
 .gn-sub__title {
  border-top: solid 1px #d9d9d9;
 }
}
.gn-sub__title-link {
 display: block;
}
@media (min-width: 768px) {
 .gn-sub__title-link {
  padding: 24px 0 206px 90px;
 }
 .gn-sub__title-link:hover .gn-sub__title-in {
  color: #fff;
  background: #2558ad url("../images/common/btn_icn_sq_arrow_blue_on.png") right center no-repeat;
  background-size: 25px 25px;
 }
}
@media (max-width: 767.9px) {
 .gn-sub__title-link {
  font-size: 1.4rem;
  height: 60px;
  line-height: 60px;
  /*      background:url("../images/common/icon_close.png") right 27px center no-repeat;
  background-size: 12px auto;*/
 }
 .gn-sub__title-link.open {
  /*        background:url("../images/common/icon_open.png") right 27px center no-repeat;
  background-size: 12px auto;*/
 }
}
@media (min-width: 768px) {
 .gn-sub__title-in {
  font-size: 1.4rem;
  letter-spacing: 0.15em;
  display: block;
  width: 205px;
  height: 80px;
  line-height: 80px;
  padding-left: 20px;
  color: #2f2f2f;
  background: #fff url("../images/common/btn_icn_sq_arrow_blue.png") right center no-repeat;
  background-size: 25px 25px;
 }
}
@media (max-width: 767.9px) {
 .gn-sub__title-in {
  padding-left: 27px;
 }
 .gn-sub__title-in:hover {
  opacity: 0.3;
 }
}
.gn-sub__list {
 /**__icon**/
 /****/
}
@media (min-width: 768px) {
 .gn-sub__list {
  background: #fff;
  width: 960px;
  padding: 25px 15px 15px 25px;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
 }
}
@media (max-width: 767.9px) {
 .gn-sub__list {
  display: none;
  border-top: solid 1px #d9d9d9;
 }
}
@media (min-width: 768px) {
 .gn-sub__list__icon {
  display: none;
 }
}
@media (max-width: 767.9px) {
 .gn-sub__list__icon {
  height: 61px;
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  background: url("../images/common/icon_close.png") right center no-repeat;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  width: 65px;
  background-position: right 27px center;
  background-size: 12px auto;
 }
}
.gn-sub__list__icon:hover {
 cursor: pointer;
 opacity: 0.3;
}
@media (max-width: 767.9px) {
 .gn-sub__list__icon.open {
  background: url("../images/common/icon_open.png") right center no-repeat;
  background-size: 8px auto;
  background-position: right 27px center;
 }
}
@media (min-width: 768px) {
 .gn-sub__item {
  width: 310px;
  height: 80px;
  margin: 0 10px 10px 0;
 }
}
@media (max-width: 767.9px) {
 .gn-sub__item {
  margin-left: 47px;
 }
 .gn-sub__item:not(:last-child) {
  border-bottom: solid 1px #d9d9d9;
 }
}
.gn-sub__link {
 display: block;
}
@media (min-width: 768px) {
 .gn-sub__link {
  font-size: 1.4rem;
  letter-spacing: 0.15em;
  width: 310px;
  height: 80px;
  /*text-align: center;*/
  text-align: left;
  /* line-height: 80px;*/
  line-height: 1.7;
  /* padding-left: 107px;*/
  padding-left: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #2f2f2f;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: url("../images/common/btn_icn_sq_arrow_blue.png") right bottom no-repeat;
  background-size: 25px 25px;
 }
 .gn-sub__link:hover {
  color: #2f2f2f;
  background: url("../images/common/btn_icn_sq_arrow_blue_on.png") right bottom no-repeat;
  background-size: 25px 25px;
 }
}
@media (max-width: 767.9px) {
 .gn-sub__link {
  font-size: 1.4rem;
  height: 60px;
  line-height: 60px;
  background: url("../images/common/icon_arrow_gray.png") right 27px center no-repeat;
  background-size: 12px auto;
 }
 .gn-sub__link:hover {
  cursor: pointer;
  opacity: 0.3;
 }
}

@media (min-width: 768px) {
 .gn-about__title-link {
  background: url("../images/common/gn_about_title_pc.png") left center no-repeat;
 }
 .gn-about__item--01 {
  background: #f8f8f8 url("../images/common/gn_about_01_pc.jpg") right center no-repeat;
 }
 .gn-about__item--02 {
  background: #f8f8f8 url("../images/common/gn_about_02_pc.jpg") right center no-repeat;
 }
 .gn-about__item--03 {
  background: #f8f8f8 url("../images/common/gn_about_03_pc.jpg") right center no-repeat;
 }

 .gn-edu__title-link {
  background: url("../images/common/gn_edu_title_pc.jpg") left center no-repeat;
 }
 .gn-edu__item--01 {
  background: #f8f8f8 url("../images/common/gn_edu_01_pc.jpg") right center no-repeat;
 }
 .gn-edu__item--02 {
  background: #f8f8f8 url("../images/common/gn_edu_02_pc.jpg") right center no-repeat;
 }
 .gn-edu__item--03 {
  background: #f8f8f8 url("../images/common/gn_edu_03_pc.jpg") right center no-repeat;
 }
 .gn-edu__item--04 {
  background: #f8f8f8 url("../images/common/gn_edu_04_pc.jpg") right center no-repeat;
 }
 .gn-edu__item--05 {
  background: #f8f8f8 url("../images/common/gn_edu_05_pc.jpg") right center no-repeat;
 }

 .gn-admission__title-link {
  background: url("../images/common/gn_admission_title_pc.jpg") left center no-repeat;
 }
 .gn-admission__item {
  background: #f8f8f8;
 }
 .gn-admission__item > .gn-sub__link {
  padding-left: 20px;
  text-align: left;
 }

 .gn-slife__title-link {
  background: url("../images/common/gn_slife_title_pc.jpg") left center no-repeat;
 }
 .gn-slife__item--01 {
  background: #f8f8f8 url("../images/common/gn_slife_01_pc.jpg") right center no-repeat;
 }
 .gn-slife__item--02 {
  background: #f8f8f8 url("../images/common/gn_slife_02_pc.jpg") right center no-repeat;
 }
 .gn-slife__item--03 {
  background: #f8f8f8 url("../images/common/gn_slife_03_pc.jpg") right center no-repeat;
 }
 .gn-slife__item--04 {
  background: #f8f8f8 url("../images/common/gn_slife_04_pc.jpg") right center no-repeat;
 }
 .gn-slife__item--05 {
  background: #f8f8f8 url("../images/common/gn_slife_05_pc.jpg") right center no-repeat;
 }
 .gn-slife__item--06 {
  background: #f8f8f8 url("../images/common/gn_slife_06_pc.jpg") right center no-repeat;
 }
 .gn-slife__item--07 {
  background: #f8f8f8 url("../images/common/gn_slife_07_pc.jpg") right center no-repeat;
 }
}
@media (max-width: 767.9px) {
 .gn-ob {
  border-bottom: solid 1px #d9d9d9;
 }
}
.gn-aside {
 background-color: #ffffff;
 font-size: 1rem;
 text-align: center;
 border-radius: 3px;
}
@media (min-width: 768px) {
 .gn-aside {
  height: 78px;
  border: solid 1px #d9d9d9;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
 }
}
@media (max-width: 767.9px) {
 .gn-aside {
  border-radius: 0;
 }
}
.gn-aside__access {
 display: block;
 width: 74px;
 height: 28px;
 padding-top: 50px;
 border-right: solid 1px #d9d9d9;
 background: #fff url("../images/common/header_icon_access.png") center 20px no-repeat;
 background-size: auto 20px;
}
@media (max-width: 767.9px) {
 .gn-aside__access {
  position: absolute;
  top: 0;
  right: 117px;
  width: 58px;
  height: 26px;
  padding-top: 44px;
  background: #fff url("../images/common/header_icon_access.png") center 17px no-repeat;
  background-size: auto 17px;
 }
}
.gn-aside__access:hover {
 color: #fff;
 background: #2558ad url("../images/common/header_icon_access_on.png") center 20px no-repeat;
 background-size: auto 20px;
}
.gn-aside__search {
 display: block;
 width: 74px;
 height: 28px;
 padding-top: 50px;
 border-right: solid 1px #d9d9d9;
 background: #fff url("../images/common/header_icon_search.png") center 20px no-repeat;
 background-size: auto 20px;
}
@media (max-width: 767.9px) {
 .gn-aside__search {
  position: absolute;
  top: 0;
  right: 58px;
  width: 58px;
  height: 26px;
  padding-top: 44px;
  background: #fff url("../images/common/header_icon_search.png") center 17px no-repeat;
  background-size: auto 17px;
 }
}
.gn-aside__search:hover {
 color: #fff;
 background: #2558ad url("../images/common/header_icon_search_on.png") center 20px no-repeat;
 background-size: auto 20px;
}
.gn-aside__search.open {
 color: #fff;
 background: #2558ad url("../images/common/header_icon_close.png") center 20px no-repeat;
 background-size: auto 20px;
}
.gn-aside__search-form {
 position: absolute;
 right: 0;
 top: 93px;
 width: 480px;
 height: 60px;
 background: #fff;
 border: solid 1px #d9d9d9;
 z-index: 99;
 opacity: 0;
 visibility: hidden;
 -webkit-transition: opacity 0.3s, visibility 0.3s;
 -o-transition: opacity 0.3s, visibility 0.3s;
 transition: opacity 0.3s, visibility 0.3s;
}
@media (min-width: 768px) {
 .gn-aside__search-form {
  border-radius: 3px;
  -webkit-box-shadow: 0px 15px 30px -10px rgba(0, 0, 0, 0.3);
          box-shadow: 0px 15px 30px -10px rgba(0, 0, 0, 0.3);
 }
}
@media (max-width: 767.9px) {
 .gn-aside__search-form {
  top: 70px;
  width: 100%;
  height: 61px;
 }
}
.gn-aside__search-form.open {
 opacity: 1;
 visibility: visible;
}
.gn-aside__search-form input[type=text] {
 width: 400px;
 height: 60px;
 padding: 5px 20px;
 border: none;
 border-radius: 3px;
 -webkit-box-sizing: border-box;
         box-sizing: border-box;
}
@media (max-width: 767.9px) {
 .gn-aside__search-form input[type=text] {
  width: 82%;
  padding: 5px 10px;
 }
}
.gn-aside__search-form input::-webkit-input-placeholder {
 color: #ccc;
}
.gn-aside__search-form input::-moz-placeholder {
 color: #ccc;
}
.gn-aside__search-form input:-ms-input-placeholder {
 color: #ccc;
}
.gn-aside__search-form input::-ms-input-placeholder {
 color: #ccc;
}
.gn-aside__search-form input::placeholder {
 color: #ccc;
}
@media (max-width: 767.9px) {
 .gn-aside__search-form input::-webkit-input-placeholder {
  font-size: 1.2rem;
 }
 .gn-aside__search-form input::-moz-placeholder {
  font-size: 1.2rem;
 }
 .gn-aside__search-form input:-ms-input-placeholder {
  font-size: 1.2rem;
 }
 .gn-aside__search-form input::-ms-input-placeholder {
  font-size: 1.2rem;
 }
 .gn-aside__search-form input::placeholder {
  font-size: 1.2rem;
 }
}
.gn-aside__search-form input::-ms-input-placeholder {
 color: #ccc;
}
@media (max-width: 767.9px) {
 .gn-aside__search-form input::-ms-input-placeholder {
  font-size: 1.2rem;
 }
}
.gn-aside__search-form input:-ms-input-placeholder {
 color: #ccc;
}
@media (max-width: 767.9px) {
 .gn-aside__search-form input:-ms-input-placeholder {
  font-size: 1.2rem;
 }
}
.gn-aside__search-btn {
 background: url("../images/common/header_icon_search_gray.png") center center no-repeat;
 background-size: 20px 20px;
 border: 0;
 width: 40px;
 height: 40px;
 text-indent: 100%;
 white-space: nowrap;
 overflow: hidden;
 margin: 0 10px;
}
@media (max-width: 767.9px) {
 .gn-aside__search-btn {
  background-size: 16px 16px;
 }
}
.gn-aside__font-size {
 display: block;
 cursor: pointer;
}
@media (min-width: 768px) {
 .gn-aside__font-size {
  width: 74px;
  height: 28px;
  padding-top: 50px;
  background: url("../images/common/header_icon_size.png") center 20px no-repeat;
  background-size: auto 16px;
 }
 .gn-aside__font-size:hover {
  color: #fff;
  background: #2558ad url("../images/common/header_icon_size_on.png") center 20px no-repeat;
  background-size: auto 16px;
 }
 .gn-aside__font-size:hover .font-size-list {
  opacity: 1;
  visibility: visible;
 }
 .gn-aside__font-size:hover::after {
  content: "";
  display: block;
  width: 74px;
  height: 34px;
 }
}
@media (max-width: 767.9px) {
 .gn-aside__font-size {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: solid 27px #f8f8f8;
 }
}

.font-size-list {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 height: 60px;
 background: #fff;
 text-align: center;
}
@media (min-width: 768px) {
 .font-size-list {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  right: 0;
  top: 93px;
  z-index: 99;
  border: solid 1px #d9d9d9;
  border-radius: 3px;
  -webkit-box-shadow: 0px 15px 30px -10px rgba(0, 0, 0, 0.3);
          box-shadow: 0px 15px 30px -10px rgba(0, 0, 0, 0.3);
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  -o-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
  overflow: hidden;
 }
}
@media (max-width: 767.9px) {
 .font-size-list {
  margin: 15px 0;
 }
}
.font-size-list__item {
 display: block;
 width: 46px;
 height: 60px;
 -webkit-box-sizing: border-box;
         box-sizing: border-box;
 position: relative;
 border: none;
 cursor: pointer;
}
@media (max-width: 767.9px) {
 .font-size-list__item {
  border: solid 1px #d9d9d9;
  border-radius: 3px;
  margin-right: 5px;
 }
}
.font-size-list__item:hover {
 color: #fff;
}
.font-size-list__item:focus {
 outline: none;
}
.font-size-list__item--l {
 padding-top: 36px;
 font-size: 1.4rem;
 background: url("../images/common/header_icon_size.png") center 11px no-repeat;
 background-size: auto 16px;
}
.font-size-list__item--l:hover {
 background: #2558ad url("../images/common/header_icon_size_on.png") center 11px no-repeat;
 background-size: auto 16px;
}
@media (min-width: 768px) {
 .font-size-list__item--l {
  margin-right: 1px;
 }
 .font-size-list__item--l::before {
  content: "";
  height: 40px;
  border-right: solid 1px #ebebeb;
  position: absolute;
  right: -1px;
  top: 10px;
 }
}
.font-size-list__item--m {
 padding-top: 37px;
 font-size: 1.2rem;
 background: url("../images/common/header_icon_size.png") center 15px no-repeat;
 background-size: auto 13px;
}
.font-size-list__item--m:hover {
 background: #2558ad url("../images/common/header_icon_size_on.png") center 15px no-repeat;
 background-size: auto 13px;
}
@media (min-width: 768px) {
 .font-size-list__item--m {
  margin-right: 1px;
 }
 .font-size-list__item--m::before {
  content: "";
  height: 40px;
  border-right: solid 1px #ebebeb;
  position: absolute;
  right: -1px;
  top: 10px;
 }
}
.font-size-list__item--s {
 padding-top: 38px;
 font-size: 1rem;
 background: url("../images/common/header_icon_size.png") center 17px no-repeat;
 background-size: auto 10px;
}
.font-size-list__item--s:hover {
 background: #2558ad url("../images/common/header_icon_size_on.png") center 17px no-repeat;
 background-size: auto 10px;
}

@media (max-width: 767.9px) {
 .drawer {
  position: absolute;
  right: 0;
  top: 0;
  font-size: 1rem;
  text-align: center;
  width: 58px;
  height: 26px;
  padding-top: 44px;
  background: #fff url("../images/common/header_icon_drawer.png") center 19px no-repeat;
  background-size: auto 13px;
 }

 .drawer:hover {
  color: #fff;
  cursor: pointer;
  background: #2558ad url("../images/common/header_icon_drawer_on.png") center 19px no-repeat;
  background-size: auto 13px;
 }

 .drawer.open {
  color: #fff;
  background: #2558ad url("../images/common/header_icon_close.png") center 20px no-repeat;
  background-size: auto 12px;
 }
}
/* FOOTER */
.footer {
 width: 100%;
}
@media (min-width: 768px) {
 .footer {
  min-width: 1360px;
 }
}
.footer a {
 font-size: 1.2rem;
 color: #2f2f2f;
}
.footer a:hover {
 color: rgba(47, 47, 47, 0.3);
}

.fn {
 padding: 80px 0;
 background: #f8f8f8;
}

.fn-main {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 width: 960px;
 margin: 0 auto;
}
.fn-main__item {
 width: 160px;
}
.fn-main__item:not(:last-child) {
 margin-right: 40px;
}
@media (min-width: 768px) {
 .fn-main__item:first-child {
  width: 220px;
 }
}
.fn-main__link {
 font-size: 1.4rem;
 font-weight: 500;
 border-bottom: solid 1px #ebebeb;
 position: relative;
 display: block;
 padding-bottom: 20px;
 margin-bottom: 20px;
}
.fn-main__link::before {
 content: "";
 display: block;
 left: 0;
 bottom: -1px;
 position: absolute;
 width: 5px;
 border-bottom: solid 1px #a4a4a4;
}

.fn-sub {
 line-height: 2;
}
.fn-sub::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 2) * .5em);
 content: "";
}
.fn-sub::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 2) * .5em);
 content: "";
}

.ft-link {
 width: 100%;
 margin: 42px 0 20px;
}
@media (min-width: 768px) {
 .ft-link {
  border-bottom: solid 1px #d9d9d9;
 }
}
@media (max-width: 767.9px) {
 .ft-link {
  margin-top: 0;
 }
}
@media (min-width: 768px) {
 .ft-link .ft-link__in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 42px auto;
  padding-left: 40px;
  width: 1000px;
 }
}
@media (max-width: 767.9px) {
 .ft-link .ft-link__in {
  padding-bottom: 20px;
  background-color: #f8f8f8;
 }
}
.ft-link .ft-link__title {
 /***/
 font-family: "Quattrocento", serif;
}
@media (max-width: 767.9px) {
 .ft-link .ft-link__title {
  text-align: center;
  padding: 25px;
  background-color: #f8f8f8;
  border-bottom: solid 1px #ebebeb;
 }
}
.ft-link .ft-link__list {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
}
@media (min-width: 768px) {
 .ft-link .ft-link__list {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 820px;
 }
}
@media (max-width: 767.9px) {
 .ft-link .ft-link__list {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  background: #fff;
 }
}
@media (max-width: 767.9px) {
 .ft-link .ft-link__item {
  width: 50%;
  text-align: center;
  border-bottom: solid 1px #ebebeb;
 }
 .ft-link .ft-link__item:nth-child(odd) {
  border-right: solid 1px #ebebeb;
  margin-right: -1px;
 }
}
.ft-link .ft-link__link {
 font-family: "Noto Serif JP", serif;
}
@media (max-width: 767.9px) {
 .ft-link .ft-link__link {
  display: block;
  padding: 17px 0;
 }
}

@media (min-width: 768px) {
 .ft-address {
  margin: 70px auto 43px;
  width: 880px;
  padding: 20px 0 0 180px;
  background: url("../images/common/footer_logo.png") no-repeat;
  background-position: left top;
 }
}
@media (max-width: 767.9px) {
 .ft-address {
  margin: 25px 27px 20px 27px;
  background: url("../images/common/footer_logo.png") right top no-repeat;
  background-size: 60px auto;
 }
}
.ft-address__title {
 font-family: "Noto Serif JP", serif;
 font-size: 2.4rem;
 font-weight: 500;
 margin-bottom: 40px;
 letter-spacing: 0.15em;
}
@media (max-width: 767.9px) {
 .ft-address__title {
  font-size: 2.1rem;
  margin-bottom: 20px;
  padding-top: 40px;
 }
}
.ft-address__text {
 font-family: "Noto Serif JP", serif;
 font-size: 1.4rem;
 line-height: 2;
 letter-spacing: 0.15em;
 padding-bottom: 45px;
 margin-bottom: 45px;
 border-bottom: solid 1px #d9d9d9;
}
.ft-address__text::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 2) * .5em);
 content: "";
}
.ft-address__text::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 2) * .5em);
 content: "";
}
@media (max-width: 767.9px) {
 .ft-address__text {
  font-size: 1rem;
  padding-bottom: 20px;
  margin-bottom: 20px;
 }
}

.ft-aside {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
}
@media (max-width: 767.9px) {
 .ft-aside {
  border-bottom: solid 1px #d9d9d9;
  padding-bottom: 20px;
  margin-bottom: 20px;
 }
}
.ft-aside__link {
 font-size: 1.2rem;
}
.ft-aside__link:first-child {
 padding-right: 16px;
 margin-right: 16px;
 position: relative;
}
.ft-aside__link:first-child::before {
 content: "";
 display: block;
 position: absolute;
 right: 0;
 top: 1px;
 height: 10px;
 border-right: solid 1px #d9d9d9;
}

.copyright {
 font-size: 1rem;
 font-family: "Quattrocento", serif;
 text-align: right;
 margin: 0 auto;
}
@media (min-width: 768px) {
 .copyright {
  width: 1160px;
  padding-bottom: 37px;
 }
}
@media (max-width: 767.9px) {
 .copyright {
  text-align: left;
  margin: 20px 27px;
  -webkit-transform: scale(0.6);
      -ms-transform: scale(0.6);
          transform: scale(0.6);
  -webkit-transform-origin: 0 0;
      -ms-transform-origin: 0 0;
          transform-origin: 0 0;
 }
}

.btn1 {
 height: 28px;
 display: block;
 padding-right: 44px;
 font-size: 1.4rem;
 line-height: 28px;
 background: url("../images/common/btn_icn_circle_arrow_blue.png") right 0 top no-repeat;
 background-size: contain;
 position: relative;
}
@media (max-width: 767.9px) {
 .btn1 {
  font-size: 1.6rem;
  height: 25px;
  line-height: 25px;
  padding-right: 40px;
 }
}
.btn1:hover {
 background: url("../images/common/btn_icn_circle_arrow_blue_on.png") right 0 top no-repeat;
 background-size: contain;
}

.btn3 {
 width: 100%;
 height: 100%;
 display: block;
 position: relative;
}
.btn3__in {
 font-size: 2rem;
 color: #2f2f2f;
 line-height: 1.6;
 text-align: left;
 letter-spacing: 0.2em;
 padding: 15px 0 15px 45px;
 display: block;
 position: absolute;
 right: 0;
 top: 340px;
 width: 280px;
 background: #fff url("../images/common/btn_icn_circle_arrow_blue.png") right 18px bottom 15px no-repeat;
 background-size: 25px auto;
 border-top: solid 5px #2558ad;
}
@media (max-width: 767.9px) {
 .btn3__in {
  font-size: 1.8rem;
  line-height: 1.55;
  width: 80%;
  height: auto;
  padding: 15px 0 10px 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  top: 220px;
  border-top: solid 3px #2558ad;
  background-position: right 18px bottom 8px;
 }
}
.btn3__in::before {
 content: "";
 position: absolute;
 top: -5px;
 right: 0;
 display: block;
 width: 0;
 height: 5px;
 background-color: #dfdfdf;
 -webkit-transition: all 500ms ease;
 -o-transition: all 500ms ease;
 transition: all 500ms ease;
}
.btn3__in::after {
 content: "";
 display: block;
 width: 25px;
 border-top: solid 1px #7fa4cb;
 position: absolute;
 right: 18px;
 bottom: 0;
}
@media (max-width: 767.9px) {
 .btn3__in::after {
  width: 17px;
  right: 21px;
 }
}
@media (min-width: 768px) {
 .btn3__in--about1 {
  width: 473px;
  height: 80px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  top: 327px;
  padding-top: 30px;
 }
}
@media (max-width: 767.9px) {
 .btn3__in--about1 {
  top: auto;
  bottom: -20px;
 }
}
.btn3__in--admission {
 top: 350px;
}
@media (min-width: 768px) {
 .btn3__in--admission {
  width: 334px;
  padding-left: 40px;
 }
}
@media (max-width: 767.9px) {
 .btn3__in--admission {
  top: 200px;
 }
}
.btn3__sub {
 font-size: 1.2rem;
 letter-spacing: 0.15em;
 display: block;
 width: 100%;
}
.btn3:hover .btn3__in {
 background: #fff url("../images/common/btn_icn_circle_arrow_blue_on.png") right 18px bottom 15px no-repeat;
 background-size: 25px auto;
}
.btn3:hover .btn3__in::before {
 left: 0px;
 width: 100%;
}

.btn4 {
 display: block;
 color: #fff;
 text-align: center;
 font-size: 1.4rem;
 line-height: 90px;
 letter-spacing: 0.15em;
 width: 170px;
 height: 90px;
 border-radius: 5px;
 background: #2558ad url("../images/top/sns_icn_facebook.png") 32px 32px no-repeat;
 background-size: 14px 26px;
 margin-right: 20px;
 padding-left: 30px;
 -webkit-box-sizing: border-box;
         box-sizing: border-box;
}
@media (max-width: 767.9px) {
 .btn4 {
  font-size: 0.9rem;
  line-height: 58px;
  width: 110px;
  height: 58px;
  background-position: 20px 21px;
  background-size: 9px auto;
 }
}
.btn4:hover {
 color: #2558ad;
 border: solid 1px #2558ad;
 background: #fff url("../images/top/sns_icn_facebook_blue.png") 32px 32px no-repeat;
 background-size: 14px 26px;
}

.btn5 {
 display: block;
 color: #fff;
 text-align: center;
 font-size: 1.4rem;
 line-height: 90px;
 letter-spacing: 0.15em;
 width: 170px;
 height: 90px;
 border-radius: 5px;
 background: #2558ad url("../images/top/sns_icn_twitter.png") 32px 35px no-repeat;
 background-size: 25px 20px;
 padding-left: 30px;
 -webkit-box-sizing: border-box;
         box-sizing: border-box;
}
@media (max-width: 767.9px) {
 .btn5 {
  font-size: 0.9rem;
  line-height: 58px;
  width: 110px;
  height: 58px;
  background-position: 20px 22px;
  background-size: 18px auto;
 }
}
.btn5:hover {
 color: #2558ad;
 border: solid 1px #2558ad;
 background: #fff url("../images/top/sns_icn_twitter_blue.png") 32px 35px no-repeat;
 background-size: 25px 20px;
}

.btn6 {
 display: block;
 font-size: 1.2rem;
 width: 263px;
 height: 70px;
 padding-left: 94px;
 line-height: 70px;
 color: #fff;
 background: #2558ad;
 position: relative;
}
@media (max-width: 767.9px) {
 .btn6 {
  font-size: 1.4rem;
  font-weight: 300;
  width: 100%;
  padding-left: 75px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
 }
}
.btn6:hover {
 color: #fff;
 opacity: 0.3;
}
.btn6::before {
 content: "";
 display: block;
 height: 70px;
 position: absolute;
 top: 0;
 left: 94px;
 border-right: solid 1px #fff;
}
@media (max-width: 767.9px) {
 .btn6::before {
  left: 75px;
 }
}
.btn6::after {
 content: "";
 display: block;
 width: 21px;
 height: 21px;
 background: url("../images/common/btn_icn_blank.png") right bottom no-repeat;
 background-size: contain;
 position: absolute;
 right: 0;
 bottom: 0;
}
.btn6--white {
 color: #2f2f2f;
 background: #fff;
}
.btn6--white:hover {
 color: #2f2f2f;
}

.btn7 {
 display: block;
 border-bottom: solid 1px #999;
 background: url("../images/common/btn_icn_circle_arrow_blue.png") right top no-repeat;
 background-size: 28px 28px;
 padding: 5px 0 22px;
 letter-spacing: 0.15em;
 position: relative;
}

@media (max-width: 767px) {
 .btn7 {
  font-size: 1.6rem;
  background-size: 25px 25px !important;
  padding: 5px 0 25px;
 }
}
.btn7::before {
 content: "";
 position: absolute;
 bottom: -1px;
 right: 0;
 display: block;
 width: 0;
 height: 1px;
 background-color: #2558ad;
 -webkit-transition: all 500ms ease;
 -o-transition: all 500ms ease;
 transition: all 500ms ease;
}

.btn7:hover {
 background: url("../images/common/btn_icn_circle_arrow_blue_on.png") right top no-repeat;
 background-size: 28px 28px;
}

.btn7:hover::before {
 left: 0px;
 width: 100%;
}

/**edit**/
.btn8 {
 display: block;
}
.btn8__in {
 width: 340px;
 height: 255px;
 position: relative;
}
@media (max-width: 767.9px) {
 .btn8__in {
  width: 100%;
  height: auto;
 }
 .btn8__in img {
  width: 100%;
 }
}
.btn8__in::after {
 content: "";
 width: 30px;
 height: 30px;
 background: url("../images/common/btn_icn_sq_arrow_blue.png") 0 0 no-repeat;
 background-size: cover;
 position: absolute;
 right: 0;
 bottom: 0;
}
.btn8__image {
 width: 100%;
 height: 100%;
}
.btn8__title {
 font-size: 1.8rem;
 font-weight: 500;
 margin: 30px 0;
}
@media (max-width: 767.9px) {
 .btn8__title {
  margin: 25px 0;
 }
}
.btn8__text {
 width: 300px;
 padding-right: 40px;
 font-size: 1.4rem;
 line-height: 2;
}
.btn8__text::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 2) * .5em);
 content: "";
}
.btn8__text::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 2) * .5em);
 content: "";
}
@media (max-width: 767.9px) {
 .btn8__text {
  width: auto;
  padding-right: 0px;
 }
}
.btn8:hover {
 color: #2f2f2f;
}
.btn8:hover .btn8__in::after {
 background: url("../images/common/btn_icn_sq_arrow_blue_on.png") 0 0 no-repeat;
 background-size: cover;
}

.link-text {
 color: #2558ad;
 border-bottom: solid 1px #2558ad;
}
.link-text:hover {
 opacity: 0.3;
}

.link-blank::after {
 content: "";
 display: inline-block;
 width: 12px;
 height: 11px;
 margin-left: 10px;
 background: url("../images/common/btn_icn_blank.png") center center no-repeat;
 background-size: 12px auto;
}

.btn9 {
 display: block;
}
.btn9__in {
 /* width: 250px;
 height: 187px;*/
 position: relative;
}
@media (max-width: 767.9px) {
 .btn9__in {
  /*    width: 320px;
  height: 240px;*/
 }
}
.btn9__in::after {
 content: "";
 width: 30px;
 height: 30px;
 background: url("../images/common/btn_icn_sq_arrow_blue.png") 0 0 no-repeat;
 background-size: cover;
 position: absolute;
 right: 0;
 bottom: 0;
 -webkit-transition: all 0.3s ease;
 -o-transition: all 0.3s ease;
 transition: all 0.3s ease;
}
.btn9__img {
 width: 100%;
 height: 100%;
}
.btn9__title {
 font-size: 1.6rem;
 font-weight: 500;
 margin: 20px 0 0;
 /**edit**/
 padding-right: 20px;
}
@media (max-width: 767.9px) {
 .btn9__title {
  margin: 25px 0;
 }
}
.btn9__text {
 font-size: 1.4rem;
 margin-top: 30px;
 /**edit**/
 padding-right: 20px;
}
@media (max-width: 767.9px) {
 .btn9__text {
  padding-right: 0px;
 }
}
.btn9:hover {
 color: #2f2f2f;
}
.btn9:hover .btn9__in::after {
 background: url("../images/common/btn_icn_sq_arrow_blue_on.png") 0 0 no-repeat;
 background-size: cover;
}

.btn10 {
 text-align: center;
 line-height: 105px;
 display: block;
 width: 460px;
 height: 105px;
 background: #f8f8f8;
 position: relative;
 margin-bottom: 25px;
 padding-left: 140px;
 -webkit-box-sizing: border-box;
         box-sizing: border-box;
}
@media (max-width: 767.9px) {
 .btn10 {
  width: 100%;
  height: 75px;
  line-height: 75px;
  padding-left: 100px;
 }
}
.btn10__img {
 width: auto;
 height: 100%;
 position: absolute;
 left: 0;
 top: 0;
}
.btn10__text {
 font-size: 1.4rem;
}
.btn10::after {
 content: "";
 width: 30px;
 height: 30px;
 background: url("../images/common/btn_icn_sq_arrow_blue.png") 0 0 no-repeat;
 background-size: cover;
 position: absolute;
 right: 0;
 bottom: 0;
 -webkit-transition: all 0.3s ease;
 -o-transition: all 0.3s ease;
 transition: all 0.3s ease;
}
.btn10:hover {
 color: #2f2f2f;
}
.btn10:hover::after {
 background: url("../images/common/btn_icn_sq_arrow_blue_on.png") 0 0 no-repeat;
 background-size: cover;
}
.btn10--blank::after {
 background: url("../images/common/btn_icn_blank.png") 0 0 no-repeat;
 background-size: cover;
}
.btn10--blank:hover {
 opacity: 0.3;
}
.btn10--blank:hover::after {
 background: url("../images/common/btn_icn_blank.png") 0 0 no-repeat;
 background-size: cover;
}

.link-blank::after {
 content: "";
 display: inline-block;
 width: 12px;
 height: 11px;
 margin-left: 10px;
 background: url("../images/common/btn_icn_blank_black_pc.png") center center no-repeat;
}

/*Button 6  ( PC_048 )  (SP＿040)*/
.btn11 {
 text-align: center;
 line-height: 80px;
 display: block;
 width: 320px;
 height: 80px;
 background: #f8f8f8;
 position: relative;
 margin-bottom: 25px;
 -webkit-box-sizing: border-box;
         box-sizing: border-box;
}
@media (max-width: 767.9px) {
 .btn11 {
  width: 100%;
  height: 60px;
  line-height: 60px;
 }
}
.btn11__text {
 font-size: 1.4rem;
}
.btn11::after {
 content: "";
 width: 30px;
 height: 30px;
 background: url("../images/common/btn_icn_sq_arrow_blue.png") 0 0 no-repeat;
 background-size: cover;
 position: absolute;
 right: 0;
 bottom: 0;
 -webkit-transition: all 0.3s ease;
 -o-transition: all 0.3s ease;
 transition: all 0.3s ease;
}
.btn11:hover {
 color: #2f2f2f;
}
.btn11:hover::after {
 background: url("../images/common/btn_icn_sq_arrow_blue_on.png") 0 0 no-repeat;
 background-size: cover;
}
.btn11--blank::after {
 background: url("../images/common/btn_icn_blank.png") 0 0 no-repeat;
 background-size: cover;
}
.btn11--blank:hover {
 opacity: 0.3;
}
.btn11--blank:hover::after {
 background: url("../images/common/btn_icn_blank.png") 0 0 no-repeat;
 background-size: cover;
}

.link-pdf:hover {
 opacity: 0.3;
}
.link-pdf::after {
 content: "";
 display: inline-block;
 width: 18px;
 height: 16px;
 margin-left: 8px;
 background: url("../images/common/btn_icn_pdf.png") center center no-repeat;
 background-size: contain;
 vertical-align: middle;
}

.btn12 {
 width: 300px;
 display: block;
}
@media (max-width: 767.9px) {
 .btn12 {
  width: 100%;
 }
}
.btn12__in {
 text-align: center;
 line-height: 80px;
 display: block;
 height: 80px;
 background: #f8f8f8;
 position: relative;
 margin-bottom: 25px;
 -webkit-box-sizing: border-box;
         box-sizing: border-box;
 font-size: 1.6rem;
}
@media (max-width: 767.9px) {
 .btn12__in {
  width: 100%;
  height: 60px;
  line-height: 60px;
  font-size: 1.5rem;
  margin-bottom: 20px;
 }
}
.btn12__in::after {
 content: "";
 width: 30px;
 height: 30px;
 background: url("../images/common/btn_icn_sq_arrow_blue.png") 0 0 no-repeat;
 background-size: cover;
 position: absolute;
 right: 0;
 bottom: 0;
 -webkit-transition: all 0.3s ease;
 -o-transition: all 0.3s ease;
 transition: all 0.3s ease;
}
.btn12__text {
 font-size: 1.4rem;
 line-height: 2;
}
.btn12__text::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 2) * .5em);
 content: "";
}
.btn12__text::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 2) * .5em);
 content: "";
}
.btn12:hover {
 color: #2f2f2f;
}
.btn12:hover .btn12__in::after {
 background: url("../images/common/btn_icn_sq_arrow_blue_on.png") 0 0 no-repeat;
 background-size: cover;
}

.btn-sitemap1 {
 width: 480px;
}

.link-text {
 color: #2558ad;
 border-bottom: solid 1px #2558ad;
}
.link-text:hover {
 opacity: 0.3;
}

.link-blank::after {
 content: "";
 display: inline-block;
 width: 12px;
 height: 11px;
 margin-left: 10px;
 background: url("../images/common/btn_icn_blank_black_pc.png") center center no-repeat;
 background-size: 12px auto;
}

.history {
 padding-top: 100px;
}

.history__block {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -ms-flex-wrap: wrap;
     flex-wrap: wrap;
 position: relative;
}

.history__era {
 writing-mode: vertical-rl;
 -ms-writing-mode: tb-rl;
 -webkit-writing-mode: vertical-rl;
 width: 115px;
 height: 115px;
 font-size: 2.3rem;
 line-height: 115px;
 letter-spacing: 0.3em;
 font-weight: 300;
 text-align: center;
 color: #fff;
 background: #2558ad;
 font-family: "Noto Serif JP", serif;
 border-radius: 50%;
 position: absolute;
 left: 0;
 top: -70px;
}
.history__era span {
 position: absolute;
 content: "";
 width: 3px;
 height: 3px;
 border-radius: 50%;
 background-color: #fff;
 top: 22px;
 right: 35px;
 -webkit-transform: translate(-50%, 0);
     -ms-transform: translate(-50%, 0);
         transform: translate(-50%, 0);
}

@media (max-width: 767px) {
 .history__era {
  width: 60px;
  height: 60px;
  font-size: 1.2rem;
  line-height: 60px;
  margin-left: 9.375%;
  margin-left: 31px;
  top: -80px;
 }
 .history__era span {
  position: absolute;
  content: "";
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background-color: #fff;
  top: 10px;
  right: 18px;
  -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
 }
}
.history__item {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 width: 100%;
}

@media (min-width: 768px) {
 .history__item {
  width: 663px;
  margin-left: 137px;
 }
}
.history__year {
 font-family: "Quattrocento", serif;
 color: #2558ad;
 font-size: 2.2rem;
 font-weight: 700;
 text-align: center;
 padding-right: 22px;
 width: 57px;
 position: relative;
 letter-spacing: 0.05em;
}

.history__year::before {
 content: "";
 display: block;
 width: 7px;
 height: 7px;
 border-radius: 2px;
 background-color: #2558ad;
 position: absolute;
 right: -4px;
 top: 14px;
}

.history__year::after {
 content: "";
 display: block;
 height: 100%;
 border-right: solid 1px #2558ad;
 position: absolute;
 right: -1px;
 top: 14px;
 opacity: 0.3;
}

@media (max-width: 767px) {
 .history__year {
  font-size: 2rem;
  margin-left: 0;
  padding-right: 0;
  width: 18.75%;
  width: 60px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: left;
 }
}
.history__year--jp {
 font-size: 1.2rem;
 display: block;
 margin-top: 10px;
}

@media (max-width: 767px) {
 .history__year--jp {
  font-size: 1.1rem;
 }
}
.history__year--noborder::after {
 display: none;
}

.history__description {
 margin-top: 10px;
 margin-left: 50px;
 width: 534px;
 padding-bottom: 20px;
 position: relative;
}

@media (max-width: 767px) {
 .history__description {
  /* width: 68.75%;
   margin-left: 12.5%; */
  width: 80%;
  margin-left: 7.5%;
 }
}
.history__description::before {
 content: "";
 display: block;
 opacity: 0.3;
 width: 24px;
 border-top: solid 1px #2558ad;
 position: absolute;
 left: -48px;
 top: 7px;
}

@media (max-width: 767px) {
 .history__description::before {
  width: 24px;
  /*     left: -18%; */
  left: -10%;
 }
}
.history__description:last-child {
 margin-bottom: 0px;
 /*   border-bottom: solid 1px #d9d9d9;*/
 padding-bottom: 20px;
}

@media (max-width: 767px) {
 .history__description:last-child {
  margin-bottom: 0px;
 }
}
.history__description--noborder {
 margin-bottom: 0 !important;
 border-bottom: none !important;
}

.history__text {
 font-weight: 500;
 margin-bottom: 30px;
 line-height: 1.875;
 letter-spacing: 0.15em;
}

.history__text::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 1.875) * .5em);
 content: "";
}

.history__text::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 1.875) * .5em);
 content: "";
}

@media (min-width: 768px) {
 .history__text--2col-pc {
  width: 310px;
  float: left;
 }
}
.history__fig {
 text-align: right;
 margin: 0 0 30px;
}

.history__img {
 max-width: 100%;
 height: auto;
}

.history__caption {
 color: #666;
 font-size: 10px;
 font-weight: 400;
 margin-top: 10px;
}

@media (max-width: 767px) {
 .history__text {
  margin-bottom: 20px;
 }

 .history__block:first-child .history__era::before {
  content: "";
  display: block;
  height: 35px;
  border-right: solid 1px #2558ad;
  position: absolute;
  /* left: 50%;*/
  left: 50%;
  /****/
  bottom: -35px;
  opacity: 0.3;
  -webkit-transform: translateX(-1px);
      -ms-transform: translateX(-1px);
          transform: translateX(-1px);
 }
}
@media (max-width: 767px) and (max-width: 500px) {
 .history__block:first-child .history__era::before {
  left: 48%;
 }
}
@media (max-width: 767px) and (max-width: 425px) {
 .history__block:first-child .history__era::before {
  left: 44.5%;
 }
}
@media (max-width: 767px) and (max-width: 375px) {
 .history__block:first-child .history__era::before {
  left: 44%;
 }
}
@media (max-width: 767px) and (max-width: 320px) {
 .history__block:first-child .history__era::before {
  left: 42%;
 }
}
.history__block .history__item:last-child .history__description {
 border-bottom: solid 1px #d9d9d9;
 margin-bottom: 70px;
}
@media (max-width: 767.9px) {
 .history__block .history__item:last-child .history__description {
  border-bottom: none;
  margin-bottom: 50px;
  border-bottom: solid 1px #d9d9d9;
  /*             &::after{
                   content: "";
      position: absolute;
      left: -50px;
      right: 0;
      bottom: 0;
      border-bottom: solid 1px #d9d9d9;
               }*/
 }
}

/*other  education subject*/
.subject-list {
 border-bottom: 1px solid #d9d9d9;
 counter-reset: number;
 list-style: none;
 position: relative;
 margin-bottom: 60px;
}
.subject-list__item {
 line-height: 1.77;
 font-size: 1.8rem;
 position: relative;
 margin-left: 80px;
 padding-bottom: 40px;
}
.subject-list__item::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 2) * .5em);
 content: "";
}
.subject-list__item::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 2) * .5em);
 content: "";
}
.subject-list__item::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 1.77) * .5em);
 content: "";
}
.subject-list__item::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 1.77) * .5em);
 content: "";
}
@media (max-width: 767.9px) {
 .subject-list__item {
  font-size: 1.4rem;
  line-height: 1.785;
  margin-left: 60px;
 }
 .subject-list__item::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 1.785) * .5em);
  content: "";
 }
 .subject-list__item::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 1.785) * .5em);
  content: "";
 }
}
.subject-list__item:not(:last-child) {
 margin-bottom: 22px;
 border-bottom: 1px solid #d9d9d9;
}
.subject-list__item span {
 position: absolute;
 left: -80px;
 top: 10px;
 width: 40px;
 height: 40px;
 text-align: center;
 background: #2558ad;
 color: #fff;
 font-size: 1.4rem;
 line-height: 40px;
 border-radius: 100%;
}
@media (max-width: 767.9px) {
 .subject-list__item span {
  left: -60px;
  top: 20%;
 }
}

/*****/
.list1l:before {
 padding-top: 0.75em;
}
@media (max-width: 767.9px) {
 .list1l:before {
  padding-top: 1.5em;
 }
}

.subjectWrap {
 margin-top: 80px;
 /*swiper*/
 /****/
}
.subjectWrap .textMb0 {
 margin-bottom: 0px;
}
.subjectWrap .subjectCaption {
 color: #666;
 font-size: 10px;
 font-weight: 400;
 margin-top: 10px;
}
.subjectWrap .textRight {
 text-align: right;
}
@media (max-width: 767.9px) {
 .subjectWrap {
  margin-top: 60px;
 }
 .subjectWrap .text {
  margin-bottom: 30px;
 }
}
.subjectWrap h2.h2 {
 border-top: 1px solid #d9d9d9;
 padding-top: 46px;
 margin-bottom: 35px;
 letter-spacing: 0.15em;
}
@media (max-width: 767.9px) {
 .subjectWrap h2.h2 {
  padding-top: 33px;
  margin-bottom: 30px;
 }
}
.subjectWrap h3.text {
 line-height: 2;
 margin-bottom: 40px;
}
.subjectWrap h3.text::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 2) * .5em);
 content: "";
}
.subjectWrap h3.text::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 2) * .5em);
 content: "";
}
@media (min-width: 768px) {
 .subjectWrap {
  /*    p.text:last-child {
      margin-bottom: 0px;
  }*/
  /*pc_043　SP＿039*/
  /*pc_045*/
  /**pcのみmargin-bottom:0:*/
 }
 .subjectWrap p.text {
  margin-bottom: 40px;
 }
 .subjectWrap__1col {
  margin-bottom: 40px;
 }
 .subjectWrap__1col img {
  width: 100%;
 }
 .subjectWrap__2col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 0px;
 }
 .subjectWrap__2col__item {
  width: 380px !important;
  margin-right: 40px;
  margin-bottom: 0px;
 }
 .subjectWrap__2col__item img {
  width: 100%;
 }
 .subjectWrap__2col__item:nth-child(even) {
  margin-right: 0px;
 }
 .subjectWrap__3col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /*3カラムはswiperなので*/
 }
 .subjectWrap__3col .swiper-wrapper {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
 }
 .subjectWrap__3col .swiper-wrapper .subjectWrap__3col__item {
  width: 250px !important;
  margin-bottom: 0px;
  margin-right: 24px;
  margin-bottom: 40px;
 }
 .subjectWrap__3col .swiper-wrapper .subjectWrap__3col__item img {
  width: 100%;
 }
 .subjectWrap__3col .swiper-wrapper .subjectWrap__3col__item:nth-child(3),
.subjectWrap__3col .swiper-wrapper .subjectWrap__3col__item:nth-child(6) {
  margin-right: 0px;
 }
 .subjectWrap .englishM_adjust {
  margin-bottom: 0px !important;
 }
}
@media (max-width: 767.9px) {
 .subjectWrap {
  /************************pcのみmargin-bottom:0:*/
 }
 .subjectWrap p.text {
  margin-bottom: 30px;
 }
 .subjectWrap__1col {
  margin-bottom: 40px;
 }
 .subjectWrap__1col img {
  width: 100%;
 }
 .subjectWrap__2col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
 }
 .subjectWrap__2col__item {
  width: 100% !important;
  margin-bottom: 30px;
  margin-right: 0px;
 }
 .subjectWrap__2col__item img {
  width: 100%;
 }
 .subjectWrap__3col__item {
  width: 100% !important;
  margin-bottom: 30px;
  margin-right: 0px;
 }
 .subjectWrap .englishM_adjust {
  margin-bottom: 30px !important;
 }
}
@media (min-width: 768px) {
 .subjectWrap .swiper-container .swiper-wrapper .swiper-slide img {
  width: 100%;
 }
 .subjectWrap .swiper-container .swiper-wrapper .swiper-pagination {
  display: none;
 }
}
@media (max-width: 767.9px) {
 .subjectWrap .swiper-pagination {
  text-align: right !important;
 }
 .subjectWrap .swiper-pagination-bullets {
  bottom: 0px !important;
 }
 .subjectWrap .swiper-container {
  margin-bottom: 40px;
 }
 .subjectWrap .swiper-container .swiper-slide {
  width: 100%;
 }
 .subjectWrap .swiper-container .swiper-slide img {
  width: 100%;
 }
 .subjectWrap .swiper-pagination-bullet {
  bottom: 0px !important;
  background: #000;
  opacity: 0.2;
 }
 .subjectWrap .swiper-pagination-bullet-active {
  background: #2558ad;
  opacity: 1;
 }
}
@media (min-width: 768px) {
 .subjectWrap .list-set2 {
  margin-bottom: 40px;
 }
}
@media (max-width: 767.9px) {
 .subjectWrap .list-set2 {
  margin-bottom: 30px;
 }
}

/**カラム内、タイトル*/
.column_in_title {
 font-size: 1.8rem;
 font-weight: 500;
 margin: 30px 0;
 margin: 20px 0;
 font-weight: 500;
 line-height: 1.8;
 letter-spacing: 0.15em;
 /*3カラムなど*/
}
.column_in_title::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 1.8) * .5em);
 content: "";
}
.column_in_title::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 1.8) * .5em);
 content: "";
}
@media (max-width: 767.9px) {
 .column_in_title {
  font-size: 1.6rem;
  margin: 16px 0;
 }
}

.column_in_title_small1 {
 font-size: 1.6rem;
 margin: 20px 0 0;
 letter-spacing: 0.15em;
 font-weight: 500;
 line-height: 1.8;
}
.column_in_title_small1::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 1.8) * .5em);
 content: "";
}
.column_in_title_small1::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 1.8) * .5em);
 content: "";
}

/*multiple マージン調整*/
@media (min-width: 768px) {
 .multiple > div:not(:last-child) {
  margin-bottom: 40px;
 }
 .multiple > div:not(:last-child) p.text {
  margin-top: 0px;
  margin-bottom: 0px;
 }
}
@media (max-width: 767.9px) {
 .multiple > div:not(:last-child) {
  /* margin-bottom: 0px;*/
 }
 .multiple > div:not(:last-child) p.text {
  margin-top: 0px;
  /*margin-bottom: 0px;*/
 }
}

/***margin調整***/
.mb0 {
 margin-bottom: 0px !important;
}
@media (max-width: 767.9px) {
 .mb0 {
  margin-bottom: 0px !important;
 }
}

@media (min-width: 768px) {
 .pc_mb0 {
  margin-bottom: 0px !important;
 }
}

@media (min-width: 768px) {
 .pc_mb1 {
  margin-bottom: 1px !important;
 }
}

@media (min-width: 768px) {
 .pc_mb25 {
  margin-bottom: 25px !important;
 }
}

@media (max-width: 767.9px) {
 .sp_mb0 {
  margin-bottom: 0px !important;
 }
}

@media (max-width: 767.9px) {
 .sp_mb40 {
  margin-bottom: 40px !important;
 }
}

@media (max-width: 767.9px) {
 .sp_mb50 {
  margin-bottom: 50px !important;
 }
}

@media (max-width: 767.9px) {
 .sp_mb25 {
  margin-bottom: 25px !important;
 }
}

.mt40 {
 margin-top: 40px !important;
}
@media (max-width: 767.9px) {
 .mt40 {
  margin-top: 30px !important;
 }
}

.mb40 {
 margin-bottom: 40px !important;
}
@media (max-width: 767.9px) {
 .mb40 {
  margin-bottom: 30px !important;
 }
}

.mb30 {
 margin-bottom: 30px !important;
}
@media (max-width: 767.9px) {
 .mb30 {
  margin-bottom: 20px !important;
 }
}

.mb15 {
 margin-bottom: 15px !important;
}

.mb20 {
 margin-bottom: 20px !important;
}
@media (max-width: 767.9px) {
 .mb20 {
  margin-bottom: 20px !important;
 }
}

.mb25 {
 margin-bottom: 25px !important;
}
@media (max-width: 767.9px) {
 .mb25 {
  margin-bottom: 15px !important;
 }
}

.mb25_2 {
 margin-bottom: 25px !important;
}
@media (max-width: 767.9px) {
 .mb25_2 {
  margin-bottom: 25px !important;
 }
}

.mb80 {
 margin-bottom: 80px !important;
}
@media (max-width: 767.9px) {
 .mb80 {
  margin-bottom: 60px !important;
 }
}

.mt30 {
 margin-top: 30px !important;
}
@media (max-width: 767.9px) {
 .mt30 {
  margin-top: 20px !important;
 }
}

.mt-10px {
 margin-top: -10px;
}

.mt-15px {
 margin-top: -15px;
}

/*flex order*/
@media (max-width: 767.9px) {
 .lower-2col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
 }

 .flexOrder0 {
  -webkit-box-ordinal-group: 1 !important;
      -ms-flex-order: 0 !important;
          order: 0 !important;
 }

 .flexOrder1 {
  -webkit-box-ordinal-group: 2 !important;
      -ms-flex-order: 1 !important;
          order: 1 !important;
 }

 .flexOrder2 {
  -webkit-box-ordinal-group: 3 !important;
      -ms-flex-order: 2 !important;
          order: 2 !important;
 }
}
/**accordion__item**/
@media (max-width: 767.9px) {
 .accordion__item {
  cursor: pointer;
  display: block;
 }

 .accordion__item__link {
  display: block;
  position: relative;
  background: url("../images/common/icon_on.png") right center no-repeat;
  background-size: 12px auto;
  padding: 25px 0;
  border-top: 1px solid #f2f2f2;
  margin-bottom: 0px;
 }

 .accordion__item__link_first {
  border-top: 1px solid #f2f2f2;
 }

 .accordion__item__link_second {
  border-bottom: 1px solid #f2f2f2;
  margin-bottom: 0px;
 }

 /*.accordion__item__link:after {
   content: '+';
   display: block;
   position: absolute;
   right: 0;
   text-align: center;
   top: 0;
 }*/
 /*.accordion__item__link.on:after {
   content: '-';
 }*/
 .on {
  background: url("../images/common/icon_off.png") right center no-repeat;
  background-size: 12px auto;
  border-bottom: none;
 }

 .sp_boder_bottom {
  border-bottom: 1px solid #f2f2f2;
 }

 .accordion__item {
  display: none;
 }
}
@media (min-width: 768px) {
 .facilities .map {
  background: url("/prim/assets/images/school-life/facilities/map_pc.jpg") center center no-repeat;
  height: 440px;
  width: 800px;
  position: relative;
 }
 .facilities .map .fa_a {
  position: absolute;
  top: 78px;
  left: 639px;
 }
 .facilities .map .fa_a img {
  width: 74px;
 }
 .facilities .map .fa_b {
  position: absolute;
  top: 64px;
  left: 277px;
 }
 .facilities .map .fa_b img {
  width: 73px;
 }
 .facilities .map .fa_c {
  position: absolute;
  top: 60px;
  left: 106px;
 }
 .facilities .map .fa_c img {
  width: 92px;
 }
 .facilities .map .fa_d {
  position: absolute;
  top: 363px;
  left: 132px;
 }
 .facilities .map .fa_d img {
  width: 92px;
 }
 .facilities .map a:hover {
  opacity: 0.3;
 }
}
@media (max-width: 767.9px) {
 .facilities .map {
  background: url("/prim/assets/images/school-life/facilities/map_sp.jpg") center center no-repeat;
  background-size: 100%;
  width: 100%;
  height: 0;
  padding-top: 68.75%;
  z-index: 1;
 }
 .facilities .map a {
  z-index: 10;
  display: inline-block;
 }
 .facilities .map .fa_a {
  position: absolute;
  top: 0;
  /* left: 79.6875%;*/
  left: 0;
  margin-top: 4.5%;
  margin-left: 79.375%;
  width: 16.5625%;
 }
 .facilities .map .fa_a img {
  width: 100%;
  height: auto;
 }
 .facilities .map .fa_b {
  position: absolute;
  top: 0;
  left: 0;
  margin-top: 4.5%;
  margin-left: 37.1875%;
  width: 16.5625%;
 }
 .facilities .map .fa_b img {
  width: 100%;
  height: auto;
 }
 .facilities .map .fa_c {
  position: absolute;
  top: 0;
  left: 0;
  margin-left: 13.125%;
  margin-top: 14.5%;
  width: 20.625%;
 }
 .facilities .map .fa_c img {
  width: 100%;
  height: auto;
 }
 .facilities .map .fa_d {
  position: absolute;
  top: 0;
  left: 0;
  margin-left: 11.125%;
  margin-top: 58%;
  width: 20.625%;
 }
 .facilities .map .fa_d img {
  width: 100%;
  height: auto;
 }
}

@media (min-width: 768px) {
 .facilities__item {
  position: relative;
 }
 .facilities__item .text_2block {
  width: 524px;
  z-index: 10;
 }
 .facilities__item .lower-3col__item {
  margin-bottom: 0px !important;
 }
}
@media (max-width: 767.9px) {
 .facilities__item .h5 {
  margin-bottom: 20px !important;
 }
 .facilities__item p {
  padding-bottom: 10px;
 }
 .facilities__item .lower-3col__item {
  margin-bottom: 0px !important;
 }
}

/****/
.field-trip-slide {
 /**/
}
@media (min-width: 768px) {
 .field-trip-slide .image01__item,
.field-trip-slide .image02__item,
.field-trip-slide .image03__item,
.field-trip-slide .image04__item,
.field-trip-slide .image05__item,
.field-trip-slide .image06__item,
.field-trip-slide .image07__item,
.field-trip-slide .image08__item {
  overflow: hidden;
  position: relative;
 }
 .field-trip-slide .image01__item img,
.field-trip-slide .image02__item img,
.field-trip-slide .image03__item img,
.field-trip-slide .image04__item img,
.field-trip-slide .image05__item img,
.field-trip-slide .image06__item img,
.field-trip-slide .image07__item img,
.field-trip-slide .image08__item img {
  position: absolute;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
 }
 .field-trip-slide .image01__item:after,
.field-trip-slide .image01-thumbs__item:after,
.field-trip-slide .image02__item:after,
.field-trip-slide .image02-thumbs__item:after,
.field-trip-slide .image03__item:after,
.field-trip-slide .image03-thumbs__item:after,
.field-trip-slide .image04__item:after,
.field-trip-slide .image04-thumbs__item:after,
.field-trip-slide .image05__item:after,
.field-trip-slide .image05-thumbs__item:after,
.field-trip-slide .image06__item:after,
.field-trip-slide .image06-thumbs__item:after,
.field-trip-slide .image07__item:after,
.field-trip-slide .image07-thumbs__item:after,
.field-trip-slide .image08__item:after,
.field-trip-slide .image08-thumbs__item:after {
  display: block;
  padding-top: 75%;
  content: "";
 }
 .field-trip-slide .image01-thumbs,
.field-trip-slide .image02-thumbs,
.field-trip-slide .image03-thumbs,
.field-trip-slide .image04-thumbs,
.field-trip-slide .image05-thumbs,
.field-trip-slide .image06-thumbs,
.field-trip-slide .image07-thumbs,
.field-trip-slide .image08-thumbs {
  width: 100%;
  padding: 12px 0 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
 }
 .field-trip-slide .image01-thumbs__item,
.field-trip-slide .image02-thumbs__item,
.field-trip-slide .image03-thumbs__item,
.field-trip-slide .image04-thumbs__item,
.field-trip-slide .image05-thumbs__item,
.field-trip-slide .image06-thumbs__item,
.field-trip-slide .image07-thumbs__item,
.field-trip-slide .image08-thumbs__item {
  overflow: hidden;
  position: relative;
  width: 86px !important;
  margin-right: 12px !important;
 }
 .field-trip-slide .image01-thumbs__item:last-child,
.field-trip-slide .image02-thumbs__item:last-child,
.field-trip-slide .image03-thumbs__item:last-child,
.field-trip-slide .image04-thumbs__item:last-child,
.field-trip-slide .image05-thumbs__item:last-child,
.field-trip-slide .image06-thumbs__item:last-child,
.field-trip-slide .image07-thumbs__item:last-child,
.field-trip-slide .image08-thumbs__item:last-child {
  margin-right: 0px !important;
 }
 .field-trip-slide .image01-thumbs__item:hover,
.field-trip-slide .image02-thumbs__item:hover,
.field-trip-slide .image03-thumbs__item:hover,
.field-trip-slide .image04-thumbs__item:hover,
.field-trip-slide .image05-thumbs__item:hover,
.field-trip-slide .image06-thumbs__item:hover,
.field-trip-slide .image07-thumbs__item:hover,
.field-trip-slide .image08-thumbs__item:hover {
  cursor: pointer;
 }
 .field-trip-slide .image01-thumbs__item.swiper-slide,
.field-trip-slide .image02-thumbs__item.swiper-slide,
.field-trip-slide .image03-thumbs__item.swiper-slide,
.field-trip-slide .image04-thumbs__item.swiper-slide,
.field-trip-slide .image05-thumbs__item.swiper-slide,
.field-trip-slide .image06-thumbs__item.swiper-slide,
.field-trip-slide .image07-thumbs__item.swiper-slide,
.field-trip-slide .image08-thumbs__item.swiper-slide {
  opacity: 0.5;
 }
 .field-trip-slide .image01-thumbs__item.swiper-slide-thumb-active,
.field-trip-slide .image02-thumbs__item.swiper-slide-thumb-active,
.field-trip-slide .image03-thumbs__item.swiper-slide-thumb-active,
.field-trip-slide .image04-thumbs__item.swiper-slide-thumb-active,
.field-trip-slide .image05-thumbs__item.swiper-slide-thumb-active,
.field-trip-slide .image06-thumbs__item.swiper-slide-thumb-active,
.field-trip-slide .image07-thumbs__item.swiper-slide-thumb-active,
.field-trip-slide .image08-thumbs__item.swiper-slide-thumb-active {
  opacity: 1;
 }
 .field-trip-slide .image01-thumbs__item img,
.field-trip-slide .image02-thumbs__item img,
.field-trip-slide .image03-thumbs__item img,
.field-trip-slide .image04-thumbs__item img,
.field-trip-slide .image05-thumbs__item img,
.field-trip-slide .image06-thumbs__item img,
.field-trip-slide .image07-thumbs__item img,
.field-trip-slide .image08-thumbs__item img {
  position: absolute;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
 }
}
@media (max-width: 767.9px) {
 .field-trip-slide {
  /*         .image01-thumbs{
          display: none!important;
      }*/
 }
 .field-trip-slide .pc {
  display: none !important;
 }
 .field-trip-slide .swiper-pagination {
  margin-top: 30px;
  text-align: right !important;
  z-index: 1000;
 }
 .field-trip-slide .swiper-pagination-bullets {
  bottom: 0px !important;
 }
 .field-trip-slide .swiper-container {
  margin-bottom: 0px;
 }
 .field-trip-slide .swiper-container .swiper-slide {
  width: 100%;
 }
 .field-trip-slide .swiper-container .swiper-slide img {
  width: 100%;
 }
 .field-trip-slide .swiper-pagination-bullet {
  bottom: 30px !important;
  background: #000;
  opacity: 0.2;
 }
 .field-trip-slide .swiper-pagination-bullet-active {
  background: #2558ad;
  opacity: 1;
 }
}

/**field-trip**/
.subjectWrap__line {
 padding-top: 50px;
 padding-bottom: 80px;
 border-top: 1px solid #d9d9d9;
}
@media (max-width: 767.9px) {
 .subjectWrap__line {
  padding-bottom: 60px;
  padding-top: 40px;
 }
}

.h3_1 {
 line-height: 80px;
 font-size: 2.2rem;
 font-weight: 400;
 letter-spacing: 0.15em;
 margin-bottom: 40px;
 padding-left: 100px;
}
@media (max-width: 767.9px) {
 .h3_1 {
  font-size: 1.8rem;
  margin-bottom: 20px;
  line-height: 60px;
  padding-left: 75px;
 }
}

.grade1 {
 background: url("/prim/assets/images/education/mind/field-trip/icon_01.png") left center no-repeat;
 background-size: 80px auto;
}
@media (max-width: 767.9px) {
 .grade1 {
  background-size: 60px auto;
 }
}

.grade2 {
 background: url("/prim/assets/images/education/mind/field-trip/icon_02.png") left center no-repeat;
 background-size: 80px auto;
}
@media (max-width: 767.9px) {
 .grade2 {
  background-size: 60px auto;
 }
}

.grade3 {
 background: url("/prim/assets/images/education/mind/field-trip/icon_03.png") left center no-repeat;
 background-size: 80px auto;
}
@media (max-width: 767.9px) {
 .grade3 {
  background-size: 60px auto;
 }
}

.grade4 {
 background: url("/prim/assets/images/education/mind/field-trip/icon_04.png") left center no-repeat;
 background-size: 80px auto;
}
@media (max-width: 767.9px) {
 .grade4 {
  background-size: 60px auto;
 }
}

.grade5 {
 background: url("/prim/assets/images/education/mind/field-trip/icon_05.png") left center no-repeat;
 background-size: 80px auto;
}
@media (max-width: 767.9px) {
 .grade5 {
  background-size: 60px auto;
 }
}

.grade6 {
 background: url("/prim/assets/images/education/mind/field-trip/icon_06.png") left center no-repeat;
 background-size: 80px auto;
}
@media (max-width: 767.9px) {
 .grade6 {
  background-size: 60px auto;
 }
}

/*school-life*/
/****/
.term_nav {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 margin-bottom: 80px;
}
.term_nav__inner {
 border: 1px solid #d9d9d9;
 border-radius: 5px;
 width: 250px;
 text-align: center;
 padding: 0 24px;
 position: relative;
 margin-right: 25px;
 margin-top: 16px;
 height: 260px;
 background: url("../images/common/btn_icn_anchor.png") right 24px bottom 24px no-repeat;
 background-size: 9px auto;
}
.term_nav__inner .num {
 top: -16px;
 left: 50%;
 transform: translateX(-50%);
 -webkit-transform: translateX(-50%);
 -ms-transform: translateX(-50%);
 line-height: 0;
 position: absolute;
}
.term_nav__inner .num img {
 width: 70px;
}
.term_nav__inner div.text {
 border-top: 1px solid #d9d9d9;
 font-size: 1.2rem;
 line-height: 2.3;
 margin-top: 74px;
 padding-top: 30px;
 text-align: left;
}
.term_nav__inner div.text::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 2.3) * .5em);
 content: "";
}
.term_nav__inner div.text::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 2.3) * .5em);
 content: "";
}
.term_nav__inner div.text span {
 padding-right: 1em;
 display: inline-block;
}
.term_nav__inner:hover {
 opacity: 0.3;
 cursor: pointer;
}
.term_nav__inner:last-child {
 margin-right: 0px;
}
@media (max-width: 767.9px) {
 .term_nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 60px;
 }
 .term_nav__inner {
  width: auto;
  margin-top: 0px;
  margin-right: 0px;
  margin-left: 20px;
  margin-bottom: 20px;
  padding: 24px 30px 24px 0px;
  height: auto;
  background: url("../images/common/btn_icn_anchor.png") right 20px bottom 20px no-repeat;
  background-size: 9px auto;
 }
 .term_nav__inner .num {
  left: -20px;
  transform: translateX(-20px);
  -webkit-transform: translateX(-20px);
  -ms-transform: translateX(-20px);
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  line-height: 0;
  position: absolute;
 }
 .term_nav__inner .num img {
  width: 53px;
 }
 .term_nav__inner div.text {
  border-top: none;
  border-left: 1px solid #d9d9d9;
  font-size: 1.2rem;
  line-height: 2.3;
  margin-top: 0px;
  margin-left: 52px;
  padding-top: 0px;
  padding-left: 30px;
 }
 .term_nav__inner div.text::before {
  display: block;
  width: 0;
  height: 0;
  margin-top: calc((1 - 2.3) * .5em);
  content: "";
 }
 .term_nav__inner div.text::after {
  display: block;
  width: 0;
  height: 0;
  margin-bottom: calc((1 - 2.3) * .5em);
  content: "";
 }
 .term_nav__inner div.text span {
  padding-right: 1em;
  display: inline-block;
 }
}

.day {
 padding-top: 100px;
}

.day__block {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -ms-flex-wrap: wrap;
     flex-wrap: wrap;
 position: relative;
}

.day__era {
 width: 115px;
 height: 115px;
 font-size: 1.8rem;
 line-height: 115px;
 letter-spacing: 0.3em;
 font-weight: 300;
 text-align: center;
 color: #fff;
 background: #2558ad;
 border-radius: 50%;
 position: absolute;
 left: 0;
 top: -70px;
}

@media (max-width: 767px) {
 .day__era {
  width: 60px;
  height: 60px;
  font-size: 1.2rem;
  line-height: 60px;
  margin-left: 9.375%;
  margin-left: 31px;
  top: -80px;
  /*        span{
  position: absolute;
  content: "";
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background-color: #fff;
  top: 10px;
  right:18px;
  transform: translate(-50%, 0);
      }*/
 }
}
.day__item {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 width: 100%;
}

@media (min-width: 768px) {
 .day__item {
  width: auto;
  margin-left: 70px;
 }
}
.day__year {
 font-family: "Quattrocento", serif;
 color: #2558ad;
 font-size: 2.2rem;
 font-weight: 700;
 text-align: right;
 padding-right: 22px;
 width: 127px;
 position: relative;
 letter-spacing: 0.05em;
}
.day__year .one-line {
 top: 7px;
 position: relative;
}

.day__year::before {
 content: "";
 display: block;
 width: 7px;
 height: 7px;
 border-radius: 50%;
 background-color: #2558ad;
 position: absolute;
 right: -4px;
 top: 14px;
}

.day__year::after {
 content: "";
 display: block;
 height: 100%;
 border-right: solid 1px #2558ad;
 position: absolute;
 right: -1px;
 top: 14px;
 opacity: 0.3;
}

@media (max-width: 767px) {
 .day__year {
  font-size: 2rem;
  margin-left: 0;
  padding-right: 0;
  width: 18.75%;
  width: 60px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: left;
 }
}
.day__year--jp {
 font-size: 1.2rem;
 display: block;
 margin-top: 10px;
}

@media (max-width: 767px) {
 .day__year--jp {
  font-size: 1.1rem;
  line-height: 1.8;
 }

 .day__year--jp2 {
  text-indent: -0.7em;
 }
}
.day__year--noborder::after {
 display: none;
}

.day__description {
 margin-top: 10px;
 margin-left: 50px;
 width: 530px;
 padding-bottom: 20px;
 position: relative;
}

@media (max-width: 767px) {
 .day__description {
  width: 68.75%;
  margin-left: 12.5%;
 }
}
.day__description::before {
 content: "";
 display: block;
 opacity: 0.3;
 width: 24px;
 border-top: solid 1px #2558ad;
 position: absolute;
 left: -48px;
 top: 7px;
}

@media (max-width: 767px) {
 .day__description::before {
  width: 24px;
  left: -18%;
 }
}
.day__description:last-child {
 margin-bottom: 75px;
 /* border-bottom: solid 1px #d9d9d9;*/
 padding-bottom: 0px;
}

@media (max-width: 767px) {
 .day__description:last-child {
  margin-bottom: 50px;
 }
}
.day__description--noborder {
 margin-bottom: 0 !important;
 border-bottom: none !important;
}

.day__text {
 font-weight: 500;
 margin-bottom: 30px;
 line-height: 1.875;
 letter-spacing: 0.15em;
}
.day__text__small {
 font-weight: 400;
 font-size: 1rem;
}

.day__text::before {
 display: block;
 width: 0;
 height: 0;
 margin-top: calc((1 - 1.875) * .5em);
 content: "";
}

.day__text::after {
 display: block;
 width: 0;
 height: 0;
 margin-bottom: calc((1 - 1.875) * .5em);
 content: "";
}

@media (min-width: 768px) {
 .day__text--2col-pc {
  width: 310px;
  float: left;
 }
}
.day__fig {
 text-align: right;
 margin: 0 0 0px;
}

.day__img {
 max-width: 100%;
 height: auto;
}

.day__caption {
 color: #666;
 font-size: 10px;
 font-weight: 400;
 margin-top: 10px;
}

@media (max-width: 767px) {
 .day__block:first-child .day__era::before {
  content: "";
  display: block;
  height: 35px;
  border-right: solid 1px #2558ad;
  position: absolute;
  left: 50%;
  bottom: -35px;
  opacity: 0.3;
  -webkit-transform: translateX(-1px);
      -ms-transform: translateX(-1px);
          transform: translateX(-1px);
 }
}
.lunch_graywrap {
 background: #f8f8f8;
 padding: 50px;
}
@media (max-width: 767.9px) {
 .lunch_graywrap {
  padding: 20px 25px;
 }
}
.lunch_graywrap_inner {
 background: #fff;
 border-radius: 4px;
 height: 210px;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 margin-bottom: 30px;
}
@media (max-width: 767.9px) {
 .lunch_graywrap_inner {
  padding: 0px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 20px;
  height: auto;
 }
}
.lunch_graywrap_inner div:first-child {
 width: 281px;
}
.lunch_graywrap_inner div:first-child img {
 width: 100%;
 border-radius: 4px 0px 0px 4px;
}
@media (max-width: 767.9px) {
 .lunch_graywrap_inner div:first-child {
  width: 100%;
 }
 .lunch_graywrap_inner div:first-child img {
  width: 100%;
  border-radius: 4px 4px 0px 0px;
 }
}
.lunch_graywrap_inner div:nth-child(2) h3 {
 font-size: 0px;
 margin: 24px 0 0 340px;
}
.lunch_graywrap_inner div:nth-child(2) h3 img {
 width: 55px;
}
@media (max-width: 767.9px) {
 .lunch_graywrap_inner div:nth-child(2) h3 {
  margin: 0 auto;
 }
}
.lunch_graywrap_inner div:nth-child(2) p {
 margin-left: 60px;
}
@media (max-width: 767.9px) {
 .lunch_graywrap_inner div:nth-child(2) {
  text-align: center;
  padding-bottom: 26px;
 }
 .lunch_graywrap_inner div:nth-child(2) h3 {
  width: 46px;
  margin: -26px auto 0 auto;
 }
 .lunch_graywrap_inner div:nth-child(2) p {
  margin: 0 auto;
  text-align: left;
  padding: 13px 18px 0 18px;
 }
}
.lunch_graywrap_inner .text1 {
 width: 176px;
}
.lunch_graywrap_inner:last-child {
 margin-bottom: 0px;
}
.lunch_graywrap_inner_text {
 -webkit-box-pack: center;
     -ms-flex-pack: center;
         justify-content: center;
 -webkit-box-align: center;
     -ms-flex-align: center;
         align-items: center;
 padding: 30px 40px 30px 0;
}
@media (max-width: 767.9px) {
 .lunch_graywrap_inner_text {
  padding: 25px 17px;
 }
}
.lunch_graywrap_inner_text .text1_wrap {
 width: 182px !important;
}
@media (max-width: 767.9px) {
 .lunch_graywrap_inner_text .text1_wrap {
  width: auto !important;
 }
}
.lunch_graywrap_inner_text .text1_wrap .v_text {
 -ms-writing-mode: tb-rl;
 -webkit-writing-mode: vertical-rl;
         writing-mode: vertical-rl;
 background: url("../images/school-life/lunch/icon_pc.png") right 27px center no-repeat;
 background-position: right top;
 font-size: 1.8rem;
 margin-left: 80px;
 margin-right: 50px;
 padding-right: 5px;
}
.lunch_graywrap_inner_text .text1_wrap .v_text_sp {
 background: url("../images/school-life/lunch/icon_sp.png") left bottom no-repeat;
 padding-bottom: 25px;
 margin-bottom: 16px;
 font-size: 1.6rem;
}
.lunch_graywrap_inner_text .text2_wrap p {
 margin-left: 0px !important;
}
@media (max-width: 767.9px) {
 .lunch_graywrap_inner_text .text2_wrap {
  padding-bottom: 0px !important;
 }
}

.syllabus-table {
 background: #f8f8f8;
 padding: 60px;
}
@media (max-width: 767.9px) {
 .syllabus-table {
  padding: 40px;
  width: 460px;
 }
}
.syllabus-table__img {
 width: 100%;
 height: auto;
}

.sitemap-title {
 width: 480px;
 margin-bottom: 40px;
}
@media (max-width: 767.9px) {
 .sitemap-title {
  width: 100%;
 }
}
.sitemap-title__link {
 display: block;
 border-bottom: solid 1px #999;
 background: url("../images/common/btn_icn_circle_arrow_blue.png") right top no-repeat;
 background-size: 28px 28px;
 padding: 5px 0 22px;
 letter-spacing: 0.15em;
 position: relative;
 font-size: 2rem;
}
@media (max-width: 767.9px) {
 .sitemap-title__link {
  font-size: 1.6rem;
  background-size: 25px 25px !important;
  padding: 5px 0 25px;
 }
}
.sitemap-title__link::before {
 content: "";
 position: absolute;
 bottom: -1px;
 right: 0;
 display: block;
 width: 0;
 height: 1px;
 background-color: #2558ad;
 -webkit-transition: all 500ms ease;
 -o-transition: all 500ms ease;
 transition: all 500ms ease;
}
.sitemap-title__link:hover {
 background: url("../images/common/btn_icn_circle_arrow_blue_on.png") right top no-repeat;
 background-size: 28px 28px;
}
.sitemap-title__link:hover::before {
 left: 0px;
 width: 100%;
}

@media (min-width: 768px) {
 .sitemap-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
 }
}
@media (min-width: 768px) {
 .sitemap-list:last-child .sitemap-list__item {
  margin-bottom: 0;
 }
}
@media (max-width: 767.9px) {
 .sitemap-list:last-child .sitemap-list__item:last-child {
  margin-bottom: 80px;
 }
}
@media (min-width: 768px) {
 .sitemap-list__item {
  width: 320px;
  margin-bottom: 60px;
 }
 .sitemap-list__item:not(:nth-of-type(3n)) {
  margin-right: 20px;
 }
}
@media (max-width: 767.9px) {
 .sitemap-list__item {
  margin-bottom: 40px;
 }
}
.sitemap-list__link {
 text-align: center;
 line-height: 80px;
 width: 100%;
 display: block;
 height: 80px;
 background: #f8f8f8;
 position: relative;
 -webkit-box-sizing: border-box;
         box-sizing: border-box;
 font-size: 1.6rem;
}
@media (max-width: 767.9px) {
 .sitemap-list__link {
  height: 60px;
  line-height: 60px;
  font-size: 1.5rem;
 }
}
.sitemap-list__link::after {
 content: "";
 width: 30px;
 height: 30px;
 background: url("../images/common/btn_icn_sq_arrow_blue.png") 0 0 no-repeat;
 background-size: cover;
 position: absolute;
 right: 0;
 bottom: 0;
 -webkit-transition: all 0.3s ease;
 -o-transition: all 0.3s ease;
 transition: all 0.3s ease;
}
.sitemap-list__link:hover::after {
 background: url("../images/common/btn_icn_sq_arrow_blue_on.png") 0 0 no-repeat;
 background-size: cover;
}