@charset "UTF-8";
/* 瀑布流布局 */
.grid {
  position: relative; }

.grid_item {
  position: absolute;
  top: 0;
  opacity: 0;
  -webkit-transition: opacity .2s, top .3s, left .3s, width .2s, height .2s;
          transition: opacity .2s, top .3s, left .3s, width .2s, height .2s; }
.grid_item:before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  content: ' ';
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  -webkit-transition: opacity .3s;
          transition: opacity .3s; }
.grid_item img {
  -webkit-transition: -webkit-transform .3s ease-in;
          transition: transform .3s ease-in; }

.grid_item:hover:before {
  opacity: 0; }
.grid_item:hover img {
  position: relative;
  z-index: 3;
  -webkit-transform: scale(1.06);
      -ms-transform: scale(1.06);
          transform: scale(1.06); }

.grid_img {
  display: block;
  width: 100%; }

html, body, .body_container {
  height: 100%;
  overflow: hidden; }

.body_container {
  overflow-y: auto;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: top center;
  background-size: cover; }

.sub_container {
  box-sizing: border-box;
  min-height: 100%;
  padding: 155px 55px 90px;
  background: rgba(0, 0, 0, 0.2); }

.sub_main {
  position: relative;
  min-height: 100%;
  padding: 30px 45px 130px 185px;
  background-color: #fff;
  background-size: 100% auto;
  background-position: no-repeat;
  background-position: top center; }

.sub_left {
  position: absolute;
  top: 30px;
  left: 0;
  width: 165px;
  text-align: right;
  color: #b39b77; }
.sub_left h2 {
  margin-bottom: 10px;
  line-height: 1.4;
  font-size: 22px;
  font-weight: normal;
  letter-spacing: .05em; }
.sub_left h3 {
  position: relative;
  line-height: 1.1;
  font-size: 36px;
  font-weight: normal;
  letter-spacing: .06em; }
.sub_left h3:before {
  position: absolute;
  right: 0;
  bottom: -64px;
  content: ' ';
  width: 51px;
  height: 51px;
  background: url(../images/icon_arrow_subleft01.png) no-repeat;
  background-size: cover; }

.sub_right {
  padding: 126px 0 30px; }
.sub_right .txt, .sub_right .txt p {
  line-height: 30px;
  font-size: 20px;
  color: #757475; }
.sub_right .txt p {
  margin-bottom: 30px; }
.sub_right .course {
  padding-top: 30px;
  margin-bottom: 60px; }
.sub_right .course .c {
  color: #b39b77; }

.guide_container .sub_right {
  padding-top: 156px; }

.team_list {
  margin-top: -15px;
  margin-right: 240px;
  margin-left: 120px; }
.team_list li {
  margin-bottom: 58px; }
.team_list .pic {
  position: relative;
  height: 330px; }
.team_list .pic img {
  display: block;
  height: 100%;
  margin: 0 auto; }
.team_list .txt {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  -webkit-transition: opacity .3s;
          transition: opacity .3s; }
.team_list .txt .des {
  position: absolute;
  top: 50%;
  left: 5%;
  width: 90%;
  text-align: center;
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%); }
.team_list .txt .des, .team_list .txt .des p {
  font-size: 18px;
  color: #fff;
  line-height: 2; }
.team_list .txt .des p {
  margin-bottom: 0; }
.team_list .name {
  padding: 14px 0;
  line-height: 1;
  text-align: center;
  font-size: 22px;
  color: #666;
  letter-spacing: .2em; }
.team_list li:hover .txt {
  opacity: 1; }

.specialty_list {
  margin-top: 20px; }
.specialty_list .title {
  line-height: 1.8;
  font-size: 20px; }
.specialty_list dl {
  margin-bottom: 20px; }
.specialty_list dt {
  margin-bottom: 15px;
  line-height: 1.2;
  font-size: 20px;
  color: #b39b77; }
.specialty_list .specialty_row {
  margin: 0 -20px; }
.specialty_list .specialty_item {
  float: left;
  width: 150px;
  margin: 0 20px 20px;
  cursor: pointer; }
.specialty_list .specialty_item .img {
  height: 150px;
  background: center no-repeat;
  background-size: cover; }
.specialty_list .specialty_item .img p {
  display: none; }
.specialty_list .specialty_item .txt {
  height: 20px;
  padding: 5px 0;
  line-height: 1;
  font-size: 20px;
  text-align: center;
  overflow: hidden; }
.specialty_list .specialty_item:hover .txt {
  color: #b39b77; }

.specialty_dialog {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100; }
.specialty_dialog .dialog_mask {
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7); }
.specialty_dialog .dialog_main {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50%;
  padding: 30px;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
.specialty_dialog .dialog_main p {
  font-size: 18px;
  line-height: 1.8;
  color: #fff; }
.specialty_dialog .dialog_main .t {
  font-size: 20px; }
.specialty_dialog .space {
  height: 15px; }

.contact_container .sub_right {
  min-height: 400px; }
.contact_container .txt {
  margin-right: 420px; }
.contact_container .map {
  position: absolute;
  top: 156px;
  right: 45px;
  width: 400px; }

/* 设计宽度 1400px */
@media screen and (max-width: 1400px) {
  .team_list {
    margin-top: -15px;
    margin-right: 140px;
    margin-left: 120px; }
  .team_list li {
    margin-bottom: 50px; } }
/* 设计宽度 960px */
@media screen and (max-width: 960px) {
  .sub_main {
    padding: 25px 35px 100px 120px; }

  .sub_left {
    top: 25px;
    width: 115px; }
  .sub_left h2 {
    margin-bottom: 10px;
    font-size: 16px; }
  .sub_left h3 {
    font-size: 24px; }
  .sub_left h3:before {
    bottom: -40px;
    width: 30px;
    height: 30px; }

  .sub_right {
    padding: 144px 0 30px; }
  .sub_right .txt, .sub_right .txt p {
    line-height: 26px;
    font-size: 18px; }
  .sub_right .pic {
    margin-top: 5px; }
  .sub_right .col {
    margin: 0 -9px; }
  .sub_right .row {
    width: 24%; }
  .sub_right .row2, .sub_right .row4 {
    width: 18%; }
  .sub_right .row3 {
    width: 40%; }
  .sub_right .img img {
    margin: 0 0 16px 0; }

  .team_list {
    margin-top: -15px;
    margin-right: 40px;
    margin-left: 20px; }
  .team_list li {
    margin-bottom: 40px; }
  .team_list .pic {
    height: 330px; }
  .team_list .txt .des, .team_list .txt .des p {
    font-size: 14px;
    line-height: 1.8; }
  .team_list .name {
    padding: 14px 0;
    font-size: 20px; } }
/* 设计宽度 800px */
@media screen and (max-width: 800px) {
  .sub_container {
    padding-top: 215px; } }
/* 设计宽度 750px */
@media screen and (max-width: 750px) {
  .sub_container {
    padding: 90px 3% 0; }

  .sub_main {
    padding: 25px 35px; }

  .sub_left {
    position: static;
    width: 150px; }
  .sub_left h2 {
    font-size: 28px; }
  .sub_left h3 {
    font-size: 30px; }

  .sub_right {
    padding: 60px 0 0 0; }
  .sub_right .txt, .sub_right .txt p {
    line-height: 1.8;
    font-size: 24px; }

  .specialty_list .title {
    line-height: 1.8;
    font-size: 26px; }
  .specialty_list dt {
    font-size: 24px; }
  .specialty_list .specialty_item {
    width: 44%;
    margin: 0 3% 3%; }
  .specialty_list .specialty_item .img {
    height: 300px; }
  .specialty_list .specialty_item .txt {
    height: auto;
    line-height: 1.4;
    font-size: 24px; }

  .specialty_dialog .dialog_main {
    width: 70%; }
  .specialty_dialog .dialog_main p {
    font-size: 24px; }
  .specialty_dialog .dialog_main .t {
    font-size: 26px; }
  .specialty_dialog .space {
    height: 30px; }

  .guide_container .sub_right {
    padding-top: 60px; }

  .team_container .sub_left {
    width: 200px; }
  .team_container .sub_right {
    padding-top: 70px; }
  .team_container .team_list {
    margin: 0; }
  .team_container .team_list .txt .des p {
    font-size: 24px;
    line-height: 1.6; }

  .contact_container .sub_left {
    width: 200px; }
  .contact_container .sub_right {
    padding: 60px 40px 0; }
  .contact_container .sub_right .txt {
    margin: 0 0 30px 0; }
  .contact_container .sub_right .txt p {
    margin-bottom: 15px;
    line-height: 1.6;
    font-size: 26px; }
  .contact_container .sub_right .map {
    position: static;
    width: auto;
    max-width: 100%; } }
