html {
  background-position: 50% -4px;
}
/* ==========================================================================
                          mainv
   ========================================================================== */
.mainv_page_photo {
  background-image: url(../img/education/mainv-v2.jpg);
}

@keyframes catch {
  0% {
    bottom: 10px;
    opacity: 0;
  }
  100% {
    bottom: 40px;
    opacity: 1;
  }
}

@keyframes catchSP {
  0% {
    bottom: -120px;
    opacity: 0;
  }
  100% {
    bottom: -90px;
    opacity: 1;
  }
}


/* ==========================================================================
                          educationBox
   ========================================================================== */
.educationBox_inner .catch01 {
  margin: 0 0 90px 0;
}

/* ========== e-headArea ========== */
.e-headArea {
  position: relative;
  z-index: 2;
}
.e-headArea_photo {
  max-width: 712px;
  width: 75%;
}
.e-headArea_txt {
  position: absolute;
  width: 100%;
  left: 9px;
  top: 6px;
}
.e-headArea_txt .txt01 {
  margin: 0 25px 0 0;
  letter-spacing: 3px;
  width: 14px;
  line-height: 1.22;
}
.e-headArea_txt .txt02_col {
  font-size: 30px;
  line-height: 1;
}
.e-headArea_txt .txt02_col + .txt02_col {
  margin-top: 30px;
}

/* ========== e-descArea ========== */
.e-descArea {
  /* height: 340px; */
  /* padding-top: 60px; */
  background: url(../img/home/bg1.png) 0 0 repeat;
  position: relative;
  /* top: -60px; */
  /* margin: 0 0 40px 0; */
  margin: 0 0 102px 248px;
  padding: 56px 20px 41px 45px;
}
.e-descArea_wt {
  /* width: 96%; */
  /* margin: 0 auto; */
  /* height: 100%; */
}
.e-descArea_list {
  /* margin-left: 15px; */
}
.e-descArea_list dt {
  float: left;
  width: 140px;
  padding: 0 43px 0 0;
  font-size: 20px;
  color: #3E3A39;
  line-height: 20px;
  letter-spacing: 3px;
  margin: 0 35px 12px 0;
  position: relative;
}
.e-descArea_list dt::after {
  content: "";
  display: block;
  width: 43px;
  height: 2px;
  border-top: 2px dotted #3e3a39;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translate(0,-50%);
  -moz-transform: translate(0,-50%);
  -ms-transform: translate(0,-50%);
  -o-transform: translate(0,-50%);
  transform: translate(0,-50%);
}
.e-descArea_list dd {
  line-height: 20px;
  margin: 0 0 12px;
  color: #3E3A39;
  float: left;
  font-weight: 400;
}
.e-descArea_list dt + dd + dt {
  clear: both;
}

/* ========== e-introArea ========== */
.e-introArea {
  margin: 0 0 40px 0;
}
.e-introArea_list li {
  width: 45%;
  padding: 0 0 70px 0;
  float: left;
}
.e-introArea_list li:nth-child(even) {
  float: right;
}
.e-introArea_ttl {
  display: block;
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: 400;
}

/* ========== e-featureArea ========== */
.e-featureArea_photo {
  margin: 0 0 100px;
  text-align: center;
}

.e-f-col_r .e-f-col_photo {
  float: right;
}
.e-f-col_r .e-f-col_txt {
  float: left;
}
.e-f-col_l .e-f-col_photo {
  float: left;
}
.e-f-col_l .e-f-col_txt {
  float: right;
}

.e-f-col_photo {
  width: 53.6%;
  max-width: 510px;
}
.e-f-col_txt {
  width: 41%;
  max-width: 390px;
  margin: 28px 0 0;
}
.e-f-col_ttl {
  font-size: 20px;
  display: block;
  margin: 0 0 25px 0;
}
.e-f-col_ttl small {
  font-size: 10px;
  display: block;
  margin: 5px 0 0;
  font-family: 'Overpass', sans-serif;
}
.e-f-col_txt_02 {
  line-height: 26px;
}
.ls0 {
  letter-spacing: 0;
  font-size: 18px;
}

.e-f-col {
  position: relative;
  padding: 0 0 70px;
  margin: 0 0 70px;
}
.e-f-col::before {
  content: "";
  position: absolute;
  display: block;
  background-color: #006747;
  z-index: 1;
  width: 200px;
  height: 1px;
  bottom: 0;
}
.e-f-col_r::before {
  left: 0;
}
.e-f-col_l::before {
  right: 0;
}
.e-f-col_last {
  position: relative;
  padding: 0 0 0;
  margin: 0 0 100px;
}
.e-f-col_last::before {
  content: none;
}


/* ==========================================================================
                          sp
   ========================================================================== */
@media screen and (max-width: 1024px) and (orientation: portrait) ,screen and (max-width: 838px) and (orientation: landscape) {
  /* ==========================================================================
                            educationBox
     ========================================================================== */
  body {
    -ms-overflow-x: hidden;
        overflow-x: hidden;
  }
  .educationBox_inner .catch01 {
    margin: 0 10px 50px;
  }

  /* ========== e-headArea ========== */
  .e-headArea {
    position: relative;
    z-index: 2;
  }
  .e-headArea_photo {
    max-width: 100%;
    width: 100%;
    margin: 0 0 15px;
    float: none;
  }
  .e-headArea_txt {
    position: relative;
    width: 100%;
    left: 0;
    top: 0;
  }
  .e-headArea_txt .txt01 {
    margin: 0 0 0 0;
    letter-spacing: 0;
    text-align: center;
    float: none;
    width: auto;
    line-height: 1.6;
  }
  .e-headArea_txt .txt02 {
    float: none;
    margin: 10px 0 50px;
  }
  .e-headArea_txt .txt02_col {
    font-size: 15px;
    line-height: auto;
    text-align: center;
  }
  .e-headArea_txt .txt02_col + .txt02_col {
    margin-top: 30px;
  }

  /* ========== e-descArea ========== */
  .e-descArea {
    height: auto;
    padding-top: 0;
    position: relative;
    top: 0;
    margin: 0 0 40px 0;
    padding: 0;
  }
  .e-descArea::before {
    content: "";
    background: url(../img/home/bg1.png) 0 0 repeat;
    background-size:  14px auto;
    display: block;
    position: absolute;
    /* width: 108%; */
    /* height: calc(100% + 30px); */
    left: -4%;
    top: -15px;
    bottom:  -15px;
    left: -4%;
    right: -4%;
    z-index: -1;
  }
  .e-descArea_wt {
    width: 100%;
    height: 100%;
    padding: 45px 25px;
    background: #FFF;
  }
  .e-descArea_list {
    margin-left: 0;
  }
  .e-descArea_list dt {
    float: left;
    width: 65px;
    padding: 0 14px 0 0;
    font-size: 13px;
    color: #3E3A39;
    line-height: 20px;
    letter-spacing: 1px;
    margin: 0 15px 15px 0;
    position: relative;
  }
  .e-descArea_list dt::after {
    content: "";
    display: block;
    width: 14px;
    height: 2px;
    border-top: 2px dotted #3e3a39;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translate(0,-50%);
    -moz-transform: translate(0,-50%);
    -ms-transform: translate(0,-50%);
    -o-transform: translate(0,-50%);
    transform: translate(0,-50%);
  }
  .e-descArea_list dd {
    line-height: 20px;
    margin: 0 0 15px;
    width: calc(100% - 80px);
    color: #3E3A39;
    float: left;
    font-weight: 400;
  }
  .e-descArea_list dt + dd + dt {
    clear: both;
  }

  /* ========== e-introArea ========== */
  .e-introArea {
    margin: 0 0 50px 0;
    padding: 0 10px;
  }
  .e-introArea_list li {
    width: 100%;
    padding: 25px 0 0;
    margin: 25px 0 0;
    float: none;
    position: relative;
  }
  .e-introArea_list li + li::before {
    content: "";
    display: block;
    width: 54px;
    height: 1px;
    background: #006747;
    position: absolute;
    top: 0;
    left: 0;
  }
  .e-introArea_list li:nth-child(even) {
    float: none;
  }
  .e-introArea_ttl {
    display: block;
    margin-bottom: 15px;
    font-size: 14px;
    font-weight: 400;
  }

  /* ========== e-featureArea ========== */
  .e-featureArea_photo {
    margin: 0 -4% 25px;
    text-align: center;
  }
  .e-featureArea_photo img {
    /* width: 110%; */
    /* max-width: 110%; */
    /* height: auto; */
    /* position: relative; */
    /* left: -5%; */
  }
  .e-feature_lineBg {
    position: relative;
    margin: 0 0 75px;
  }
  .e-feature_lineBg::before {
    content: "";
    background: url(../img/home/bg1.png) 0 0 repeat;
    background-size: 14px;
    display: block;
    position: absolute;
    /* width: 110%; */
    /* height: calc(100% + 50px); */
    left: -4%;
    right: -4%;
    top: -25px;
    bottom: -25px;
    z-index: -1;
  }
  .e-feature_lineBg .e-f-col_ttl {
    padding: 25px 0 0;
  }

  .e-f-col_r .e-f-col_photo {
    float: right;
    padding: 0 10px 0;
  }
  .e-f-col_r .e-f-col_txt {
    float: left;
    padding: 0 10px;
  }
  .e-f-col_l .e-f-col_photo {
    float: left;
    padding: 0 10px;
  }
  .e-f-col_l .e-f-col_txt {
    float: right;
    padding: 0 10px;
  }

  .e-f-col_photo {
    width: calc(100% - 30px);
    max-width: 100%;
    margin: 0 15px;
  }
  .e-f-col_txt {
    width: 100%;
    max-width: 100%;
    margin: 0 0 25px;
  }
  .e-f-col_ttl {
    font-size: 14px;
    display: block;
    margin: 0 0 20px 0;
  }
  .e-f-col_ttl small {
    font-size: 10px;
    display: block;
    margin: 5px 0 0;
  }
  .e-f-col_txt_02 {
    line-height: 20px;
  }
  .ls0 {
    letter-spacing: 0;
    font-size: 14px;
  }

  .e-f-col {
    position: relative;
    padding: 0 0 0;
    margin: 0 0 50px;
  }
  .e-f-col::before {
    content: none;
    position: absolute;
    display: block;
    background-color: #006747;
    z-index: 1;
    width: 200px;
    height: 2px;
    bottom: 0;
  }
  .e-f-col_r::before {
    left: 0;
  }
  .e-f-col_l::before {
    right: 0;
  }
  .e-f-col_last {
    position: relative;
    padding: 0 0 0;
    margin: 0 0 45px;
  }
  .e-f-col_last::before {
    content: none;
  }
}
