@charset "utf-8";
main {
  padding-bottom: 0;
}
/* ===============================================
# 共通
=============================================== */
.top_link {
  max-width: 412px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 20px;
}
.top_link .box_text {
  line-height: 1.625;
  text-align: center;
  padding: 20px 4% 20px;
}
.top_link .box_text .ttl {
  position: relative;
  display: inline-block;
  padding: 0 23px;
  font-size: 22px;
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
  font-family: "游明朝体", "Yu Mincho", "ヒラギノ明朝Pro", "Hiragino Mincho Pro",
    YuMincho, serif;
  line-height: 1.2;
  margin-bottom: 33px;
}
.top_link .box_text .ttl::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0.5em;
  width: 8px;
  height: 11px;
  background: url(/common/img/ico_arrow_b.svg) no-repeat center center;
  background-size: contain;
}
.top_link .box_text .ttl::after {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -20px;
  margin: 0 auto;
  content: "";
  display: block;
  width: 75%;
  height: 1px;
  background-color: #000;
}
.top_link .box_text .txt {
  text-align: left;
}
@media screen and (min-width: 769px) {
  .top_link a:hover {
    opacity: 1;
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
  }
}
@media screen and (max-width: 768px) {
  .top_link {
    max-width: inherit;
    margin-bottom: 18px;
  }
  .top_link .box_text {
    line-height: 1.625;
    text-align: center;
    padding: 0;
  }
  .top_link .box_text .ttl {
    padding: 0 20px 0 0;
    font-size: 18px;
    font-size: 1.8rem;
    margin-bottom: 20px;
  }
  .top_link .box_text .ttl::after {
    bottom: -12px;
    margin: 0 auto;
    width: 59%;
  }
}
/* ===============================================
# area_main
=============================================== */
.area_main {
  position: relative;
  background: url(/academy/img/bg_main.jpg) no-repeat center center;
  background-size: cover;
  padding-top: 47.1vw;
  margin-bottom: 21.68%;
}
.area_main .ttl {
  position: absolute;
  left: 0;
  right: 0;
  top: 6.5vw;
  margin: 0 auto;
  color: #fff;
  text-align: center;
}
.area_main .ttl h2 {
  display: inline-block;
  padding: 0 25px 1.2vw;
  border-bottom: solid 1px #fff;
  font-size: 50px;
  font-size: 2.778vw;
  line-height: 1;
}
.area_main .ttl h2 span {
  display: block;
  margin-bottom: 0.83vw;
  font-size: 28px;
  font-size: 1.556vw;
  letter-spacing: 0.2em;
}
.area_main .ttl .lead {
  padding-top: 0.5vw;
  font-size: 23px;
  font-size: 1.278vw;
  line-height: 1.435;
  letter-spacing: 0.05em;
}
.area_main figure {
  width: 88.31%;
  max-width: 1413px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  -webkit-transform: translateY(66%);
  transform: translateY(66%);
}

@media screen and (max-width: 768px) {
  .area_main {
    background-image: url(/academy/img/bg_main_sp.jpg);
    padding-top: 84.93%;
    margin-bottom: 45.7%;
  }
  .area_main .ttl {
    top: 12%;
  }
  .area_main .ttl h2 {
    padding: 0 13.5px 2.4vw;
    font-size: 25px;
    font-size: 6.667vw;
  }
  .area_main .ttl h2 span {
    margin-bottom: 1.6vw;
    font-size: 14px;
    font-size: 3.733vw;
  }
  .area_main .ttl .lead {
    padding-top: 0.5vw;
    font-size: 12.5px;
    font-size: 3.333vw;
    line-height: 1.435;
  }
  .area_main figure {
    width: 100%;
    -webkit-transform: translateY(66%);
    transform: translateY(66%);
  }
}
/* ===============================================
# sec_link
=============================================== */
.sec_link {
  padding-bottom: 50px;
}
.sec_link .lead {
  margin-bottom: 40px;
  text-align: center;
  line-height: 1.625;
}
.sec_link .cmn_link_menu .box_text {
  padding: 18px 2% 20px;
}
.sec_link .cmn_link_menu .box_text .ttl::after {
  background-color: #000;
}
@media screen and (max-width: 768px) {
  .sec_link {
    padding-bottom: 20px;
  }
  .sec_link .inner {
    width: 100%;
  }
  .sec_link .lead {
    margin-bottom: 25px;
    font-size: 14px;
    line-height: 1.536;
  }
  .cmn_link_menu.col3 figure {
    width: 54.4%;
  }
  .cmn_link_menu.col3 .box_text {
    padding: 5px 8px 0 12px;
  }
}
/* ===============================================
# sec_school
=============================================== */
.sec_school {
  background-color: #fff;
  padding-top: 26px;
}
@media screen and (max-width: 768px) {
  .sec_school {
    padding-top: 35px;
  }
}
/* ===============================================
# sec_management
=============================================== */
.sec_management {
  text-align: center;
  padding-bottom: 50px;
  background-color: #fff;
}
.sec_management a{
  background-color: #fdfbf5;
}
@media screen and (max-width: 768px) {
  .sec_management {
    padding-bottom: 0px;
  }
}

/* ===============================================
# sec_exlink
=============================================== */
.sec_exlink {
  background-color: #fff;
  padding-top: 40px;
  padding-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .sec_exlink {
    padding-top: 25px;
    padding-bottom: 25px;
  }
}


/* ===============================================
# ハラスメント
=============================================== */

.sec_harassment .box_item.no1 {
  width: 33%;
  padding-right: 1%;
  border-right: dotted 1px #d2e0ef;
}
.sec_harassment .box_item.no2 {
  width: 67%;
  padding-left: 1%;
}
@media screen and (max-width: 1300px) {
  .sec_harassment {
    display: block;
  }
  .sec_harassment .box_item::after {
    content: "";
    clear: both;
    display: block;
  }
  .sec_harassment .box_item {
    display: block;
  }
  .sec_harassment .box_item.no1 {
    width: 100%;
    padding-left: 0;
    border-right: none;
  }
  .sec_harassment .box_item.no2 {
    width: 100%;
    padding-left: 0;
    margin-top: 33px;
  }
}
/*番号*/
.sec_harassment .no {
  padding-right: 20px;
}
.sec_harassment .no p {
  width: 108px;
  height: 108px;
  display: -webkit-box;
  display: -ms-flex;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #d2e0ef;
  border-radius: 50%;
  color: #004ea1;
  font-size: 48px;
  font-size: 4.8rem;
  font-family: "Roboto", sans-serif;
  font-style: italic;
}
@media screen and (max-width: 768px) {
  .sec_harassment .no {
    float: left;
    padding-right: 10px;
  }
  .sec_harassment .no p {
    width: 81px;
    height: 81px;
    font-size: 36px;
    font-size: 3.6rem;
  }
}
/*テキスト*/
.sec_harassment .box_right {
  flex: 1;
}
.sec_harassment .ttl_top {
  line-height: 1.5;
  padding-top: 15px;
  margin-bottom: 34px;
  letter-spacing: -0.02em;
}
.sec_harassment .ttl_top .large {
  font-size: 27px;
  font-size: 2.7rem;
  font-weight: bold;
}
.sec_harassment .ttl_top .small {
  font-weight: bold;
}
.sec_harassment .ttl_top .middle {
  font-size: 22px;
  font-size: 2.2rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .sec_harassment .ttl_top {
    float: right;
    width: calc(100% - 91px);
    padding-top: 12px;
    margin-bottom: 17px;
  }
  .sec_harassment .ttl_top .large {
    font-size: 20px;
    font-size: 2rem;
  }
  .sec_harassment .ttl_top .middle {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
  }
  .sec_harassment .text {
    clear: both;
  }
}
/*画像*/
.sec_harassment figure {
  max-width: 500px;
  text-align: center;
  margin-bottom: 26px;
}
.sec_harassment img {
  width: 63.6%;
  max-width: 191px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .sec_harassment figure {
    float: right;
    width: calc(100% - 91px);
    max-width: inherit;
    margin-bottom: 10px;
  }
  .sec_harassment img {
    width: 54.8%;
    max-width: 286px;
  }
}
/*水色のボックス*/
.sec_harassment .box_text {
  max-width: 500px;
  margin-bottom: 37px;
  padding: 39px 7%;
  line-height: 1.5;
  background-color: #f1f6fc;
  color: #004ea1;
  border: solid 1px #387dc6;
  border-radius: 33px;
}
@media screen and (max-width: 768px) {
  .sec_harassment .box_text {
    float: right;
    width: calc(100% - 91px);
    max-width: inherit;
    margin-bottom: 15px;
    padding: 17px 5%;
    line-height: 1.385;
    border-radius: 15px;
  }
}
/*アンカーリンク*/
.sec_harassment .box_anclink a {and (max-width:
  padding: 32px 0;
  border: solid 1px #cecece;
  text-align: center;
  line-height: 1;
  font-weight: 500;
  background: url(/common/img/ico_down.svg) no-repeat right 20px center;
  background-size: 11px 8px;
}
.sec_harassment .box_anclink li:nth-child(n + 2) {
  margin-top: 10px;
}
@media screen and (max-width: 1300px) {
  .sec_harassment .box_anclink {
    max-width: 500px;
    display: -webkit-box;
    display: -ms-flex;
    display: -webkit-flex;
    display: flex;
  }
  .sec_harassment .box_anclink li {
    width: 49%;
  }
  .sec_harassment .box_anclink li:nth-child(n + 2) {
    margin: 0 0 0 1%;
  }
}
@media screen and (max-width: 768px) {
  .sec_harassment .box_anclink {
    width: 100%;
    max-width: inherit;
  }
  .sec_harassment .box_anclink {
    max-width: inherit;
  }
  .sec_harassment .box_anclink a {
    padding: 18px 0;
    background-position: right 10px center;
    background-size: 7px 5px;
  }
}
/*申し立て*/
.box_allegation {
  margin-top: 47px;
}
.box_allegation .ttl {
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 22px;
  font-size: 2.2rem;
}
.box_allegation .box_flow {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.box_allegation dl {
  width: 31.2%;
  padding: 25px 2%;
  border-radius: 33px;
  background-color: #387dc6;
  color: #fff;
}
.box_allegation dl dt {
  margin-bottom: 20px;
  line-height: 1.2;
  text-align: center;
  font-weight: bold;
  font-size: 20px;
  font-size: 2rem;
}
.box_allegation dl dd p {
  line-height: 1.5;
}
.box_allegation dl dd p:nth-child(n + 2) {
  margin-top: 10px;
  padding-top: 37px;
  background: url(/about/effort/harassment/img/ico_flow.svg) no-repeat top
    center;
  background-size: 33px 27px;
}
@media screen and (max-width: 1000px) {
  .box_allegation .box_flow {
    display: block;
  }
  .box_allegation dl {
    width: 100%;
  }
  .box_allegation dl:nth-child(n + 2) {
    margin-top: 10px;
  }
}
@media screen and (max-width: 768px) {
  .box_allegation {
    margin-top: 24px;
  }
  .box_allegation .ttl {
    margin-bottom: 10px;
    font-size: 15px;
    font-size: 1.5rem;
  }
  .box_allegation dl {
    padding: 15px 4%;
    border-radius: 25px;
  }
  .box_allegation dl dt {
    margin-bottom: 15px;
    font-size: 15px;
    font-size: 1.5rem;
  }
  .box_allegation dl dd p:nth-child(n + 2) {
    margin-top: 8px;
    padding-top: 28px;
    background-size: 25px 20.5px;
  }
}
