.p-kv {
  position: relative;
  overflow: hidden;
}

@media screen and (min-width: 1200px) {
  .p-kv {
    padding-top: 67px;
  }
}

@media screen and (max-width: 1199.98px) {
  .p-kv {
    padding-top: 48px;
  }
}

.p-kv__flexslider .flexslider .slides img {
  width: 100vw;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (max-width: 767.98px) {
  .p-kv__flexslider .flexslider .slides img {
    height: 81vh;
  }
}

@media screen and (min-width: 768px) {
  .p-kv__flexslider .flexslider .slides img {
    height: 60vh;
  }
}

.p-kv__flexslider .flexslider .slides__zoom {
  -webkit-transform: scale(1.09);
          transform: scale(1.09);
}

@-webkit-keyframes zoom {
  100% {
    -webkit-transform: scale(1.09);
            transform: scale(1.09);
  }
}

@keyframes zoom {
  100% {
    -webkit-transform: scale(1.09);
            transform: scale(1.09);
  }
}

.p-kv__flexslider .flexslider .slides__zoom.flex-active-slide {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-animation: zoom 6.4s ease-out forwards;
          animation: zoom 6.4s ease-out forwards;
}

.p-kv__flexslider .flexslider .flex-control-nav {
  display: none;
}

.p-kv__topic {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: block;
  width: 100%;
  text-align: center;
}

.p-kv__topic .p-topic {
  max-width: 1280px;
  margin: auto;
  background-color: #00000080;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

@supports ((-webkit-backdrop-filter: saturate(180%) blur(20px)) or (backdrop-filter: saturate(180%) blur(20px))) or (-webkit-backdrop-filter: saturate(180%) blur(20px)) {
  .p-kv__topic .p-topic {
    background: none;
    -webkit-backdrop-filter: saturate(180%) blur(20px);
            backdrop-filter: saturate(180%) blur(20px);
  }
}

.p-kv__topic .p-topic__content {
  width: 100%;
  max-width: 100%;
  height: 100%;
  text-align: left;
  padding: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
}

@media screen and (max-width: 575.98px) {
  .p-kv__topic .p-topic__content {
    padding: 0.4rem 1rem;
  }
}

.p-kv__topic .p-topic__content .content__date {
  padding-right: 2rem;
}

@media screen and (max-width: 767.98px) {
  .p-kv__topic .p-topic__content .content__date {
    font-size: 0.8rem;
  }
}

@media screen and (max-width: 575.98px) {
  .p-kv__topic .p-topic__content .content__text {
    display: block;
  }
}

.p-kv__topic .p-topic__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  border-left: 1px solid #fff;
  width: 120px;
}

@media screen and (max-width: 575.98px) {
  .p-kv__topic .p-topic__btn {
    display: none;
  }
}

.p-kv__topic .p-topic__btn::after {
  content: '';
  display: inline-block;
  margin-left: 0.4rem;
  width: 1rem;
  height: 1rem;
  background-image: url(../img/arrow-right_W.svg);
  background-repeat: no-repeat;
  background-position: center center;
}

.p-kv__copy {
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100%;
}

.p-kv__copy .p-copy {
  max-width: 1280px;
  margin: auto;
  padding: 1rem;
  color: #fff;
}

.p-kv__copy .p-copy__main {
  font-weight: bold;
  line-height: 1.2;
  text-shadow: 3px 1px 8px #48484840;
}

@media screen and (max-width: 767.98px) {
  .p-kv__copy .p-copy__main {
    font-size: 1.3rem;
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .p-kv__copy .p-copy__main {
    font-size: 3.2rem;
  }
}

.p-kv__copy .p-copy__sub .distance {
  font-size: 1.2rem;
}

.p-kv__copy .p-copy__sub .distance span {
  font-size: 2rem;
  font-weight: bold;
}

@media screen and (max-width: 767.98px) {
  .p-kv__copy .p-copy__sub .desc {
    font-weight: bold;
    font-size: 1.3rem;
  }
}

.p-kv__copy .js-copy {
  opacity: 0;
  -webkit-transform: translateX(-30px);
          transform: translateX(-30px);
}

.p-kv__copy .js-copy.is-active {
  -webkit-transition: all 1600ms cubic-bezier(0.215, 0.61, 0.355, 1) 600ms;
  transition: all 1600ms cubic-bezier(0.215, 0.61, 0.355, 1) 600ms;
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.p-intro {
  background-repeat: no-repeat;
  background-image: url("../../../img/frontPage/intro-bg.jpg");
  padding-top: 4rem;
}

@media screen and (min-width: 768px) {
  .p-intro {
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
  }
}

@media screen and (max-width: 767.98px) {
  .p-intro {
    background-image: url("../../../img/frontPage/intro-bg--sm.jpg");
    background-position: right;
    background-size: 100% 100%;
  }
}

.p-intro::after {
  content: '';
  display: block;
  width: 100%;
  height: 100px;
  background: -webkit-gradient(linear, left top, left bottom, from(#ffffff00), color-stop(#ffffffb8), to(#ffffff));
  background: linear-gradient(#ffffff00, #ffffffb8, #ffffff);
}

@media screen and (min-width: 768px) {
  .p-intro__item .philosophy {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}

@media screen and (min-width: 768px) {
  .p-intro__item .philosophy__photo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 47.5%;
  }
}

.p-intro__item .philosophy__photo img {
  height: 100%;
  -o-object-position: right;
     object-position: right;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (max-width: 767.98px) {
  .p-intro__item .philosophy__photo img {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .p-intro__item .philosophy__body {
    width: 47.5%;
  }
}

@media screen and (max-width: 767.98px) {
  .p-intro__item .philosophy__body {
    padding: 0 15px;
  }
}

.p-intro__item .philosophy__body h1 {
  margin-bottom: 0.8rem;
  font-weight: bold;
}

@media screen and (max-width: 991.98px) {
  .p-intro__item .philosophy__body h1 {
    font-size: 1.2rem;
  }
}

@media screen and (min-width: 992px) {
  .p-intro__item .philosophy__body h1 {
    font-size: 1.6rem;
    line-height: 1;
  }
}

.p-intro__item .philosophy__body ul {
  margin-bottom: 1.6rem;
}

.p-intro__item .philosophy__body ul li {
  line-height: 1.8;
}

.p-intro__item .philosophy__body ul li span {
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .p-intro__item .philosophy__body ul li span {
    font-size: 1.1rem;
  }
}

.p-intro__item .message {
  margin-top: 3.2rem;
  padding-bottom: 4rem;
}

.p-intro__item .message__title {
  margin-bottom: 0.4rem;
}

.p-intro__item .message__title small {
  display: block;
  font-size: 0.8rem;
}

.p-intro__item .message__title span {
  display: block;
  font-size: 1.6rem;
  font-weight: bold;
}

@media screen and (min-width: 992px) {
  .p-intro__item .message__title span {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 991.98px) {
  .p-intro__item .message__title span {
    font-size: 1.2rem;
  }
}

.p-intro__item .message__desc {
  margin-bottom: 1.6rem;
  text-align: justify;
}

.p-intro__item .message__desc .by {
  display: block;
  padding: 0.8rem 0 0;
  font-weight: bold;
}

.p-problem {
  max-width: 1170px;
  margin: auto;
}

.p-problem__title {
  margin-top: 0.4rem;
  margin-bottom: 1.6rem;
  font-weight: bold;
  text-align: center;
}

.p-card {
  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;
  color: #003e80;
}

.p-card::after {
  content: '';
  display: block;
  width: 32.5%;
}

.p-card__item {
  background-color: #F2F8FF;
  -webkit-box-shadow: 3px 3px 10px #00000030;
          box-shadow: 3px 3px 10px #00000030;
  margin-bottom: 0.8rem;
  padding: 0.8rem;
}

.p-card__item--last {
  background: none;
}

@media screen and (min-width: 768px) {
  .p-card__item {
    width: 32.5%;
  }
}

@media screen and (max-width: 767.98px) {
  .p-card__item {
    width: 48.5%;
    position: relative;
    padding: 0.6rem;
    padding-bottom: 1.2rem;
  }
}

.p-card__icon {
  text-align: center;
  position: relative;
}

.p-card__icon img {
  width: auto;
}

@media screen and (max-width: 767.98px) {
  .p-card__icon img {
    height: 50px;
  }
}

@media screen and (min-width: 768px) {
  .p-card__icon img {
    height: 70px;
  }
}

.p-card__title {
  font-weight: bold;
  text-align: justify;
}

@media screen and (min-width: 768px) {
  .p-card__title {
    margin-bottom: 0.8rem;
    font-size: 1.1rem;
    margin-top: 1.6rem;
  }
}

@media screen and (max-width: 767.98px) {
  .p-card__title {
    margin-bottom: 0.4rem;
    font-size: 0.9rem;
    margin-top: 0.8rem;
  }
}

.p-card__desc {
  text-align: justify;
}

@media screen and (max-width: 767.98px) {
  .p-card__desc {
    font-size: 0.8rem;
  }
}

.p-contact {
  background-image: url("../../../img/contact/contact-bg.jpg");
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: cover;
}

.p-contact__inner {
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-contact__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    max-width: 1200px;
    margin: auto;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}

@media screen and (max-width: 767.98px) {
  .p-contact__inner {
    padding-bottom: 1.6rem;
  }
}

@media screen and (min-width: 768px) {
  .p-contact__info {
    width: 50%;
  }
}

@media screen and (max-width: 767.98px) {
  .p-contact__info {
    margin-left: 1.6rem;
    margin-right: 1.6rem;
  }
}

.p-contact__info .title {
  font-size: 1.2rem;
  font-weight: bold;
}

@media screen and (max-width: 767.98px) {
  .p-contact__info .title {
    margin-bottom: 0.8rem;
    font-size: initial;
  }
}

.p-contact__info .desc {
  margin-bottom: 1.6rem;
}

.p-contact__info .inner {
  text-align: center;
  background-color: #ffffffc7;
  padding-top: 2.4rem;
  padding-bottom: 2.4rem;
  margin-bottom: 2.4rem;
  position: relative;
}

@media screen and (max-width: 767.98px) {
  .p-contact__info .inner {
    margin-bottom: 6rem;
    padding-bottom: 6rem;
  }
}

.p-contact__info .inner h2 {
  font-weight: bold;
  margin-bottom: 1.6rem;
}

.p-contact__info .inner .time {
  font-size: 1.1rem;
}

.p-contact__info .inner .tel {
  margin-bottom: 0.8rem;
}

.p-contact__info .inner .tel img {
  max-height: 26px;
  max-width: 26px;
  display: inline-block;
}

.p-contact__info .inner .tel span {
  font-size: 1.6rem;
  font-weight: bold;
  color: red;
  vertical-align: middle;
}

.p-contact__info .inner .contactBtn {
  position: relative;
  z-index: 10;
}

.p-contact__info .inner .contactImg {
  width: 43%;
  z-index: 5;
  position: absolute;
  bottom: 0;
  right: 0;
}

@media screen and (min-width: 768px) {
  .p-contact__info .inner .contactImg {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .p-contact__image {
    width: 30%;
  }
}

@media screen and (max-width: 767.98px) {
  .p-contact__image {
    display: none;
    width: 50%;
    position: absolute;
    bottom: 0;
    right: 0;
  }
}

.p-access__title {
  text-align: center;
  margin-bottom: 1.6rem;
}

.p-access__inner {
  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;
}

@media screen and (max-width: 767.98px) {
  .p-access__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.p-access__map {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 768px) {
  .p-access__map {
    width: 58.5%;
  }
}

@media screen and (max-width: 767.98px) {
  .p-access__map {
    width: 100%;
  }
}

.p-access__map .inner {
  width: 100%;
}

@media screen and (max-width: 767.98px) {
  .p-access__map .inner {
    height: 50vh;
  }
}

.p-access__map .inner iframe {
  width: 100% !important;
  height: 100% !important;
}

@media screen and (min-width: 768px) {
  .p-access__directions {
    width: 39%;
  }
}

@media screen and (max-width: 767.98px) {
  .p-access__directions {
    width: 100%;
  }
}

.p-access__directions .title {
  margin-bottom: 0.8rem;
}

.p-access__directions .title small {
  font-size: 0.8rem;
  display: block;
}

.p-access__directions .title span {
  font-size: 1.2rem;
  display: block;
  margin-top: -0.4rem;
}

.p-access__directions .address {
  margin-bottom: 1.6rem;
}

.p-access__directions .route {
  margin-bottom: 1.6rem;
}

@media screen and (max-width: 767.98px) {
  .p-topics {
    margin-bottom: 10rem;
  }
}
/*# sourceMappingURL=frontpage.css.map */