@charset "UTF-8";
/*========================================
  Inicialized
========================================*/
html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}

html {
  font-size: 62.5%; /* 10px */
}

body {
  line-height: 1.3;
  letter-spacing: 0;
  font-feature-settings: "palt";
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.4rem;
  color: #212121;
  background-color: #FFF;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  word-break: normal;
}

/* anchor */
a {
  text-decoration: none;
  transition: all 0.2s ease-in-out 0s;
}
a:hover {
  text-decoration: none;
}
a img {
  transition: all 0.2s ease-in-out 0s;
}

/* ul, ol */
ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* placeholder */
:-moz-placeholder-shown {
  color: rgba(255, 255, 255, 0.2);
}
:placeholder-shown {
  color: rgba(255, 255, 255, 0.2);
}

::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.2);
}

::-moz-placeholder {
  color: rgba(255, 255, 255, 0.2);
  opacity: 1;
}

:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.2);
}

.l-wrapper {
  position: relative;
}

.l-splash {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
}

.l-header {
  width: calc(100% - 8rem);
}

.l-header__logo-set {
  position: fixed;
  top: 4rem;
  left: 4rem;
  z-index: 2;
  gap: 0.5rem 4rem;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  mix-blend-mode: exclusion;
}
@media screen and (max-width: 1000px) {
  .l-header__logo-set {
    top: 2rem;
    left: 2rem;
    flex-direction: column;
    align-items: flex-start;
  }
}

.l-header__gnav {
  position: fixed;
  top: 4rem;
  right: 4rem;
  z-index: 100;
}
@media screen and (max-width: 1000px) {
  .l-header__gnav {
    top: 2rem;
    right: 2rem;
  }
}

.l-main__contents {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
}
@media screen and (max-width: 1024px) {
  .l-main__contents {
    flex-wrap: wrap;
    flex-direction: column;
  }
}

.l-main__contents__container {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  width: 100vw;
  height: 100vh;
  box-sizing: border-box;
  padding: 15.4rem 12rem 14.6rem;
  overflow: hidden;
}
@media screen and (max-width: 1000px) {
  .l-main__contents__container {
    height: auto;
    padding: 15.4rem 2rem 14.6rem;
  }
}
@media screen and (max-width: 1000px) {
  .l-main__contents__container {
    flex-direction: column;
  }
}

.l-main__contents__container--2col {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
}

.l-main__contents__container--about {
  width: 100vw;
  padding: 0;
}
@media screen and (max-width: 1024px) {
  .l-main__contents__container--about {
    height: auto;
  }
}

.l-main__contents__container--contact {
  width: 32rem;
  padding: 15.4rem 4.7rem 14.6rem;
}
@media screen and (max-width: 1024px) {
  .l-main__contents__container--contact {
    width: 100vw;
    height: auto;
    padding: 6.2rem 12rem 14.6rem;
  }
}
@media screen and (max-width: 1000px) {
  .l-main__contents__container--contact {
    height: auto;
    padding: 6.2rem 2rem 14.6rem;
  }
}

.l-main__home {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0 14rem;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .l-main__home {
    flex-direction: column;
  }
}

.l-main__concept {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
}
@media screen and (max-width: 1000px) {
  .l-main__concept {
    flex-direction: column;
  }
}

.l-main__business {
  position: relative;
  z-index: 2;
  width: 100%;
}

.l-main__about {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  height: 100%;
}
@media screen and (max-width: 1000px) {
  .l-main__about {
    flex-direction: column;
  }
}

.l-main__about__container {
  padding: 15.4rem 12rem 14.6rem;
}
@media screen and (max-width: 1000px) {
  .l-main__about__container {
    padding: 15.4rem 2rem 7.3rem;
  }
}

.l-main__contents__container--about-contact {
  background-color: #DDD;
}

.l-main__contact {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: stretch;
  height: 100%;
}

.c-letters {
  line-height: 2.8rem;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.0308em;
  white-space: normal;
}

.c-letters__copy {
  font-size: 2.4rem;
}

.c-letters__copy--en {
  line-height: 2.9rem;
  font-family: "Montserrat", sans-serif;
}

.c-num-list {
  counter-reset: number 0;
}

.c-num-list__box {
  position: relative;
  z-index: 1;
  padding: 4.2rem 0 5.7rem;
  font-weight: 500;
  text-align: center;
}
.c-num-list__box::after {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateY(0);
  line-height: 11.7rem;
  letter-spacing: 0.0161rem;
  color: rgba(255, 255, 255, 0.2);
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  font-size: 9.6rem;
  font-style: italic;
  counter-increment: number 1;
  content: counter(number, decimal-leading-zero);
}
@media screen and (max-width: 1130px) {
  .c-num-list__box::after {
    top: 50%;
    left: 0;
    transform: translateX(0) translateY(-50%);
  }
}
@media screen and (max-width: 1000px) {
  .c-num-list__box::after {
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
}
@media screen and (max-width: 1130px) {
  .c-num-list__box {
    padding: 1rem 0 1.5rem 15rem;
    text-align: left;
  }
}
@media screen and (max-width: 1000px) {
  .c-num-list__box {
    padding: 1rem 0 1.5rem;
    text-align: center;
  }
}

.c-num-list__box__ttl {
  font-size: 2.4rem;
}

.c-num-list__box__txt {
  line-height: 2rem;
  margin-top: 0.5rem;
  font-size: 1.4rem;
}

.c-num-list__box__kw {
  margin-top: 1.8rem;
  font-weight: 600;
  font-size: 1.6rem;
}
.c-num-list__box__kw em {
  font-style: normal;
}
@media screen and (max-width: 1130px) {
  .c-num-list__box__kw {
    margin-top: 1rem;
  }
}

.c-line-box__item {
  box-sizing: border-box;
  padding: 2rem 2.8rem;
  border: 0.1rem solid #DDD;
}

.c-line-box__ttl {
  letter-spacing: 0.072rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-size: 3.4rem;
}

.c-line-box__txt {
  line-height: 2rem;
  letter-spacing: 0.017rem;
  font-weight: 400;
  font-size: 1.4rem;
}

.c-summary-box {
  line-height: 2.8rem;
  letter-spacing: 0.0308em;
  white-space: normal;
  margin-top: 0.5rem;
  font-weight: 500;
  font-size: 1.6rem;
}
.c-summary-box:first-child {
  margin-top: 0;
}
.c-summary-box a {
  color: #fff;
}

.c-summary-box__ttl {
  line-height: 1.8rem;
  letter-spacing: 0.0174em;
  font-weight: 700;
  font-size: 1.4rem;
}

.c-summary-box__note {
  display: block;
  line-height: 1.6rem;
  font-weight: 500;
  font-size: 1.2rem;
}

.c-summary-box__txt {
  line-height: 1.3rem;
  letter-spacing: 0.0332em;
  font-weight: 500;
  font-size: 1rem;
  font-family: "Montserrat", sans-serif;
}

.c-summary-box__list {
  padding-left: 1.5em;
  list-style-type: disc;
}

.c-table {
  max-width: 100%;
  table-layout: fixed;
  margin-top: -0.5rem;
}

.c-table__item {
  vertical-align: top;
  line-height: 1.9rem;
  box-sizing: border-box;
  letter-spacing: 0.0174em;
  padding-top: 0.5rem;
  font-weight: 500;
  font-size: 1.4rem;
  text-align: left;
}

.c-table__ttl {
  width: 5.7rem;
}

.c-table__txt {
  padding-left: 3rem;
}

.c-table__list {
  width: 50%;
  padding-left: 8rem;
}
.c-table__list:nth-child(odd) {
  padding-left: 0;
}
@media screen and (max-width: 1063px) {
  .c-table__list {
    width: 100%;
    padding-left: 0;
  }
}

.c-flex {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}

.c-flex--col {
  flex-direction: column;
}

.c-link {
  position: relative;
  display: block;
  overflow: hidden;
}
.c-link .c-link__inr {
  display: block;
  width: 100%;
  height: 100%;
  transition: 0.3s ease;
}
.c-link .c-link__inr:nth-child(1) {
  transform: translateY(0);
}
.c-link .c-link__inr:nth-child(2) {
  font-weight: 700;
  transform: translateY(100%);
}
.c-link:hover .c-link__inr:nth-child(1) {
  transform: translateY(-110%);
}
.c-link:hover .c-link__inr:nth-child(2) {
  transform: translateY(-100%);
}

.p-splash {
  position: absolute;
  z-index: 10;
  width: 100vw;
  height: 100vh;
  background-color: #212121;
  -webkit-animation: 0.3s p-splash 3s forwards ease;
          animation: 0.3s p-splash 3s forwards ease;
}

@-webkit-keyframes p-splash {
  0% {
    width: 100vw;
  }
  100% {
    width: 0;
    visibility: hidden;
  }
}

@keyframes p-splash {
  0% {
    width: 100vw;
  }
  100% {
    width: 0;
    visibility: hidden;
  }
}
.p-splash__logo {
  width: 170px;
  height: auto;
}

.p-splash__anime01,
.p-splash__anime02,
.p-splash__anime03 {
  stroke: #fff;
  fill: transparent;
}

.p-splash__anime01 {
  stroke-dasharray: 1539.142px;
  stroke-width: 3.5px;
  -webkit-animation: 1.3s p-splash__anime01 both ease-in;
          animation: 1.3s p-splash__anime01 both ease-in;
}

@-webkit-keyframes p-splash__anime01 {
  0% {
    stroke-dasharray: 1539.142px;
    stroke-dashoffset: 1539.142px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes p-splash__anime01 {
  0% {
    stroke-dasharray: 1539.142px;
    stroke-dashoffset: 1539.142px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.p-splash__anime02 {
  stroke-dasharray: 664.52px;
  stroke-width: 18px;
  -webkit-animation: 0.5s p-splash__anime02 1.7s both ease-in;
          animation: 0.5s p-splash__anime02 1.7s both ease-in;
}

@-webkit-keyframes p-splash__anime02 {
  0% {
    stroke-dasharray: 664.52px;
    stroke-dashoffset: 664.52px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes p-splash__anime02 {
  0% {
    stroke-dasharray: 664.52px;
    stroke-dashoffset: 664.52px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.p-splash__anime03 {
  stroke-dasharray: 30.772px;
  stroke-width: 18px;
  -webkit-animation: 0.2s p-splash__anime03 2.1s both ease-in;
          animation: 0.2s p-splash__anime03 2.1s both ease-in;
}

@-webkit-keyframes p-splash__anime03 {
  0% {
    stroke-dasharray: 30.772px;
    stroke-dashoffset: 30.772px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes p-splash__anime03 {
  0% {
    stroke-dasharray: 30.772px;
    stroke-dashoffset: 30.772px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.p-header__container {
  position: relative;
  top: 0;
  left: 0;
  z-index: 1;
  mix-blend-mode: exclusion;
}

.p-header__logo {
  fill: #fff;
}

.p-header__letter {
  color: #fff;
  font-weight: 500;
  font-size: 1.2rem;
  letter-spacing: 0.0332em;
}

.p-header__letter--en {
  display: block;
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
}

.p-header__gnav {
  mix-blend-mode: exclusion;
}
.p-header__gnav a {
  height: 1.3rem;
  line-height: 1.3rem;
  letter-spacing: 0.0332em;
  color: #fff;
  font-size: 1rem;
}
.p-header__gnav a span {
  text-align: right;
}

.p-footer__container {
  width: calc(100% - 8rem);
  mix-blend-mode: exclusion;
  line-height: 1.3rem;
  letter-spacing: 0.0332em;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
}
@media screen and (max-width: 1000px) {
  .p-footer__container {
    position: fixed;
    bottom: 2rem;
    left: 2rem;
    z-index: 2;
  }
}
@media screen and (max-width: 1000px) {
  .p-footer__container br {
    display: none;
  }
}

.p-footer__address {
  position: fixed;
  bottom: 4rem;
  left: 4rem;
  z-index: 2;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  -moz-column-gap: 9.6rem;
       column-gap: 9.6rem;
}
@media screen and (max-width: 1000px) {
  .p-footer__address {
    position: relative;
    left: auto;
    bottom: auto;
    flex-direction: column;
  }
}

.p-footer__address__txt {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  -moz-column-gap: 4rem;
       column-gap: 4rem;
}
@media screen and (max-width: 1000px) {
  .p-footer__address__txt {
    flex-direction: column;
  }
}

.p-footer__address__copy {
  font-weight: 700;
  font-style: normal;
}

.p-footer__address__office {
  font-style: normal;
}
.p-footer__address__office a {
  display: inline-block;
  height: 1.3rem;
  color: #fff;
}

.p-footer__address__sns {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
.p-footer__address__sns a {
  display: inline-block;
  height: 1.2rem;
  color: #fff;
}

.p-footer__address__sns__inr {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  width: 13rem;
}
@media screen and (max-width: 1000px) {
  .p-footer__address__sns__inr {
    width: 100%;
  }
}

.p-footer__address__sns__item:nth-child(even)::before {
  padding: 0 0.3rem;
  content: "/";
}
@media screen and (max-width: 1000px) {
  .p-footer__address__sns__item:not(:first-child)::before {
    padding: 0 0.3rem;
    content: "/";
  }
}

.p-footer__nav {
  position: fixed;
  right: 4rem;
  bottom: 4rem;
  z-index: 2;
}
.p-footer__nav a {
  height: 1.2rem;
  overflow: hidden;
  color: #fff;
}
@media screen and (max-width: 1000px) {
  .p-footer__nav {
    position: relative;
    bottom: auto;
    right: auto;
    margin-top: 1rem;
  }
}

@media screen and (max-width: 1000px) {
  .p-footer__inr {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 0 0.5rem;
  }
}
.p-home {
  color: #fff;
}

.p-home__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
}
@media screen and (max-width: 1024px) {
  .p-home__img {
    position: fixed;
  }
}
.p-home__img video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: auto;
  transform: translateX(-50%) translateY(-50%);
}
@media screen and (max-width: 940px) {
  .p-home__img video {
    width: auto;
    height: 100vh;
  }
}

.p-home__nav li {
  margin-bottom: 0.4rem;
}
.p-home__nav a {
  height: 5.8rem;
  line-height: 1;
  color: #FFF;
  font-weight: 400;
  font-size: 4.8rem;
  font-family: "Montserrat", sans-serif;
  vertical-align: middle;
}
@media screen and (max-width: 1024px) {
  .p-home__nav {
    order: 2;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 1.5rem 3rem;
    width: 100%;
    margin-top: 8.2rem;
  }
}

.p-concept {
  color: #fff;
  background-color: #212121;
}

.p-concept__letter {
  width: 30.4rem;
}
@media screen and (max-width: 1000px) {
  .p-concept__letter {
    width: 100%;
  }
}

.p-concept__letter__copy {
  margin-bottom: 8.2rem;
}
@media screen and (max-width: 1000px) {
  .p-concept__letter__copy {
    margin-bottom: 4.1rem;
  }
}

.p-concept__letter__lines {
  letter-spacing: 0.0174rem;
  font-size: 1.4rem;
}

.p-concept__list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  width: calc(100% - 6rem - 30.4rem);
}
@media screen and (max-width: 1130px) {
  .p-concept__list {
    flex-direction: column;
  }
}
@media screen and (max-width: 1000px) {
  .p-concept__list {
    width: 100%;
    margin-top: 8.2rem;
  }
}

.p-concept__list__box {
  width: 50%;
}
.p-concept__list__box:first-child, .p-concept__list__box:nth-child(2) {
  border-bottom: solid 0.1rem rgba(255, 255, 255, 0.2);
}
.p-concept__list__box:nth-child(even) {
  border-left: solid 0.1rem rgba(255, 255, 255, 0.2);
}
@media screen and (max-width: 1130px) {
  .p-concept__list__box:nth-child(even) {
    border-left: 0;
  }
}
@media screen and (max-width: 1130px) {
  .p-concept__list__box {
    width: 100%;
    border-bottom: solid 0.1rem rgba(255, 255, 255, 0.2);
  }
  .p-concept__list__box:last-child {
    border-bottom: 0;
  }
}

.p-business {
  color: #fff;
  background-color: #323232;
}

.p-business__feature {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  width: 100%;
  gap: 3rem 3rem;
  white-space: normal;
}
@media screen and (max-width: 1000px) {
  .p-business__feature {
    flex-direction: column;
  }
}

.p-business__feature__item {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  width: calc(100%/3 - 2rem);
  min-height: 21.8rem;
}
@media screen and (max-width: 1000px) {
  .p-business__feature__item {
    width: 100%;
  }
}

.p-business__feature__item--2w {
  width: calc(100% - calc(100%/3 - 2rem) - 3rem);
}
@media screen and (max-width: 1000px) {
  .p-business__feature__item--2w {
    width: 100%;
  }
}

.p-business__feature__summary {
  margin-top: 1.5rem;
}

.p-works {
  position: relative;
  background-color: #FFF;
  color: #fff;
}

.p-works__img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
}

.p-works__img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: calc(100% - 23.7rem);
  height: 100%;
}
@media screen and (max-width: 1000px) {
  .p-works__img img {
    width: 100%;
  }
}

.p-works__feature {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 2rem 0;
  width: calc(100% - 23.7rem);
  white-space: normal;
}
@media screen and (max-width: 1000px) {
  .p-works__feature {
    width: 100%;
  }
}

.p-works__feature__item {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
}

.p-works__feature__ttl {
  font-weight: 500;
  font-size: 2.4rem;
}

.p-works__feature__summary {
  margin-top: 1.5rem;
}

.p-works__feature__summary__txt {
  margin-top: 0.5rem;
}

.p-works__feature__summary__list {
  line-height: 2rem;
}

.p-about {
  background-color: #DDD;
}

.p-about__profile {
  margin-top: 3.5rem;
  white-space: normal;
}

.p-about__profile__name {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: 2rem;
}

.p-about__profile__name__caption {
  padding-right: 3.7rem;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.4rem;
}
@media screen and (max-width: 1000px) {
  .p-about__profile__name__caption {
    display: block;
    padding-right: 0;
  }
}

.p-about__profile__txt {
  -moz-column-count: 2;
       column-count: 2;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  margin-top: 0.5rem;
  line-height: 1.8rem;
  font-size: 1rem;
}

.p-about__history {
  margin-top: 2rem;
}

.p-about__history__ttl {
  font-weight: 500;
  font-size: 1.4rem;
}

.p-about__history__txt {
  margin-top: 0.5rem;
}

.p-about__history__list {
  white-space: normal;
}

.p-about__history__list__item {
  display: inline;
  line-height: 1.4rem;
  letter-spacing: 0.0332em;
  font-size: 0.9rem;
}
.p-about__history__list__item::after {
  content: "／";
}
.p-about__history__list__item:last-child::after {
  content: "";
}

.p-about__president picture {
  display: block;
  height: 100%;
}
@media screen and (max-width: 1024px) {
  .p-about__president picture {
    width: 23.7rem;
    height: 100%;
  }
}
@media screen and (max-width: 1000px) {
  .p-about__president picture {
    width: 100%;
    height: 84vh;
  }
}
.p-about__president picture img {
  width: auto;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1024px) {
  .p-about__president picture img {
    width: 23.7rem;
    height: 100%;
  }
}
@media screen and (max-width: 1000px) {
  .p-about__president picture img {
    width: 100%;
    height: auto;
  }
}

.p-contact {
  color: #fff;
  background-color: #000;
}

.p-contact__ttl,
.p-contact__txt {
  white-space: normal;
}

.p-contact__ttl {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: 2rem;
}

.p-contact__txt {
  margin-top: 1.5rem;
  font-size: 1rem;
}
.p-contact__txt a {
  height: 1.2rem;
  overflow: hidden;
  color: #fff;
  text-align: center;
}

.p-letters__lines {
  margin-top: 2.3rem;
  font-weight: 400;
}

.p-link-txt {
  display: inline-block;
  height: 1em;
  vertical-align: text-top;
}

[data-scroll-direction=horizontal] [data-scroll-container] {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
}

.is-inview .c-blur {
  filter: blur(0.4rem);
  -webkit-animation: 1.4s blur-view both ease-in;
          animation: 1.4s blur-view both ease-in;
}

@-webkit-keyframes blur-view {
  0% {
    filter: blur(0.4rem);
  }
  100% {
    filter: blur(0);
  }
}

@keyframes blur-view {
  0% {
    filter: blur(0.4rem);
  }
  100% {
    filter: blur(0);
  }
}
.p-about.is-inview picture {
  transform: translateX(100%);
  -webkit-animation: 2s p-about__president__inview_pc both ease-out;
          animation: 2s p-about__president__inview_pc both ease-out;
}
@media screen and (max-width: 1000px) {
  .p-about.is-inview picture {
    transform: translateX(0);
    transform: translateY(100%);
    -webkit-animation: 3s p-about__president__inview_sp both ease-out;
            animation: 3s p-about__president__inview_sp both ease-out;
  }
}

@-webkit-keyframes p-about__president__inview_pc {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(0);
  }
}

@keyframes p-about__president__inview_pc {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(0);
  }
}
@-webkit-keyframes p-about__president__inview_sp {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes p-about__president__inview_sp {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
.js-locomotive-scroll__gnav__item--current .c-link__inr:nth-child(1) {
  transform: translateY(-110%);
}
.js-locomotive-scroll__gnav__item--current .c-link__inr:nth-child(2) {
  font-weight: 700;
  transform: translateY(-100%);
}
/*# sourceMappingURL=common.css.map */