.p-breadcrumbs {
  position: relative;
  z-index: 2;
}

.p-breadcrumbs .p-breadcrumbs__item:first-child ~ .p-breadcrumbs__item {
  filter: brightness(1000%);
}

.p-breadcrumbs .p-breadcrumbs__link {
  color: #ffffff;
}

.p-hero {
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-hero {
    background-image: none !important;
  }
}

@media screen and (max-width: 767px) {
  .p-hero::before {
    content: '';
    display: block;
    position: fixed;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-image: url(../img/hero_bg01_sp.jpg);
    background-repeat: none;
    background-size: cover;
    transform: translate3d(0, 0, 0);
  }
}

.p-hero__content {
  position: relative;
  z-index: 1;
  padding: 135px 0 105px;
  color: #ffffff;
}

@media screen and (max-width: 767px) {
  .p-hero__content {
    padding: 42px 0 0;
  }
}

.p-hero__inner {
  display: flex;
  justify-content: flex-end;
  max-width: 1288px;
  margin: 0 auto;
  padding: 0 40px;
}

@media screen and (max-width: 767px) {
  .p-hero__inner {
    display: block;
    padding: 0 20px;
  }
}

.p-hero__main {
  max-width: 692px;
}

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

.p-hero__heading {
  margin-bottom: 3.625em;
  font-size: 3.8rem;
  font-weight:lighter;
  text-align: center;font-family: "Microsoft YaHei",微软雅黑,"Microsoft JhengHei",华文细黑,STHeiti,MingLiu, sans-serif;
}

@media screen and (max-width: 767px) {
  .p-hero__heading {
    margin-bottom: 8.3125em;
    font-size: 1.9rem;
    padding: 0 20px;
  }
}

.p-hero__heading span {
  display: inline-block;
}

.p-hero__vision {
  position: relative;
  width: 525px;
  margin-bottom: 100px;
}

@media screen and (max-width: 767px) {
  .p-hero__vision {
    width: auto;
    margin-bottom: 80px;
    margin-left: calc(16/375 * 100vw);
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .p-hero__vision {
    margin-left: auto;
    margin-right: auto;
  }
}

.p-hero__vision img {
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .p-hero__vision img {
    max-width: 319px;
  }
}

.p-hero__section {
  margin-bottom: 88px;
}

@media screen and (max-width: 767px) {
  .p-hero__section {
    margin-bottom: 80px;
  }
}

.p-hero__section-ttl {
  margin-bottom: 70px;
  font-size: 2.2rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .p-hero__section-ttl {
    margin-bottom: 40px;
	font-size: 1.8rem;
  }
}

.p-hero__section-ttl span {
  display: inline-block;
  padding-bottom: 0.25em;
  border-bottom: 2px solid #fff;
}

@media screen and (max-width: 767px) {
  .p-hero__section-ttl span {
    display: block;
    padding-bottom: 0.625em;
    text-align: center;
  }
}

.p-hero__section-cont {
  line-height: 2.22222;
  font-size: 1.8rem;
}

@media screen and (max-width: 767px) {
  .p-hero__section-cont {
    line-height: 2;
    font-size: 1.2rem;
  }
}

.p-hero__section-cont p:not(:last-child) {
  margin-bottom: 1.2em;
}

@media screen and (max-width: 767px) {
  .p-hero__section-cont p:not(:last-child) {
    margin-bottom: 1em;
  }
}



.p-primary {
  padding:1px 0 20px 0;background-color: white
}



.p-primary > :last-child {
  margin-bottom: 0;
}

.p-primary img {
  max-width: 100%;
  height: auto;
}

.p-section {
  padding: 120px 0 80px 0;
}

@media screen and (max-width: 767px) {
  .p-section {
    padding: 80px 0;
  }
}

.p-section__inner {
  max-width: 1288px;
  margin: 0 auto;
  padding: 0 40px;
}

@media screen and (max-width: 767px) {
  .p-section__inner {
    padding: 0 20px;
  }
}

.p-section__ttl, .p-media-section__ttl {
  position: relative;
  margin-bottom: 1.75em;
  padding-bottom: 0.625em;
  font-size: 3.2rem;
  font-weight: normal;font-family: "Gotham SSm A", "Gotham SSm B", "Microsoft YaHei",微软雅黑,"Microsoft JhengHei",华文细黑,STHeiti,MingLiu, sans-serif;text-transform:uppercase
}

@media screen and (max-width: 767px) {
  .p-section__ttl, .p-media-section__ttl {
    padding-bottom: .8125em;
    font-size: 2.4rem;
    text-align: center;
  }
}

.p-section__ttl::before, .p-media-section__ttl::before {
  content: '';
  display: inline-block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 80px;
  height: 4px;
  background-color: #d9d9d6;
}

@media screen and (max-width: 767px) {
  .p-section__ttl::before, .p-media-section__ttl::before {
    right: 0;
    margin: auto;
  }
}

.p-section__lede {
  margin-bottom: 3em;
  line-height: 2;
  font-size: 1.8rem;
}

@media screen and (max-width: 767px) {
  .p-section__lede {
    font-size: 1.5rem;
  }
}

.p-media-section {
  position: relative;
  background-color: #a5a8ac;
  overflow: hidden;
}

.p-media-section__inner {
  display: flex;
  max-width: 1288px;
  margin: 0 auto;
  padding: 0 40px;
  color: #ffffff;
}

@media screen and (max-width: 767px) {
  .p-media-section__inner {
    display: block;
    padding: 0 20px;
  }
}

.p-media-section__cont {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 50%;
  padding: 120px 0;
}

@media screen and (max-width: 767px) {
  .p-media-section__cont {
    width: auto;
    padding: 80px 0 60px;
  }
}

.p-media-section__cont > * {
  position: relative;
  z-index: 2;
}

.p-media-section__ttl {
  margin-bottom: 2.5em;
}

@media screen and (max-width: 767px) {
  .p-media-section__ttl {
    margin-bottom: 2.375em;
  }
}

.p-media-section__txt {
  line-height: 2;
}

.p-media-section__pic {
  position: absolute;
  top: 0;
  width: 50%;
  height: 100%;
  opacity: 0;
  transition: opacity 2000ms, transform 1000ms;
}

@media screen and (max-width: 767px) {
  .p-media-section__pic {
    position: static;
    width: auto;
    margin: 0 -20px;
  }
}

.p-media-section__pic span {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: skew(5deg);
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .p-media-section__pic span {
    position: static;
    transform: skew(0deg);
  }
}

.p-media-section__pic img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  max-width: inherit;
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 767px) {
  .p-media-section__pic img {
    position: static;
    max-width: 100%;
    transform: translate(0, 0);
  }
}

.p-media-section--ltr .p-media-section__inner {
  flex-direction: row;
}

.p-media-section--ltr .p-media-section__cont::before {
  right: calc(50% - 1px);
  transform-origin: top right;
  transform: skew(5deg, 0) translateX(-25%);
}

_:-ms-input-placeholder, :root .p-media-section--ltr .p-media-section__cont::before {
  transform: skew(5deg, 0);
}

.p-media-section--ltr .p-media-section__pic {
  right: 0;
  transform: translateX(50%);
}

@media screen and (max-width: 767px) {
  .p-media-section--ltr .p-media-section__pic {
    transform: translateX(0);
  }
}

.p-media-section--ltr .p-media-section__pic span {
  transform-origin: top left;
}

.p-media-section--rtl .p-media-section__inner {
  flex-direction: row-reverse;
}

.p-media-section--rtl .p-media-section__cont {
  padding-left: 128px;
}

@media screen and (max-width: 767px) {
  .p-media-section--rtl .p-media-section__cont {
    padding-left: 0;
  }
}

.p-media-section--rtl .p-media-section__pic {
  left: 0;
  transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  .p-media-section--rtl .p-media-section__pic {
    transform: translateX(0);
  }
}

.p-media-section--rtl .p-media-section__pic span {
  transform-origin: bottom right;
}

.p-media-section.js-fired .p-media-section__pic {
  opacity: 1;
  transform: translateX(0);
}

.p-needle {
  text-align: center;
}

.p-needle__inner {
  display: inline-block;
}

.p-needle__list {
  display: flex;
  align-items: baseline;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .p-needle__list {
    display: block;
    text-align: center;
  }
}

.p-needle__list:not(:last-child) {
  margin-bottom: 2.375em;
}

@media screen and (max-width: 767px) {
  .p-needle__list:not(:last-child) {
    margin-bottom: 2.75em;
  }
}

.p-needle__ttl {
  flex: 0 0 auto;
  width: 13.5em;
  font-size: 2rem;
  font-weight: normal;
  letter-spacing: .05em;
	font-family: "Gotham SSm A", "Gotham SSm B", "Microsoft YaHei",微软雅黑,"Microsoft JhengHei",华文细黑,STHeiti,MingLiu, sans-serif;
}
.p-needle__txt {
  font-size: 2rem;
  font-weight: normal;
	font-family: "Gotham SSm A", "Gotham SSm B", "Microsoft YaHei",微软雅黑,"Microsoft JhengHei",华文细黑,STHeiti,MingLiu, sans-serif;
}

@media screen and (max-width: 767px) {
  .p-needle__ttl {
    width: auto;
    margin-bottom: 0.25em;font-weight: 600;
  }
}

.p-needle__txt {
  flex: 1 1 auto;
}

.p-brand__inner {
  max-width: 976px;
  margin: 0 auto;
}

.p-brand-section {
  display: flex;
  align-items: flex-start;
}

@media screen and (max-width: 767px) {
  .p-brand-section {
    display: block;
  }
}

.p-brand-section:not(:last-child) {
  margin-bottom: 56px;
}

@media screen and (max-width: 767px) {
  .p-brand-section:not(:last-child) {
    margin-bottom: 80px;
  }
}

.p-brand-section__pic {
  width: calc((100% - 40px) / 2);
  margin-right: 40px;
}

@media screen and (max-width: 767px) {
  .p-brand-section__pic {
    width: auto;
    margin-right: 0;
    margin-bottom: 32px;
  }
}

.p-brand-section__cont {
  width: calc((100% - 40px) / 2);
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .p-brand-section__cont {
    width: auto;
  }
}

.p-brand-section__ttl {
  margin-bottom: 0.5em;
  font-size: 2rem;
}

.p-brand-section__subttl {
  color: #17a99f;
  font-size: 2rem;
  font-weight: normal;
}

.p-brand-section__subttl:not(:first-child) {
  margin-top: .75em;
}

.p-philosophy-image {
  padding-left: 168px;
}

@media screen and (max-width: 767px) {
  .p-philosophy-image {
    padding-left: 0;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .p-philosophy-image {
    padding-left: 0;
  }
}

.p-philosophy-image img {
  margin: 0 auto;
}

.p-txt__vision {
  max-width: 426px;
  margin-bottom: 64px;
}

@media screen and (max-width: 767px) {
  .p-txt__vision {
    margin: 0 auto 40px;
  }
}

.p-principles {
  font-size: 2.4rem;
  letter-spacing: .05em;
}

@media screen and (max-width: 767px) {
  .p-principles {
    font-size: 2rem;
    text-align: center;
  }
}

.p-principles__item:not(:last-child) {
  margin-bottom: 1.25em;
}

.js-maskAnime-ele {
  opacity: 0;
  transform: translate3d(0, 0, 0);line-height: 2
}

.js-maskAnime-ele.js-fired {
  -webkit-animation: maskAnime 960ms cubic-bezier(0.65, 0, 0.35, 1) forwards;
          animation: maskAnime 960ms cubic-bezier(0.65, 0, 0.35, 1) forwards;
}

.js-maskAnime-tape {
  opacity: 0;
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
          clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}

.js-maskAnime-tape.js-fired {
  -webkit-animation: maskTape 1600ms 640ms cubic-bezier(0.65, 0, 0.35, 1) forwards;
          animation: maskTape 1600ms 640ms cubic-bezier(0.65, 0, 0.35, 1) forwards;
}

@-webkit-keyframes maskAnime {
  0% {
    opacity: 0;
    transform: translateX(-30px);
  }
  100% {
    opacity: 1;
    transform: translateX(0px);
  }
}

@keyframes maskAnime {
  0% {
    opacity: 0;
    transform: translateX(-30px);
  }
  100% {
    opacity: 1;
    transform: translateX(0px);
  }
}

@media screen and (max-width: 767px) {
  @-webkit-keyframes maskAnime {
    0% {
      opacity: 0;
      transform: translateX(-10px);
    }
    100% {
      opacity: 1;
      transform: translateX(0px);
    }
  }
  @keyframes maskAnime {
    0% {
      opacity: 0;
      transform: translateX(-10px);
    }
    100% {
      opacity: 1;
      transform: translateX(0px);
    }
  }
}

@-webkit-keyframes maskTape {
  0% {
    opacity: 0;
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
            clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  }
  100% {
    opacity: 1;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
}

@keyframes maskTape {
  0% {
    opacity: 0;
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
            clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  }
  100% {
    opacity: 1;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
}

/*# sourceMappingURL=style.css.map */
