.firefox body {
  scrollbar-width: none;
}

body::-webkit-scrollbar {
  display: none;
}

/*--------------------------------
 .p-loading
--------------------------------*/
.p-loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #fff;
  z-index: 100;
  -webkit-transition: opacity 1s ease-out;
  transition: opacity 1s ease-out;
}
.p-loading .-bg {
  position: absolute;
  top: 0.5rem;
  right: 0;
  width: 100%;
  height: 100%;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-loading .-bg {
    top: 0;
    background: #F4F2F1;
  }
}
.p-loading .-bg img {
  width: auto;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .p-loading .-bg img {
    width: 100%;
    height: auto;
    aspect-ratio: 375/597;
  }
}
.p-loading .-logo {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 13rem;
  height: 5.2rem;
}
.p-loading .-logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-loading .-logo span {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
.p-loading.is-loaded {
  opacity: 0;
  pointer-events: none;
}
.p-loading .btt-loading .btt-line {
  overflow: hidden;
}
.p-loading .btt-loading .btt-line span {
  display: inline-block;
}

/*--------------------------------
 .p-mv
--------------------------------*/
.p-mv {
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-mv {
    background: #272526;
    height: 100svh;
  }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  .p-mv {
    height: auto;
  }
}
.p-mv .u-bgline {
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-mv .u-bgline {
    z-index: 99;
  }
}
.p-mv .-mask {
  position: absolute;
  top: 0;
  right: 0;
  width: 100vw;
  height: 100vh;
  z-index: 10;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-mv .-mask {
    width: 100%;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
    aspect-ratio: 132/162;
  }
}
.p-mv .-slider:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(rgba(39, 37, 38, 0)), to(rgba(39, 37, 38, 0.5)));
  background: linear-gradient(to right, rgba(39, 37, 38, 0) 0%, rgba(39, 37, 38, 0.5) 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 0.5;
}
.p-mv .-slider .slide {
  width: 100vw;
  height: 100vh;
  min-height: 70rem;
  overflow: hidden;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-mv .-slider .slide {
    width: 100%;
    height: auto;
    aspect-ratio: 132/162;
    min-height: auto;
  }
}
.p-mv .-slider .slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  -webkit-transition: -webkit-transform 8s ease-out;
  transition: -webkit-transform 8s ease-out;
  transition: transform 8s ease-out;
  transition: transform 8s ease-out, -webkit-transform 8s ease-out;
}
.p-mv .-slider .slide.is-active img {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.p-mv .-catch-ja {
  font-size: 4.2rem;
  font-weight: 600;
  color: #F4F2F1;
  letter-spacing: -0.15rem;
  position: absolute;
  left: 6.5rem;
  bottom: 14.5rem;
  z-index: 12;
}
@media screen and (max-width: 767px) {
  .p-mv .-catch-ja {
    font-size: 2.4rem;
    font-weight: 500;
    letter-spacing: 0;
    left: 4%;
    bottom: 21rem;
  }
}
.p-mv .-catch-img {
  position: absolute;
  width: 115rem;
  bottom: 22.4rem;
  left: 6.5rem;
  mix-blend-mode: color-dodge;
  opacity: 0.8;
  z-index: 11;
}
@media screen and (max-width: 767px) {
  .p-mv .-catch-img {
    width: 92%;
    position: absolute;
    bottom: 26rem;
    left: 4%;
  }
}
.p-mv .-catch-img .img {
  overflow: hidden;
  width: 100%;
  height: 100%;
  position: relative;
  text-align: left;
}
.p-mv .-catch-img .img + .img {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-mv .-catch-img .img + .img {
    margin-top: 1.5rem;
  }
}
.p-mv .-catch-img span {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}
.p-mv .-catch-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-mv .-catch-img .m-01 {
  width: 19.8rem;
  height: 9.6rem;
}
@media screen and (max-width: 767px) {
  .p-mv .-catch-img .m-01 {
    width: 12.5rem;
    height: 6.2rem;
  }
}
.p-mv .-catch-img .m-02 {
  width: 46.9rem;
  height: 9.5rem;
}
@media screen and (max-width: 767px) {
  .p-mv .-catch-img .m-02 {
    width: 27.7rem;
    height: 5.6rem;
  }
}
.p-mv .-catch-img .m-03 {
  width: 53rem;
  height: 11.5rem;
}
@media screen and (max-width: 767px) {
  .p-mv .-catch-img .m-03 {
    width: 30.6rem;
    height: 6.5rem;
  }
}
.p-mv .-lead {
  position: absolute;
  bottom: 6.4rem;
  color: #F4F2F1;
  font-size: 1.9rem;
  font-weight: 400;
  line-height: 1.8;
  z-index: 14;
  left: 6.5rem;
}
@media screen and (max-width: 767px) {
  .p-mv .-lead {
    width: 100%;
    padding: 0 5%;
    position: relative;
    -webkit-transform: none;
            transform: none;
    z-index: 14;
    bottom: 2rem;
    margin-top: 4rem;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.7;
    left: 0;
  }
}
.p-mv .-pickup {
  background: #F4F2F1;
  position: absolute;
  right: 0;
  width: 43.2rem;
  bottom: 6.4rem;
  padding: 2.5rem 2rem 3rem 5rem;
  z-index: 11;
}
@media screen and (max-width: 767px) {
  .p-mv .-pickup {
    width: 92%;
    bottom: auto;
    left: 4%;
    position: relative;
    padding: 1.8rem 2rem 2rem 5rem;
    bottom: 0;
  }
}
.p-mv .-pickup:before {
  content: "PICK UP";
  font-family: "Poppins", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.2rem;
  color: #F4F2F1;
  position: absolute;
  top: 4rem;
  left: -2.4rem;
  padding: 0.5rem 1rem;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-mv .-pickup:before {
    font-size: 1.4rem;
    letter-spacing: 0.08rem;
    top: 3rem;
    left: -2.5rem;
    font-weight: 400;
  }
}
.p-mv .-pickup:after {
  content: "";
  display: block;
  width: 3rem;
  height: 100%;
  background: #E60012;
  position: absolute;
  top: 0;
  left: 0;
}
.p-mv .-pickup .pickup-info {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .p-mv .-pickup .pickup-info {
    margin-bottom: 0.8rem;
  }
}
.p-mv .-pickup .pickup-info .-date {
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 1.8;
  color: #656363;
}
.p-mv .-pickup .pickup-info .-tag {
  display: inline-block;
  background: #DFDDDD;
  height: 2rem;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  padding: 0 1.5rem;
  font-size: 1.2rem;
  font-weight: 400;
}
.p-mv .-pickup .pickup-link {
  font-size: 1.5rem;
  letter-spacing: 0;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
}
@media screen and (max-width: 767px) {
  .p-mv .sp-wrap {
    position: absolute;
    bottom: 2rem;
    left: 0;
    width: 100%;
  }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  .p-mv .sp-wrap {
    bottom: -10rem;
  }
}

.p-reason {
  padding: 16rem 0 19rem;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-reason {
    padding: 12rem 0 10rem;
  }
}
.p-reason .-wrap {
  padding-right: 50%;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .p-reason .-wrap {
    padding-right: 0;
  }
}
.p-reason .-headline {
  font-size: 2rem;
  font-weight: 700;
  color: #F4F2F1;
  position: relative;
  padding-left: 2rem;
  margin-bottom: 6.5rem;
}
@media screen and (max-width: 767px) {
  .p-reason .-headline {
    font-size: 1.6rem;
    font-weight: 400;
    margin-bottom: 4rem;
  }
}
.p-reason .-headline:before {
  content: "";
  width: 0.9rem;
  height: 2rem;
  background: url(../img/headline_icn.png) no-repeat center center/contain;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-reason .-catch {
  margin-bottom: 3.5rem;
  color: #F4F2F1;
}
.p-reason .-catch .big {
  font-size: 4.2rem;
  font-weight: 600;
  display: block;
  margin-bottom: 1rem;
}
.p-reason .-catch .small {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.4;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-reason .-catch .small {
    line-height: 180%;
  }
}
.p-reason .-img {
  position: absolute;
  right: 0.6rem;
  top: 12.3rem;
  width: 56.6rem;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .p-reason .-img {
    position: relative;
    right: auto;
    top: auto;
    width: 100%;
    margin-bottom: 7.5rem;
  }
}
.p-reason .-img .circle {
  position: absolute;
  top: 2.5rem;
  left: 3.3rem;
  width: 50.9rem;
  height: 43rem;
}
@media screen and (max-width: 767px) {
  .p-reason .-img .circle {
    width: 30.9rem;
    height: 27.5rem;
    top: 1.6rem;
    left: 2rem;
  }
}
.p-reason .-img .circle svg {
  fill: none;
  stroke-dasharray: 4px;
  -webkit-animation: dashcircle 1s linear infinite;
          animation: dashcircle 1s linear infinite;
}
@-webkit-keyframes dashcircle {
  from {
    stroke-dashoffset: 40;
  }
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes dashcircle {
  from {
    stroke-dashoffset: 40;
  }
  to {
    stroke-dashoffset: 0;
  }
}
.p-reason .-img img {
  width: 100%;
}
.p-reason .-img .path {
  position: absolute;
  left: 1rem;
  right: 0;
  margin: 0 auto;
  top: 10.8rem;
  text-align: center;
  width: 43.2rem;
  height: 27.2rem;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-reason .-img .path {
    width: 26rem;
    height: 16rem;
    top: 6.3rem;
  }
}
.p-reason .-img .path svg {
  width: 100%;
  height: 100%;
}
.p-reason .-img .path:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 32.3rem;
  height: 31.2rem;
  background: url(../img/index/reason_grad.png) no-repeat center center/cover;
  offset-path: path("M305.505 54.7568C291.847 31.0999 264.563 16.5526 228.994 14.0101C193.514 11.4739 151.259 21.1461 111.074 44.3469C70.8894 67.5477 41.3858 99.3053 25.842 131.3C10.2593 163.375 9.21526 194.277 22.8736 217.934C36.5319 241.591 63.8155 256.137 99.3845 258.679C134.865 261.215 177.119 251.543 217.304 228.343C257.489 205.142 286.993 173.384 302.537 141.389C318.119 109.314 319.163 78.4136 305.505 54.7568Z");
  -webkit-animation: move01 10s linear infinite;
          animation: move01 10s linear infinite;
  offset-rotate: 0deg;
}
@media screen and (max-width: 767px) {
  .p-reason .-img .path:before {
    width: 12rem;
    height: 12rem;
    top: 0;
    right: 0;
    margin: 0 auto;
    offset-path: path("M67.0521 25.5917C91.5213 11.4644 117.304 5.54155 139.033 7.0947C160.807 8.6511 177.771 17.5814 186.31 32.3719C194.85 47.1624 194.101 66.3191 184.562 85.9538C175.043 105.548 157.022 124.915 132.553 139.043C108.084 153.17 82.3003 159.093 60.5711 157.54C38.7977 155.984 21.834 147.053 13.2948 132.263C4.75551 117.472 5.50308 98.3157 15.0418 78.6811C24.5613 59.0865 42.5827 39.7191 67.0521 25.5917Z");
    -webkit-animation: move01-sp 10s linear infinite;
            animation: move01-sp 10s linear infinite;
  }
}
.p-reason .-img .path:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 32.3rem;
  height: 31.2rem;
  background: url(../img/index/reason_grad.png) no-repeat center center/cover;
  offset-path: path("M305.505 54.7568C291.847 31.0999 264.563 16.5526 228.994 14.0101C193.514 11.4739 151.259 21.1461 111.074 44.3469C70.8894 67.5477 41.3858 99.3053 25.842 131.3C10.2593 163.375 9.21526 194.277 22.8736 217.934C36.5319 241.591 63.8155 256.137 99.3845 258.679C134.865 261.215 177.119 251.543 217.304 228.343C257.489 205.142 286.993 173.384 302.537 141.389C318.119 109.314 319.163 78.4136 305.505 54.7568Z");
  -webkit-animation: move02 10s linear infinite;
          animation: move02 10s linear infinite;
  offset-rotate: 0deg;
}
@media screen and (max-width: 767px) {
  .p-reason .-img .path:after {
    width: 12rem;
    height: 12rem;
    margin: 0 auto;
    offset-path: path("M67.0521 25.5917C91.5213 11.4644 117.304 5.54155 139.033 7.0947C160.807 8.6511 177.771 17.5814 186.31 32.3719C194.85 47.1624 194.101 66.3191 184.562 85.9538C175.043 105.548 157.022 124.915 132.553 139.043C108.084 153.17 82.3003 159.093 60.5711 157.54C38.7977 155.984 21.834 147.053 13.2948 132.263C4.75551 117.472 5.50308 98.3157 15.0418 78.6811C24.5613 59.0865 42.5827 39.7191 67.0521 25.5917Z");
    -webkit-animation: move02-sp 10s linear infinite;
            animation: move02-sp 10s linear infinite;
  }
}
@-webkit-keyframes move01 {
  0% {
    offset-distance: 100%;
  }
  100% {
    offset-distance: 0%;
  }
}
@keyframes move01 {
  0% {
    offset-distance: 100%;
  }
  100% {
    offset-distance: 0%;
  }
}
@-webkit-keyframes move02 {
  0% {
    offset-distance: 150%;
  }
  100% {
    offset-distance: 50%;
  }
}
@keyframes move02 {
  0% {
    offset-distance: 150%;
  }
  100% {
    offset-distance: 50%;
  }
}
@-webkit-keyframes move01-sp {
  0% {
    offset-distance: 0%;
  }
  100% {
    offset-distance: 100%;
  }
}
@keyframes move01-sp {
  0% {
    offset-distance: 0%;
  }
  100% {
    offset-distance: 100%;
  }
}
@-webkit-keyframes move02-sp {
  0% {
    offset-distance: 50%;
  }
  100% {
    offset-distance: 150%;
  }
}
@keyframes move02-sp {
  0% {
    offset-distance: 50%;
  }
  100% {
    offset-distance: 150%;
  }
}
.p-reason .-img .item {
  position: absolute;
  width: 13rem;
  height: 13rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-reason .-img .item {
    width: 8rem;
    height: 8rem;
  }
}
.p-reason .-img .item.m-01 {
  top: 14rem;
  left: 10rem;
}
@media screen and (max-width: 767px) {
  .p-reason .-img .item.m-01 {
    top: 8rem;
    left: 7rem;
  }
}
.p-reason .-img .item.m-02 {
  top: 22rem;
  left: 34rem;
}
@media screen and (max-width: 767px) {
  .p-reason .-img .item.m-02 {
    top: 14rem;
    left: 20rem;
  }
}
.p-reason .-img .item img {
  width: 13rem;
}
@media screen and (max-width: 767px) {
  .p-reason .-img .item img {
    width: 8rem;
  }
}
.p-reason .-tags {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  gap: 1rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-reason .-tags {
    margin-bottom: 2rem;
  }
}
.p-reason .-tags .tag {
  border: 1px solid #797777;
  color: #F4F2F1;
  font-size: 1.8rem;
  padding: 0.8rem 1.9rem;
}
@media screen and (max-width: 767px) {
  .p-reason .-tags .tag {
    font-size: 1.6rem;
    padding: 0.6rem 1.9rem;
  }
}
.p-reason .-detail {
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 2.5;
  color: #F4F2F1;
  margin-bottom: 4.9rem;
}
@media screen and (max-width: 767px) {
  .p-reason .-detail {
    font-size: 1.4rem;
    line-height: 2.3;
  }
}
.p-reason .-btn {
  margin-top: 3rem;
}

.p-technology {
  padding: 8rem 0 24rem 0;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-technology {
    padding: 27rem 0 36rem;
    overflow: hidden;
  }
}
.p-technology:after {
  content: "";
  display: block;
  width: calc(50vw + 57.6rem);
  height: calc(100% - 16rem);
  background: rgba(244, 242, 241, 0.1);
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-technology:after {
    width: 96%;
    height: calc(100% - 17.5rem);
    top: 5rem;
    z-index: 1;
  }
}
.p-technology .c-inner {
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .p-technology .c-inner {
    height: 100%;
    position: static;
  }
}
.p-technology .-head {
  margin-bottom: 3.5rem;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .p-technology .-head {
    margin-bottom: 2rem;
  }
}
.p-technology .-img {
  width: 47.2rem;
  position: absolute;
  overflow: hidden;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .p-technology .-img {
    width: 32rem;
  }
}
.p-technology .-img.m-01 {
  right: -10rem;
  top: -13rem;
}
@media screen and (max-width: 767px) {
  .p-technology .-img.m-01 {
    right: 0;
    top: 0;
  }
}
.p-technology .-img.m-02 {
  right: 13rem;
  top: 22.5rem;
}
@media screen and (max-width: 767px) {
  .p-technology .-img.m-02 {
    right: auto;
    top: auto;
    left: 0;
    bottom: 8rem;
  }
}
.p-technology .-catch {
  font-size: 2.4rem;
  font-weight: 600;
  color: #F4F2F1;
  margin-bottom: 2.8rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-technology .-catch {
    font-size: 2.4rem;
    margin-bottom: 2rem;
    line-height: 1.7;
    position: relative;
    z-index: 3;
  }
}
.p-technology .-catch span {
  display: inline-block;
}
.p-technology .-detail {
  line-height: 2;
  color: #F4F2F1;
  margin-bottom: 3.8rem;
}
@media screen and (max-width: 767px) {
  .p-technology .-detail {
    font-size: 1.4rem;
    line-height: 1.9;
    position: relative;
    z-index: 3;
  }
}
.p-technology .-btn {
  position: relative;
  z-index: 3;
}

.p-project {
  padding: 16.5rem 0;
  position: relative;
  z-index: 1;
  /*.-list {
  	margin: 5rem 6rem 4rem;
  	@include flex(center,start);
  	gap: 2rem 1rem;
  	flex-wrap: wrap;
  	@include mq(m) {
  		margin: 2rem 0 2rem;
  		flex-direction: column;
  		align-items: center;
  		gap: 1.2rem;
  	}
  	li {
  		color: $color-white;
  		a {
  			font-size: 1.4rem;
  			border: 1px solid $color-white;
  			display: block;
  			padding: .8rem 2rem;
  			font-weight: 400;
  			letter-spacing: 0;
  			text-align: center;
  			text-decoration: none;
  			transition: border .3s ease-out;
  			width: 28rem;
  			@media screen and (any-hover: hover) {
  				@include mq(pc) {
  					&:hover {
  						border: 1px solid $color-red;
  					}
  				}
  			}
  			@include mq(m) {
  				font-weight: 300;
  				padding: .9rem 2rem;
  			}
  			span {
  				font-size: 1.6rem;
  				display: inline-block;
  				text-decoration: underline;
  				padding-right: 3rem;
  				margin-bottom: .8rem;
  				position: relative;
  				&:after {
  					content: "";
  					width: 2.2rem;
  					height: .7rem;
  					background: url(../img/index/project_arrow.svg) no-repeat center center / contain;
  					position: absolute;
  					right: 0;
  					top: 50%;
  					transform: translateY(-50%);
  				}
  			}
  		}
  	}
  }*/
}
@media screen and (max-width: 767px) {
  .p-project {
    padding: 9rem 0;
  }
}
.p-project .-bg {
  background: url(../img/index/project_bg_pc.jpg) no-repeat center center/cover;
  width: 123.2rem;
  padding: 10rem 0 8rem;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-project .-bg {
    width: 92%;
    margin: 0 4%;
    padding: 6rem 0 6rem;
    background-image: url(../img/index/project_bg_sp.jpg);
  }
}
.p-project .-head {
  margin-bottom: 3.3rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-project .-head {
    margin-bottom: 2rem;
  }
}
.p-project .-head .-headline {
  display: inline-block;
  color: #F4F2F1;
}
.p-project .-head .-en {
  font-weight: 400;
  color: #F4F2F1;
}
.p-project .-catch {
  font-size: 2.4rem;
  font-weight: 600;
  color: #F4F2F1;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-project .-catch {
    line-height: 1.8;
    font-weight: 500;
  }
}
.p-project .-detail {
  color: #fff;
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: center;
  margin: 3.2rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-project .-detail {
    font-size: 1.5rem;
    font-weight: 300;
    margin-top: 1rem;
  }
}
.p-project .-btn {
  margin: 6rem auto 0;
}
@media screen and (max-width: 767px) {
  .p-project .-btn {
    width: 88%;
    margin-top: 3rem;
  }
}

.p-eyecatch {
  padding: 0rem 0;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-eyecatch {
    padding: 3.5rem 0 13rem;
  }
}
.p-eyecatch .c-loopslide {
  position: relative;
  z-index: 2;
}

.p-information {
  padding: 21.5rem 0;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .p-information {
    padding: 7rem 5% 12rem;
  }
}
.p-information:before {
  content: "";
  display: block;
  height: calc(100% - 54rem);
  background: rgba(255, 255, 255, 0.7);
  position: absolute;
  right: 0;
  top: 33rem;
  width: calc(50vw + 57.6rem + 1px);
  z-index: 2;
  backdrop-filter: blur(0.5rem);
  -webkit-backdrop-filter: blur(0.5rem);
  -webkit-box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.05);
          box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.05);
}
@media screen and (max-width: 767px) {
  .p-information:before {
    width: 96%;
    left: auto;
    right: 0;
    top: 0;
    height: calc(100% - 6rem);
    -webkit-box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.1);
            box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.1);
  }
}
.p-information .c-inner {
  position: relative;
}
.p-information .-head {
  position: relative;
  z-index: 3;
}
.p-information .-head .-headline {
  color: #E60012;
}
.p-information .-info {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  position: relative;
  padding: 9.5rem 0 8rem 7.5rem;
  gap: 3rem;
  z-index: 2;
  margin-top: -5rem;
}
@media screen and (max-width: 767px) {
  .p-information .-info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 2rem 0;
    margin-top: 0;
  }
}
.p-information .-info .info-tags {
  width: 16rem;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .p-information .-info .info-tags {
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.8rem;
  }
}
.p-information .-info .info-tags .-tag {
  background: #DFDDDD;
  text-decoration: underline;
  width: 100%;
  height: 3.7rem;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  cursor: pointer;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
  .p-information .-info .info-tags .-tag:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .p-information .-info .info-tags .-tag {
    width: 14.3rem;
    height: 2.9rem;
  }
}
.p-information .-info .info-tags .-tag.is-current {
  background: #E60012;
  color: #fff;
  text-decoration: none;
}
.p-information .-info .info-list {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-information .-info .info-list .-item {
  padding: 3rem 3.5rem;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  gap: 1.6rem;
  background: #F4F2F1;
  min-height: 11rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-information .-info .info-list .-item {
    padding: 1.5rem 1.5rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.p-information .-info .info-list .-item + .-item {
  margin-top: 1.5rem;
}
.p-information .-info .info-list .-item .date {
  font-size: 1.6rem;
  font-family: "Poppins", sans-serif;
  min-width: 6em;
}
@media screen and (max-width: 767px) {
  .p-information .-info .info-list .-item .date {
    font-size: 1.4rem;
  }
}
.p-information .-info .info-list .-item .category {
  font-size: 1.5rem;
  width: 9.2rem;
  height: 2.6rem;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  background: none;
  border: 1px solid #E60012;
  color: #E60012;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .p-information .-info .info-list .-item .category {
    font-size: 1.4rem;
  }
}
.p-information .-info .info-list .-item .title {
  color: #272526;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.6;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  line-clamp: 2;
}
@media screen and (max-width: 767px) {
  .p-information .-info .info-list .-item .title {
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    font-size: 1.4rem;
  }
}
.p-information .-btn {
  margin: 0 auto;
  position: absolute;
  top: 8rem;
  right: 0;
  z-index: 4;
}
@media screen and (max-width: 767px) {
  .p-information .-btn {
    position: relative;
    top: 0;
    width: 100%;
    margin-top: 2.5rem;
  }
}
.p-information .-deco {
  position: absolute;
  opacity: 0.7;
  z-index: 0;
}
.p-information .-deco.m-01 {
  top: 29rem;
  right: 0;
  width: 10rem;
  height: 20rem;
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .p-information .-deco.m-01 {
    top: -5rem;
    width: 12rem;
    height: 10rem;
  }
}
.p-information .-deco.m-02 {
  width: 20rem;
  height: 20rem;
  bottom: 17rem;
  left: 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-information .-deco.m-02 {
    width: 12rem;
    height: 12rem;
    bottom: 0;
  }
}
.p-information .js-tabpanel {
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
  height: 0;
  visibility: hidden;
}
.p-information .js-tabpanel.is-show {
  opacity: 1;
  height: auto;
  visibility: visible;
}

.p-company {
  padding: 4rem 0;
  position: relative;
  min-height: 63rem;
}
@media screen and (max-width: 767px) {
  .p-company {
    padding: 7rem 0 6rem;
    min-height: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-company .c-inner {
    position: relative;
    z-index: 2;
  }
}
.p-company .-head {
  margin-bottom: 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-company .-head {
    margin-bottom: 1.5rem;
  }
}
.p-company .-head .-headline {
  color: #E60012;
}
.p-company .-img {
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 50%;
  margin-top: -4rem;
  aspect-ratio: 72/68.3;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-company .-img {
    width: 100%;
    position: static;
    -webkit-transform: none;
            transform: none;
    aspect-ratio: auto;
    margin-bottom: 3.5rem;
    margin-top: 0;
  }
}
.p-company .-catch {
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .p-company .-catch {
    margin-bottom: 2.5rem;
  }
}
.p-company .-detail {
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-company .-detail {
    font-size: 1.6rem;
  }
}
.p-company .-btn {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-company .-btn {
    position: relative;
    top: 0;
    width: 100%;
    margin-top: 4rem;
  }
}

.p-sustainability {
  padding: 9.5rem 0 9rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-sustainability {
    padding: 0rem 0 8rem;
  }
}
.p-sustainability .-bg {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: end;
  -webkit-box-align: end;
          align-items: flex-end;
  background: #fff url(../img/index/sustainability_bg_pc.png) no-repeat left bottom/75.1rem 45.5rem;
  padding: 10rem 8rem 10rem 8rem;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-sustainability .-bg {
    display: block;
    padding: 7rem 2rem;
    background: #fff url(../img/index/sustainability_bg_sp.png) no-repeat left bottom/100% auto;
  }
}
.p-sustainability .-head {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-sustainability .-head .ttl {
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .p-sustainability .-head .ttl {
    margin-bottom: 1rem;
  }
}
.p-sustainability .-head .ttl .-headline {
  color: #E60012;
}
.p-sustainability .-head .ttl .-en {
  font-size: 8rem;
  letter-spacing: -0.4rem;
}
@media screen and (max-width: 767px) {
  .p-sustainability .-head .ttl .-en {
    font-size: 4.4rem;
    letter-spacing: -0.2rem;
  }
}
.p-sustainability .-head .catch {
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-sustainability .-head .catch {
    font-size: 1.5rem;
  }
}
.p-sustainability .-list {
  width: 32rem;
}
@media screen and (max-width: 767px) {
  .p-sustainability .-list {
    width: 100%;
    margin-top: 4rem;
  }
}
.p-sustainability .-list .item a {
  display: block;
  font-size: 1.7rem;
  font-weight: 600;
  line-height: 1.8;
  color: #272526;
  position: relative;
  text-decoration: none;
  padding: 0.8rem 6rem 1.5rem 1.5rem;
  border-bottom: 0.1rem solid #272526;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-sustainability .-list .item a {
    padding: 0.8rem 5.5rem 1.5rem 1rem;
  }
}
.p-sustainability .-list .item a:after {
  content: "";
  width: 4.5rem;
  height: 0.8rem;
  background: url(../img/index/sustainability_arrow.svg) no-repeat center center/contain;
  position: absolute;
  right: 1rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  margin-top: -0.4rem;
}
@media screen and (any-hover: hover) and (min-width: 768px) {
  .p-sustainability .-list .item a:hover {
    color: #E60012;
    border-bottom: 0.1rem solid #E60012;
  }
  .p-sustainability .-list .item a:hover:after {
    background: url(../img/index/sustainability_arrow_red.svg) no-repeat center center/contain;
  }
}
.p-sustainability .-list .item + .item {
  margin-top: 3.8rem;
}

.safari .p-sustainability .-list .item a:after {
  -webkit-transition: none;
  transition: none;
}