@charset "UTF-8";
/* =================================================================
concept
=================================================================*/
/*  コンテンツ
-------------------------------------------------------------*/
.p-home .h-title {
  font-size: 24rem;
  height: 20rem;
  line-height: 1; }

@media screen and (max-width: 767px) {
  .p-home .h-title {
    font-size: 5rem;
    height: 5rem; } }

.p-home .h-title svg {
  height: 100%; }

.p-home .h-sub-title {
  font-size: 4rem;
  line-height: 1;
  margin: 60px 0 0; }

.p-home__line-block {
  margin: 7rem 0 0; }

.p-vision__title-wrap {
  position: relative;
  padding: 20rem 0 5rem;
  line-height: 1;
  white-space: nowrap; }

@media screen and (max-width: 767px) {
  .p-vision__title-wrap {
    padding: 10rem 0 6rem; } }

.p-vision__title-wrap .main-title {
  height: 26rem; }

@media screen and (max-width: 767px) {
  .p-vision__title-wrap .main-title {
    height: 8rem; } }

.p-vision__title-wrap .main-title svg {
  height: 100%; }

.p-vision__title-wrap .main-title svg.is-active path {
  opacity: 1;
  transform: translate(0, 0%) scale(1, 1); }

.p-vision__title-wrap .main-title svg path {
  opacity: 0;
  transform: translate(0, 100%) scale(1, 3);
  transform-origin: 0 0;
  transition: opacity 0.15s 0s cubic-bezier(0.4, 0, 0.1, 1), transform 0.65s 0s cubic-bezier(0.9, 0.13, 0.15, 0.96);
  will-change: transform; }

.p-vision__title {
  font-size: 17rem;
  white-space: nowrap; }

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

.p-vision__block {
  padding: 7rem 0 0; }

@media screen and (max-width: 767px) {
  .p-vision__block {
    padding: 4rem 0 0; } }

.p-vision__block--02 {
  padding: 15rem 0 0; }

@media screen and (max-width: 767px) {
  .p-vision__block--02 {
    padding: 8rem 0 0; } }

.p-vision__block.is-active .p-vision__catch-copy,
.p-vision__block.is-active .p-vision__line {
  opacity: 1; }

.p-vision__ring {
  position: absolute;
  top: 32rem;
  left: 29rem;
  width: 28rem;
  transform: translate(-80rem, 3rem);
  transition: transform 2s 0.3s cubic-bezier(0.74, 0.08, 0.06, 0.89); }

@media screen and (max-width: 767px) {
  .p-vision__ring {
    top: 13rem;
    left: 7rem;
    width: 10rem;
    transition: transform 1.2s 0.35s cubic-bezier(0.74, 0.08, 0.06, 0.89); } }

.p-vision__ring.is-active,
.p-vision__ring.is-active {
  transform: translate(0, 0); }

.p-vision__copy-container {
  display: flex;
  flex-direction: column;
  padding: 0 0 15rem;
  width: 65rem;
  margin: 0 0 0 auto; }

@media screen and (max-width: 767px) {
  .p-vision__copy-container {
    width: 100%;
    padding: 0 0 10rem; } }

.p-vision__copy-container--left {
  margin: 0; }

.p-vision__copy-container.is-active .p-vision__catch-copy,
.p-vision__copy-container.is-active .p-vision__line {
  opacity: 1; }

.p-vision__tagline-wrap {
  position: relative;
  padding: 0 0 7rem; }

.p-vision__tagline {
  height: 11vw;
  max-height: 24rem; }

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

.p-vision__tagline svg {
  height: 100%; }

@media screen and (max-width: 767px) {
  .p-vision__tagline svg {
    height: auto;
    width: 100%; } }

.p-vision__tagline svg path {
  opacity: 0;
  transform: translate(100%, 0) scale(2, 1);
  transform-origin: 0 0;
  transition: opacity 0.15s 0s cubic-bezier(0.4, 0, 0.1, 1), transform 0.65s 0s cubic-bezier(0.9, 0.13, 0.15, 0.96);
  will-change: transform; }

.p-vision__tagline svg path:nth-child(0) {
  transition-delay: 0s; }

.p-vision__tagline svg path:nth-child(1) {
  transition-delay: 0.065s; }

.p-vision__tagline svg path:nth-child(2) {
  transition-delay: 0.13s; }

.p-vision__tagline svg path:nth-child(3) {
  transition-delay: 0.195s; }

.p-vision__tagline svg path:nth-child(4) {
  transition-delay: 0.26s; }

.p-vision__tagline svg path:nth-child(5) {
  transition-delay: 0.325s; }

.p-vision__tagline svg path:nth-child(6) {
  transition-delay: 0.39s; }

.p-vision__tagline svg path:nth-child(7) {
  transition-delay: 0.455s; }

.p-vision__tagline svg path:nth-child(8) {
  transition-delay: 0.52s; }

.p-vision__tagline svg path:nth-child(9) {
  transition-delay: 0.585s; }

.p-vision__tagline svg path:nth-child(10) {
  transition-delay: 0.65s; }

.p-vision__tagline svg path:nth-child(11) {
  transition-delay: 0.715s; }

.p-vision__tagline svg path:nth-child(12) {
  transition-delay: 0.78s; }

.p-vision__tagline svg path:nth-child(13) {
  transition-delay: 0.845s; }

.p-vision__tagline svg path:nth-child(14) {
  transition-delay: 0.91s; }

.p-vision__tagline svg path:nth-child(15) {
  transition-delay: 0.975s; }

.p-vision__tagline svg path:nth-child(16) {
  transition-delay: 1.04s; }

.p-vision__tagline svg path:nth-child(17) {
  transition-delay: 1.105s; }

.p-vision__tagline svg path:nth-child(18) {
  transition-delay: 1.17s; }

.p-vision__tagline svg path:nth-child(19) {
  transition-delay: 1.235s; }

.p-vision__tagline.is-active path,
.p-vision__tagline.is-inview path {
  opacity: 1;
  transform: translate(0, 0%) scale(1, 1); }

.p-vision__tagline-ring {
  position: absolute;
  top: 10rem;
  left: 29rem;
  width: 28rem; }

@media screen and (max-width: 767px) {
  .p-vision__tagline-ring {
    top: 3rem;
    left: 7rem;
    width: 10rem; } }

.p-vision__copy-title {
  position: relative;
  display: flex;
  font-size: 2rem;
  padding: 0 0 0.6rem;
  margin: 0 0 1.5rem; }

.p-vision__copy-title:after {
  content: "";
  display: block;
  width: 0%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #000;
  transition: width 0.8s cubic-bezier(0.4, 0, 0.1, 1); }

.p-vision__copy-title .char {
  opacity: 0;
  transform: translate(3em, 0) scale(1.4, 1);
  transform-origin: 0 0;
  transition: opacity 0.55s 0s cubic-bezier(0.4, 0, 0.1, 1), transform 0.65s 0s cubic-bezier(0.9, 0.13, 0.15, 0.96);
  will-change: transform; }

.p-vision__copy-title .char:nth-child(0) {
  transition-delay: 0s; }

.p-vision__copy-title .char:nth-child(1) {
  transition-delay: 0.035s; }

.p-vision__copy-title .char:nth-child(2) {
  transition-delay: 0.07s; }

.p-vision__copy-title .char:nth-child(3) {
  transition-delay: 0.105s; }

.p-vision__copy-title .char:nth-child(4) {
  transition-delay: 0.14s; }

.p-vision__copy-title .char:nth-child(5) {
  transition-delay: 0.175s; }

.p-vision__copy-title .char:nth-child(6) {
  transition-delay: 0.21s; }

.p-vision__copy-title .char:nth-child(7) {
  transition-delay: 0.245s; }

.p-vision__copy-title .char:nth-child(8) {
  transition-delay: 0.28s; }

.p-vision__copy-title .char:nth-child(9) {
  transition-delay: 0.315s; }

.p-vision__copy-title.is-active:after {
  width: 100%; }

.p-vision__copy-title.is-active .char {
  opacity: 1;
  transform: translate(0, 0%) scale(1, 1); }

.p-vision__catch-copy {
  font-size: 3.2rem;
  line-height: 1;
  margin: 0 0 2rem;
  font-weight: 500;
  overflow: hidden;
  opacity: 0;
  transform-origin: 0 0;
  transition: opacity 0.75s 0.35s cubic-bezier(0.4, 0, 0.1, 1); }

@media screen and (max-width: 767px) {
  .p-vision__catch-copy {
    display: flex;
    align-items: center; } }

.p-vision__catch-copy.is-active {
  opacity: 1; }

.p-vision__catch-copy--multiline {
  line-height: 1.35; }

@media screen and (max-width: 767px) {
  .p-vision__catch-copy {
    font-size: 2rem;
    line-height: 1.2;
    margin: 0 0 1.5rem; } }

@media screen and (max-width: 767px) {
  .p-vision__catch-copy .word {
    overflow: hidden;
    padding: 0.6rem 0px;
    line-height: 1; } }

.p-vision__catch-copy svg {
  height: 2.5rem;
  margin: 0; }

@media screen and (max-width: 767px) {
  .p-vision__catch-copy svg {
    height: 2rem;
    margin: 0 0.6rem 0 0; } }

.p-vision__desc {
  font-size: 1.8rem;
  line-height: 2;
  opacity: 0;
  transition: opacity 0.75s 0.65s cubic-bezier(0.4, 0, 0.1, 1); }

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

.p-vision__desc.is-active {
  opacity: 1; }

.p-vision__line {
  display: block;
  font-size: 1.8rem;
  line-height: 1;
  overflow: hidden;
  opacity: 0;
  transform-origin: 0 0;
  transition: opacity 0.75s 1.45s cubic-bezier(0.4, 0, 0.1, 1); }

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

.p-vision__line.is-active {
  opacity: 1; }

.p-vision__line + span {
  margin: 1.5rem 0 0; }

@media screen and (max-width: 767px) {
  .p-vision__line + span {
    margin: 1.5rem 0 0; } }

.p-vision__image-cut {
  width: 100vw;
  height: 80rem;
  background: #eee;
  border-top: 1px solid;
  border-bottom: 1px solid;
  margin-left: -120px;
  overflow: hidden; }

@media screen and (max-width: 767px) {
  .p-vision__image-cut {
    width: 100vw;
    height: 28rem;
    margin-left: -20px; } }

.p-vision__image-cut img {
  width: 100%;
  height: calc(100% + 1rem);
  -o-object-fit: cover;
  object-fit: cover; }

@media screen and (max-width: 767px) {
  .p-vision__image-cut img {
    height: calc(100% + 3rem); } }

.h-section {
  position: relative;
  display: flex;
  padding: 8rem 0 15rem;
  background: #fff;
  z-index: 0; }

@media screen and (max-width: 767px) {
  .h-section {
    padding: 8rem 0 0; } }

.h-section--last {
  padding: 8rem 0 15rem; }

@media screen and (max-width: 767px) {
  .h-section--last {
    padding: 8rem 0 4rem; } }

.h-section__txt-column {
  mix-blend-mode: difference;
  color: white;
  width: 65rem;
  z-index: 9; }

@media screen and (max-width: 767px) {
  .h-section__txt-column {
    width: 100%; } }

@media screen and (min-width: 1600px) {
  .h-section__txt-column {
    margin: 0 0 0 calc(100vw - 160rem); } }

.h-section__txt-column--right {
  margin: 0 0 0 auto; }

@media screen and (min-width: 1600px) {
  .h-section__txt-column--right {
    margin: 0 0 0 75rem; } }

.h-section__title {
  line-height: 1;
  letter-spacing: -0.2rem;
  margin: 0 0 35rem;
  font-weight: 500; }

@media screen and (max-width: 767px) {
  .h-section__title {
    font-size: 4.6rem;
    margin: 0 0 21rem; } }

.h-section__title.line-1 {
  height: 10rem;
  margin: 14rem 0 30rem; }

@media screen and (max-width: 767px) {
  .h-section__title.line-1 {
    height: 5rem;
    margin: 4rem 0 21rem; } }

.h-section__title.line-2 {
  height: 20rem; }

@media screen and (max-width: 767px) {
  .h-section__title.line-2 {
    height: 10rem; } }

.h-section__title.descender {
  height: 13rem; }

@media screen and (max-width: 767px) {
  .h-section__title.descender {
    height: 6.5rem; } }

.h-section__title svg {
  height: 100%; }

.h-section__title svg path {
  fill: #fff; }

.h-section__title-ja {
  font-size: 3.2rem;
  font-family: 'Yu Gothic Pr6N M';
  margin: 2rem 0 0; }

@media screen and (max-width: 767px) {
  .h-section__title-ja {
    font-size: 2.3rem;
    margin: 2rem 0 1rem;
    white-space: nowrap; } }

.h-section__desc {
  font-size: 2rem;
  line-height: 1.8;
  margin: 0;
  white-space: nowrap; }

@media screen and (max-width: 767px) {
  .h-section__desc {
    font-size: 3.4vw;
    line-height: 1.8;
    margin: 0;
    letter-spacing: -0.2px; } }

.h-section__image-wrap {
  position: absolute;
  top: 25rem;
  width: 90rem;
  height: 45rem;
  background: #eee;
  z-index: 0;
  border: 1px solid;
  overflow: hidden; }

@media screen and (max-width: 767px) {
  .h-section__image-wrap {
    top: 14rem;
    width: 100vw;
    height: 21rem;
    border: none;
    border-top: 1px solid;
    border-bottom: 1px solid; } }

.h-section__image-wrap--left {
  left: -40px; }

@media screen and (max-width: 767px) {
  .h-section__image-wrap--left {
    left: -20px; } }

.h-section__image-wrap--right {
  width: 120rem;
  right: -160px; }

@media screen and (max-width: 767px) {
  .h-section__image-wrap--right {
    width: 100vw;
    right: -20px; } }

.h-section__image-wrap video {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover; }

@media screen and (max-width: 767px) {
  .h-section__image-wrap video {
    height: 100%; } }

.h-section__image-wrap iframe {
  height: 68rem;
  min-height: 100%;
  min-width: 100%;
  position: absolute;
  top: -11rem;
  box-sizing: border-box;
  width: 100%;
  pointer-events: none; }

@media screen and (max-width: 767px) {
  .h-section__image-wrap iframe {
    top: 0;
    width: 100%;
    height: 56.25vw; } }

.h-section {
  position: relative;
  display: flex;
  padding: 8rem 0 15rem;
  background: #fff;
  z-index: 0; }

@media screen and (max-width: 767px) {
  .h-section {
    padding: 8rem 0 0; } }

.h-section--last {
  padding: 8rem 0 15rem; }

@media screen and (max-width: 767px) {
  .h-section--last {
    padding: 8rem 0 4rem; } }

.h-section__txt-column {
  mix-blend-mode: difference;
  color: white;
  width: 65rem;
  z-index: 9; }

@media screen and (max-width: 767px) {
  .h-section__txt-column {
    width: 100%; } }

@media screen and (min-width: 1600px) {
  .h-section__txt-column {
    margin: 0 0 0 calc(100vw - 160rem); } }

.h-section__txt-column--right {
  margin: 0 0 0 auto; }

@media screen and (min-width: 1600px) {
  .h-section__txt-column--right {
    margin: 0 0 0 75rem; } }

.h-section__title {
  line-height: 1;
  letter-spacing: -0.2rem;
  margin: 0 0 35rem;
  font-weight: 500; }

@media screen and (max-width: 767px) {
  .h-section__title {
    font-size: 4.6rem;
    margin: 0 0 21rem; } }

.h-section__title.line-1 {
  height: 10rem;
  margin: 14rem 0 30rem; }

@media screen and (max-width: 767px) {
  .h-section__title.line-1 {
    height: 5rem;
    margin: 4rem 0 21rem; } }

.h-section__title.line-2 {
  height: 20rem; }

@media screen and (max-width: 767px) {
  .h-section__title.line-2 {
    height: 10rem; } }

.h-section__title.descender {
  height: 13rem; }

@media screen and (max-width: 767px) {
  .h-section__title.descender {
    height: 6.5rem; } }

.h-section__title svg {
  height: 100%; }

.h-section__title svg path {
  fill: #fff; }

.h-section__title svg[data-screen="pc"] {
  display: block; }

@media screen and (max-width: 767px) {
  .h-section__title svg[data-screen="pc"] {
    display: none; } }

.h-section__title svg[data-screen="sp"] {
  display: none; }

@media screen and (max-width: 767px) {
  .h-section__title svg[data-screen="sp"] {
    display: block; } }

.h-section__title-ja {
  font-size: 3.2rem;
  font-weight: 300;
  margin: 2rem 0 0; }

@media screen and (max-width: 767px) {
  .h-section__title-ja {
    font-size: 2.3rem;
    margin: 2rem 0 1rem;
    white-space: nowrap; } }

.h-section__desc {
  font-size: 2rem;
  line-height: 1.8;
  margin: 0;
  white-space: nowrap; }

@media screen and (max-width: 767px) {
  .h-section__desc {
    font-size: 3.4vw;
    line-height: 1.8;
    margin: 0;
    letter-spacing: -0.2px; } }

.h-section__image-wrap {
  position: absolute;
  top: 25rem;
  width: 90rem;
  height: 45rem;
  background: #eee;
  z-index: 0;
  border: 1px solid;
  overflow: hidden; }

@media screen and (max-width: 767px) {
  .h-section__image-wrap {
    top: 14rem;
    width: 100vw;
    height: 21rem;
    border: none;
    border-top: 1px solid;
    border-bottom: 1px solid; } }

.h-section__image-wrap--left {
  left: -40px; }

@media screen and (max-width: 767px) {
  .h-section__image-wrap--left {
    left: -20px; } }

.h-section__image-wrap--right {
  width: 120rem;
  right: -40px; }

@media screen and (max-width: 767px) {
  .h-section__image-wrap--right {
    width: 100vw;
    right: -20px; } }

.h-section__image-wrap video {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover; }

@media screen and (max-width: 767px) {
  .h-section__image-wrap video {
    height: 100%; } }

.h-section__image-wrap iframe {
  height: 68rem;
  min-height: 100%;
  min-width: 100%;
  position: absolute;
  top: -11rem;
  box-sizing: border-box;
  width: 100%;
  pointer-events: none; }

@media screen and (max-width: 767px) {
  .h-section__image-wrap iframe {
    top: 0;
    width: 100%;
    height: 56.25vw; } }

.p-vision__mv {
  padding-left: 25vw;
  margin-bottom: 10rem;
  margin-top: -10rem;
  margin-right: -41px; }
  .p-vision__mv iframe {
    border: 1px solid #000; }

.statement.top {
  border: 0 !important; }

@media screen and (max-width: 767px) {
  .p-vision__mv {
    padding-left: 0;
    margin-bottom: 5rem;
    margin-top: -9rem;
    margin-right: 0;
    width: 100vw;
    margin-left: calc(-50vw + 50%); } }

.statement__copy-container {
  font-family: 'Yu Gothic Pr6N M';
  font-weight: normal; }
  .statement__copy-container span {
    font-weight: normal; }

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