/*(@) Powered By Critical Truesun */
html, body {
  height: auto; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

fieldset, img {
  border: 0;
  display: block; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

ol, ul {
  list-style: none;
  list-style-type: none; }

caption, th {
  text-align: left; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

q:before, q:after {
  content: ''; }

abbr, acronym {
  border: 0; }

a {
  outline: none;
  /* for Firefox */
  hlbr: expression(this.onFocus=this.blur());
  /* for IE */
  cursor: pointer; }

a:link, a:visited, a:hover, a:active {
  text-decoration: none; }

input {
  border: none;
  border-radius: 0;
  -webkit-appearance: none; }

@font-face {
  font-family: 'Noto Serif SC';
  src: local("NotoSerifSC-Bold"), url("/fonts/NotoSerifSC-Bold.otf");
  font-weight: bold; }

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0; }

html[xmlns] .clearfix {
  display: block; }

* html .clearfix {
  height: 1%; }

body {
  font-family: "PingFang SC","Hiragino Sans GB","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;
  font-size: 16px;
  font-size: 100%;
  color: #555;
  background-color: #fff; }

input, textarea, select {
  font-family: "PingFang SC","Hiragino Sans GB","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;
  color: #555; }

.btn {
  font-family: "PingFang SC","Hiragino Sans GB","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;
  color: #eee;
  background: #99C843;
  border-radius: 0;
  padding: 6px 13px;
  display: inline-block;
  border: none;
  -webkit-appearance: none;
  cursor: pointer;
  transition: background .3s;
  vertical-align: middle; }
  .btn:hover {
    background: #971527; }

.btn-canel {
  font-family: "PingFang SC","Hiragino Sans GB","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;
  color: #555;
  background: #ccc;
  border-radius: 0;
  padding: 6px 13px;
  display: inline-block;
  border: none;
  -webkit-appearance: none;
  cursor: pointer;
  transition: background .3s;
  vertical-align: middle; }
  .btn-canel:hover {
    background: #bcbcbc; }

.overlay {
  width: 100%;
  height: 100%;
  background-image: url(/img/mask.png);
  position: fixed;
  z-index: 1001; }

.wrap {
  width: 1000px;
  margin: 0 auto;
  position: relative; }

.top-space {
  padding: 80px 0 0 0; }

.door-left, .door-right {
  width: 120px;
  height: 600px; }

.door-left {
  position: absolute;
  top: -46px;
  left: -130px;
  z-index: 999; }

.door-right {
  position: absolute;
  top: -46px;
  right: -130px;
  z-index: 999; }

.ad-txt {
  width: 1000px;
  padding: 8px 0;
  margin: 0 auto; }
  .ad-txt a {
    width: 306px;
    padding: 8px;
    margin: 0 17px 0 0;
    display: block;
    float: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
    .ad-txt a:hover {
      background: #222; }
  .ad-txt a.last {
    margin: 0; }

.mid-ad {
  width: 1000px;
  margin: 15px 0; }

@keyframes bounce {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0); } }

.loading {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.9);
  z-index: 1001;
  display: none; }

.loading-box {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: 0 auto;
  text-align: center; }
  .loading-box img {
    position: relative;
    width: 100px; }

.overflow {
  overflow: hidden; }

select {
  border-radius: 0px;
  -webkit-appearance: none;
  background-image: url(/img/arrow_down.svg);
  background-position: 95% center;
  background-size: 4%;
  background-repeat: no-repeat; }

.header {
  width: 200px;
  min-height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  padding-top: 1.5rem;
  background: #fff;
  box-shadow: 0 2px 4px;
  box-sizing: border-box; }

.logo {
  width: 135px;
  margin: 0 auto;
  display: block; }

.nav {
  width: 100%;
  text-align: center;
  margin-top: 1rem; }
  .nav li {
    padding: 1rem 0;
    position: relative; }
  .nav a {
    color: #717171;
    transition: .3s;
    position: relative;
    display: block;
    padding: .3rem; }
    .nav a:hover {
      color: #99C843;
      transition: .3s; }
    .nav a.act {
      color: #238E42; }
      .nav a.act:before {
        content: '';
        width: 10px;
        height: 100%;
        background-color: #238E42;
        position: absolute;
        top: 0;
        left: 0; }
  .nav p:first-child {
    font-weight: bolder;
    font-size: 18px; }
  .nav p:nth-child(2) {
    font-size: 12px; }
  .nav .footer p {
    font-size: 12px;
    font-weight: normal; }
  .nav button {
    width: 4.6rem;
    display: block;
    margin: 8px auto;
    padding: 5px 0;
    background-color: #fff;
    border: 1px solid #238E42;
    color: #238E42;
    transition: .3s;
    cursor: pointer; }
    .nav button:hover, .nav button.act {
      background-color: #238E42;
      color: #fff;
      transition: .3s; }

.m-nav, .m-logo {
  display: none; }

.all-wrap {
  width: calc(100% - 200px);
  position: relative;
  left: 200px;
  top: 0; }

.wrap {
  width: 100%;
  margin: 0 auto;
  padding: 0 5%;
  box-sizing: border-box; }

.block-tit {
  text-align: center;
  padding: 70px 0 80px;
  font-size: 60px;
  color: #238E42; }
  .block-tit img {
    margin: 0 auto;
    width: 28px; }

.w100.w100 {
  width: 100% !important; }

.error.error.error.error {
  color: #CF4545; }

.index {
  width: 100%;
  height: 100vh;
  background: url(/img/index.jpg) center center no-repeat;
  background-size: cover; }
  .index .mask {
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    position: absolute;
    left: 0; }

.slogan {
  font-size: 40px;
  position: absolute;
  bottom: 10%;
  left: 5%;
  color: #fff; }
  .slogan em {
    font-size: 60px; }

.about-intro {
  margin: 0 auto;
  font-size: 24px;
  color: #238E42;
  letter-spacing: 5px;
  padding-bottom: 100px; }
  .about-intro h3 {
    text-align: center; }
  .about-intro em {
    background-image: linear-gradient(to top, rgba(153, 200, 67, 0.5) 50%, rgba(0, 0, 0, 0) 50.1%);
    background-position: left 0 bottom 0; }

.about-inner-tit {
  position: relative; }
  .about-inner-tit h4 {
    font-size: 42px;
    font-weight: lighter;
    position: relative;
    padding-left: 1.5rem;
    width: 23%;
    display: inline-block;
    vertical-align: middle; }
    .about-inner-tit h4:before {
      content: '';
      width: 10px;
      height: 42px;
      background: #238E42;
      box-shadow: 0 2px 4px;
      display: block;
      position: absolute;
      top: 10px;
      left: 0; }
  .about-inner-tit em {
    font-size: 20px;
    letter-spacing: 2px;
    color: #238E42;
    display: inline-block;
    vertical-align: middle; }
  .about-inner-tit.service-inner-tit h4 {
    width: 100%; }
    .about-inner-tit.service-inner-tit h4:before {
      height: 100px; }
  .about-inner-tit.service-inner-tit p:first-child {
    color: #555;
    font-weight: normal;
    padding-top: 1rem; }

.about-inner-cont {
  width: 100%;
  margin: 4rem 0;
  text-align: center; }
  .about-inner-cont li {
    display: inline-block;
    vertical-align: top;
    width: 30%;
    text-align: center;
    transition: .3s ease; }
    .about-inner-cont li:hover img {
      transition: .3s ease;
      transform: translateY(-10px); }
  .about-inner-cont img {
    display: inline-block;
    vertical-align: middle;
    margin-bottom: .5rem;
    height: 90px; }
  .about-inner-cont h5 {
    font-size: 20px;
    color: #238E42;
    line-height: 3rem; }
  .about-inner-cont p {
    width: 78%;
    margin: 0 auto;
    text-align: left; }
  .about-inner-cont.about-idea li {
    display: inline-block;
    vertical-align: top;
    width: calc(95%/2);
    text-align: left;
    transition: .3s ease; }
    .about-inner-cont.about-idea li:hover img {
      transition: .3s ease;
      transform: translateY(-10px); }
  .about-inner-cont.about-idea img {
    width: 160px;
    display: inline-block;
    vertical-align: middle;
    position: relative;
    transition: .8s;
    height: inherit; }
  .about-inner-cont.about-idea div {
    width: 55%;
    display: inline-block;
    vertical-align: middle;
    text-align: left;
    margin-bottom: 2rem;
    padding-left: 1.5rem; }
    .about-inner-cont.about-idea div h5 {
      font-size: 40px;
      color: #238E42;
      line-height: 5rem; }
    .about-inner-cont.about-idea div p {
      width: 83%;
      margin: 0; }

.about-note {
  color: #238E42;
  font-size: 18px; }
  .about-note p {
    width: 60%;
    margin-top: 4rem;
    margin-bottom: 1rem;
    text-align: center; }

.focus {
  background-image: url(/img/bg_focus.jpg);
  background-size: cover;
  background-position: center;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  color: #fff;
  padding-bottom: 4rem; }
  .focus .block-tit {
    color: #fff;
    z-index: 2;
    position: relative; }
    .focus .block-tit img {
      height: inherit !important; }
  .focus .mask {
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.45);
    position: absolute;
    left: 0;
    z-index: 1; }

.focus-grid {
  width: 48%;
  display: inline-block;
  vertical-align: top;
  text-align: center;
  z-index: 2;
  position: relative; }
  .focus-grid .about-inner-tit {
    color: #fff;
    text-align: left; }
    .focus-grid .about-inner-tit h4 {
      width: 100%; }
    .focus-grid .about-inner-tit h4:before {
      box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); }
  .focus-grid ul {
    width: 90%;
    text-align: left;
    transition: .3s;
    box-sizing: border-box;
    padding: 10px 30px;
    background: rgba(0, 0, 0, 0);
    border: 1px solid rgba(255, 255, 255, 0);
    margin: 1.7rem 0; }
    .focus-grid ul:hover {
      background: rgba(0, 0, 0, 0.3);
      border: 1px solid #fff;
      transition: .3s; }
  .focus-grid h5 {
    font-size: 20px;
    line-height: 2rem; }
  .focus-grid li {
    display: inline-block;
    vertical-align: middle;
    line-height: 2.5rem;
    padding-right: 3rem;
    width: 100%; }

.flex-wrap {
  display: flex;
  justify-content: center;
  align-items: top;
  flex-wrap: wrap-reverse;
  margin: 1rem auto 3rem; }

.flex-box {
  text-align: center;
  width: 25%;
  padding: 0 2.5rem;
  box-sizing: border-box;
  margin: 2rem 0; }
  .flex-box img {
    display: inline-block; }
  .flex-box h6 {
    font-size: 20px;
    font-weight: bolder;
    color: #238E42;
    padding: 1rem 0; }
  .flex-box ul {
    text-align: left; }
  .flex-box li {
    width: 100%;
    border-bottom: 2px dotted #99C843;
    padding: 5px; }
  .flex-box:hover img {
    transition: .3s ease;
    transform: translateY(-10px); }

.type {
  background-image: url(/img/bg_type.jpg);
  background-size: cover;
  background-position: center;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  color: #fff;
  padding-bottom: 4rem; }
  .type .block-tit {
    color: #fff;
    z-index: 2;
    position: relative; }
    .type .block-tit img {
      height: inherit !important;
      margin: 0 auto;
      display: block; }
  .type .mask {
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.45);
    position: absolute;
    left: 0;
    z-index: 1; }
  .type ul {
    z-index: 2;
    position: relative;
    text-align: center; }
  .type li {
    width: 31%;
    display: inline-block;
    vertical-align: top;
    text-align: center;
    transition: .3s ease; }
    .type li:hover img {
      transition: .3s ease;
      transform: translateY(-10px); }
  .type img {
    display: inline-block;
    vertical-align: top;
    margin-bottom: 1rem;
    height: 74px; }
  .type h5 {
    font-size: 20px;
    font-weight: bolder;
    padding: 1rem; }
  .type p {
    width: 80%;
    margin: 0 auto;
    text-align: left; }

.contacts {
  text-align: center; }
  .contacts ul {
    margin: 0 auto;
    text-align: center; }
  .contacts li {
    width: 45%;
    display: inline-block;
    vertical-align: top;
    transition: .3s; }
  .contacts h6 {
    font-size: 24px;
    color: #238E42; }
  .contacts p {
    font-size: 18px; }
  .contacts .name-card {
    width: 240px;
    margin: 2rem auto;
    border-left: 1px solid #238E42;
    border-right: 1px solid #238E42; }

.head-img {
  border-radius: 100%;
  border: 5px solid #238E42;
  width: 300px;
  height: 300px;
  display: inline-block;
  box-shadow: 0 2px 4px;
  transition: .3s;
  box-shadow: 0 0 0 0 rgba(153, 200, 67, 0) inset; }
  .head-img.lydia {
    background: url(/img/lydia.jpg) center center no-repeat;
    background-size: cover; }
  .head-img.megan {
    background: url(/img/megan.png) center center no-repeat;
    background-size: cover; }
  .head-img:hover {
    box-shadow: 0 0 0 0.7rem rgba(153, 200, 67, 0.5) inset;
    transition: .3s; }

.contact-btn {
  width: 180px;
  height: 60px;
  border: 1px solid #238E42;
  background-color: #fff;
  font-size: 18px;
  color: #238E42;
  border-radius: 8px;
  display: inline-block;
  vertical-align: middle;
  margin: 2rem 0 4rem;
  transition: .3s;
  cursor: pointer; }
  .contact-btn:hover {
    background-color: #238E42;
    color: #fff;
    transition: .3s; }

.lg-mask {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  display: none; }

.contact-lg {
  width: 400px;
  position: fixed;
  top: 10%;
  left: 40%;
  z-index: 1001;
  background-color: #fff;
  border-radius: 8px;
  box-sizing: border-box;
  display: none;
  max-height: 80vh;
  overflow-y: auto; }
  .contact-lg form {
    padding: 5% 8%; }
  .contact-lg h2 {
    font-size: 20px;
    color: #fff;
    line-height: 3rem;
    background-color: #238E42;
    text-align: center;
    border-radius: 8px 8px 0 0; }

.input-box {
  width: 100%;
  padding: 10px 0;
  box-sizing: border-box; }
  .input-box label {
    width: 100%;
    font-size: 14px;
    color: #238E42; }
  .input-box input, .input-box select, .input-box textarea {
    width: 100%;
    font-size: 16px;
    padding: 0 10px;
    box-sizing: border-box;
    color: #555; }
  .input-box input, .input-box select {
    height: 40px;
    border: 1px solid #a5a5a5;
    color: #555;
    background-color: #fff; }
  .input-box input::-webkit-input-placeholder, .input-box input:-moz-placeholder, .input-box input::-moz-placeholder, .input-box -ms-input-placeholder {
    color: #a5a5a5; }
  .input-box textarea {
    padding: 10px;
    height: 90px;
    border: 1px solid #a5a5a5; }

.submit-btn {
  width: 100%;
  height: 60px;
  text-align: center;
  background-color: #fff;
  border: 1px solid #238E42;
  border-radius: 8px;
  color: #238E42;
  position: relative;
  box-sizing: border-box;
  font-size: 18px;
  transition: .3s; }
  .submit-btn input {
    width: 100%;
    height: 60px;
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0; }
  .submit-btn:hover {
    background-color: #238E42;
    color: #fff;
    transition: .3s; }

.cross {
  font-size: 30px;
  color: #fff;
  position: absolute;
  top: 6px;
  right: 10px;
  transition: .3s;
  cursor: pointer; }
  .cross:hover {
    opacity: .5;
    transition: .3s; }

.lightbox {
  width: 400px;
  position: fixed;
  top: 10%;
  left: 40%;
  z-index: 1001;
  background-color: #fff;
  border-radius: 8px;
  box-sizing: border-box;
  display: none; }
  .lightbox h2 {
    font-size: 20px;
    color: #fff;
    line-height: 3rem;
    background-color: #238E42;
    text-align: center;
    border-radius: 8px 8px 0 0; }
  .lightbox p {
    width: 80%;
    margin: 4rem auto;
    text-align: center;
    font-size: 20px;
    color: #238E42; }

.no-bg.no-bg.no-bg {
  background: none;
  letter-spacing: 0; }

.word-color {
  color: #555; }

.hide {
  display: none; }

.coming-soon {
  display: flex;
  height: 100%;
  justify-content: center;
  align-items: center; }

@media screen and (max-width: 1200px) {
  .about-inner-cont.about-idea li {
    display: inline-block;
    vertical-align: middle;
    width: calc(95%/2);
    text-align: left; }
  .about-inner-cont.about-idea img {
    width: 130px;
    display: inline-block;
    vertical-align: middle; }
  .about-inner-cont.about-idea div {
    width: 55%;
    display: inline-block;
    vertical-align: middle;
    text-align: left;
    margin-bottom: 2rem;
    padding-left: 1.5rem; }
    .about-inner-cont.about-idea div h5 {
      font-size: 40px;
      color: #238E42;
      line-height: 4rem; }
    .about-inner-cont.about-idea div p {
      width: 100%;
      margin: 0; }
  .about-inner-tit h4 {
    font-size: 30px;
    font-weight: lighter;
    position: relative;
    padding-left: 1.5rem;
    width: 23%;
    display: inline-block;
    vertical-align: middle; }
    .about-inner-tit h4:before {
      content: '';
      width: 10px;
      height: 32px;
      background: #238E42;
      box-shadow: 0 2px 4px;
      display: block;
      position: absolute;
      top: 6px;
      left: 0; }
  .about-inner-tit em {
    font-size: 18px;
    letter-spacing: 1px;
    width: 50%; }
  .about-inner-tit.service-inner-tit h4 {
    vertical-align: top; }
    .about-inner-tit.service-inner-tit h4:before {
      height: 72px; }
  .about-inner-tit.service-inner-tit em {
    width: 100%; }
  .focus-grid ul {
    width: 95%;
    padding-right: 15px; }
  .flex-box {
    text-align: center;
    width: 30%;
    padding: 0 1rem;
    box-sizing: border-box;
    margin: 1.5rem 0; }
    .flex-box img {
      display: inline-block; }
    .flex-box h6 {
      font-size: 20px;
      font-weight: bolder;
      color: #238E42;
      line-height: 3rem; }
    .flex-box ul {
      text-align: left; }
    .flex-box li {
      width: 100%;
      border-bottom: 2px dotted #99C843;
      padding: 5px; }
  .head-img {
    width: 260px;
    height: 260px; } }

@media screen and (max-width: 1000px) {
  .header {
    width: 100%;
    min-height: 60px;
    height: 60px;
    top: 0;
    left: 0;
    z-index: 998; }
  .nav {
    display: none;
    position: relative;
    top: 35px;
    height: 100vh;
    background-color: #fff;
    margin-top: 0; }
    .nav button {
      display: inline-block;
      vertical-align: middle;
      margin: 8px .5rem; }
  .all-wrap {
    width: 100%;
    left: 0; }
  .m-logo {
    display: block;
    width: 150px; }
  .block-tit {
    text-align: center;
    padding: 50px 0 60px;
    font-size: 48px;
    color: #238E42; }
  .about-intro {
    font-size: 20px;
    padding-bottom: 80px; }
  .contact-lg, .lightbox {
    left: 27%; }
  .about-inner-cont.about-idea img {
    width: 100px; }
  .logo.logo {
    display: none; }
  .index-link {
    position: fixed;
    top: 10px;
    left: 3%;
    width: 150px;
    z-index: 999; }
  .focus-grid li {
    width: 100%; }
  .m-nav {
    width: 50px;
    height: 50px;
    position: absolute;
    top: 10px;
    right: 10px;
    display: block;
    z-index: 999; }
  .o-grid__item {
    display: block;
    width: 50px;
    height: 50px;
    margin-right: 10px; }
  .c-hamburger {
    display: block;
    position: relative;
    overflow: hidden;
    padding: 0;
    width: 50px;
    height: 50px;
    font-size: 0;
    text-indent: -9999px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-shadow: none;
    border-radius: none;
    border: none;
    cursor: pointer;
    -webkit-transition: background 0.3s;
    transition: background 0.3s; }
  .c-hamburger:focus {
    outline: none; }
  .c-hamburger span {
    display: block;
    position: absolute;
    top: 19px;
    left: 3px;
    right: 3px;
    height: 3px;
    background: #238E42; }
  .c-hamburger span::before,
  .c-hamburger span::after {
    position: absolute;
    display: block;
    left: 0;
    width: 100%;
    height: 3px;
    content: "";
    background: #238E42; }
  .c-hamburger span::before {
    top: -13px; }
  .c-hamburger span::after {
    bottom: -13px; }
  /**
	* Style 2
	* 
	* Hamburger to "x" (htx). Takes on a hamburger shape, bars slide
	* down to center and transform into an "x".
	*/
  .c-hamburger--htx {
    background-color: transparent; }
  .c-hamburger--htx span::before,
  .c-hamburger--htx span::after {
    -webkit-transition-duration: 0.3s, 0.3s;
    transition-duration: 0.3s, 0.3s;
    -webkit-transition-delay: 0.3s, 0s;
    transition-delay: 0.3s, 0s; }
  .c-hamburger--htx span::before {
    -webkit-transition-property: top, -webkit-transform;
    transition-property: top, transform; }
  .c-hamburger--htx span::after {
    -webkit-transition-property: bottom, -webkit-transform;
    transition-property: bottom, transform; }
  /* active state, i.e. menu open */
  .c-hamburger--htx.is-active span {
    background: none; }
  .c-hamburger--htx.is-active span::before {
    top: 0;
    background-color: #238E42;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }
  .c-hamburger--htx.is-active span::after {
    bottom: 0;
    background-color: #238E42;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg); }
  .c-hamburger--htx.is-active span::before,
  .c-hamburger--htx.is-active span::after {
    -webkit-transition-delay: 0s, 0.3s;
    transition-delay: 0s, 0.3s; }
  #flex-a {
    order: 7; }
  #flex-b {
    order: 6; }
  #flex-c {
    order: 5; }
  #flex-d {
    order: 4; }
  #flex-e {
    order: 3; }
  #flex-f {
    order: 2; }
  #flex-g {
    order: 1; } }

@media screen and (max-width: 780px) {
  .slogan {
    font-size: 24px; }
    .slogan em {
      font-size: 32px; }
  .about-inner-tit h4 {
    font-size: 30px;
    font-weight: lighter;
    position: relative;
    padding-left: 1.25rem;
    width: 100%;
    display: inline-block;
    vertical-align: middle; }
    .about-inner-tit h4:before {
      content: '';
      width: 10px;
      height: 22px;
      background: #238E42;
      box-shadow: 0 2px 4px;
      display: block;
      position: absolute;
      top: 10px;
      left: 0; }
  .about-inner-tit em {
    font-size: 18px;
    letter-spacing: 2px;
    color: #238E42;
    width: 100%;
    display: inline-block;
    vertical-align: middle;
    padding-top: .8rem; }
  .about-inner-tit.service-inner-tit h4 {
    width: 100%;
    vertical-align: top; }
    .about-inner-tit.service-inner-tit h4:before {
      height: 70px; }
  .about-inner-tit.service-inner-tit p:first-child {
    color: #555;
    font-weight: normal; }
  .about-inner-cont {
    width: 100%;
    margin: 4rem 0;
    text-align: center; }
    .about-inner-cont li {
      display: inline-block;
      vertical-align: top;
      width: 100%;
      text-align: center;
      margin: 2rem 0; }
    .about-inner-cont img {
      display: inline-block;
      vertical-align: middle;
      margin-bottom: .5rem; }
    .about-inner-cont h5 {
      font-size: 20px;
      color: #238E42;
      line-height: 3rem; }
    .about-inner-cont p {
      width: 80%;
      margin: 3rem auto 0; }
    .about-inner-cont.about-idea li {
      display: inline-block;
      vertical-align: middle;
      width: 100%;
      text-align: center; }
    .about-inner-cont.about-idea img {
      width: 170px;
      display: inline-block;
      vertical-align: middle; }
    .about-inner-cont.about-idea div {
      width: 80%;
      display: inline-block;
      vertical-align: middle;
      text-align: center;
      margin: 0 auto 2rem;
      padding-left: 0; }
      .about-inner-cont.about-idea div h5 {
        font-size: 40px;
        color: #238E42;
        line-height: 4rem; }
      .about-inner-cont.about-idea div p {
        width: 100%; }
  .focus-grid {
    width: 100%;
    box-sizing: border-box; }
    .focus-grid .about-inner-tit {
      color: #fff;
      text-align: left;
      box-sizing: border-box; }
      .focus-grid .about-inner-tit h4 {
        width: 100%; }
      .focus-grid .about-inner-tit h4:before {
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); }
    .focus-grid ul {
      width: 90%;
      text-align: left;
      transition: .3s;
      box-sizing: border-box;
      padding: 10px 30px;
      margin: 1.7rem auto;
      background: rgba(0, 0, 0, 0.3);
      border: 1px solid #fff; }
  .flex-box {
    text-align: center;
    width: 100%;
    padding: 0 2.5rem;
    box-sizing: border-box;
    margin: 2rem 0; }
    .flex-box h6 {
      font-size: 20px; }
    .flex-box ul {
      text-align: left; }
    .flex-box li {
      width: 80%;
      margin: 0 auto; }
  .type li {
    width: 80%;
    margin: 0 auto 3rem; }
  .contacts li {
    width: 100%;
    margin: 1rem 0; }
  .contact-lg {
    width: 90vw;
    left: 5vw;
    top: 10vh;
    height: 80vh;
    overflow-y: auto; }
  .lightbox {
    width: 90vw;
    left: 5vw;
    top: 10vh;
    overflow-y: auto; } }
