/*!
global > color
------------------------------
*/
/*!
global > font
------------------------------
*/
.p_top__contributing__bg, .p_top__video__bg, .p_top__about__bg, .p_top__voice__bg {
  display: flex;
  flex-direction: column;
  position: absolute;
  inset: 0;
}
.p_top__contributing__bg .c_wave, .p_top__video__bg .c_wave, .p_top__about__bg .c_wave, .p_top__voice__bg .c_wave {
  flex-shrink: 0;
  position: relative;
}
.p_top__contributing__bg::after, .p_top__video__bg::after, .p_top__about__bg::after, .p_top__voice__bg::after {
  background-color: #f8faff;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
}

.p_top__contributing__desc, .p_top__lead {
  font-size: 1.0625rem;
}

.p_top__voice__box {
  font-size: 1.125rem;
}

.p_top__contributing__ttl {
  font-size: 1.25rem;
}

.p_top {
  position: relative;
}
.p_top__bg {
  position: absolute;
  z-index: 0;
  inset: 0;
}
.p_top__bg__img {
  width: 100%;
  height: 100vh;
  height: 100lvh;
  position: sticky;
  top: 0;
}
.p_top__bg__img img {
  -o-object-fit: cover;
  object-fit: cover;
  height: 100%;
  width: 100%;
  opacity: 0.2;
}
.p_top__bg__img::after {
  content: "";
  position: absolute;
  background-image: linear-gradient(45deg, #69e1a1, #00d1a6);
  inset: 0;
  mix-blend-mode: multiply;
}
.p_top__mv {
  position: relative;
  z-index: 1;
  padding-bottom: 40px;
}
.p_top__mv__gallery {
  line-height: 1;
  position: relative;
  z-index: 0;
  margin-left: auto;
  width: 90%;
}
.p_top__mv__gallery svg {
  display: block;
}
.p_top__mv__main {
  position: relative;
  z-index: 0;
}
.p_top__mv__inner {
  width: 100%;
  padding-left: 20px;
}
.p_top__mv__content {
  color: #fff;
  position: relative;
  display: table;
  margin-left: auto;
}
.p_top__mv__ttl {
  font-weight: 300;
  line-height: 1.0666666667;
  font-family: "Lato", sans-serif;
  white-space: nowrap;
  font-size: 8.5333333333vw;
  margin-top: -1.5625em;
  opacity: 0.8;
  text-align: right;
}
.p_top__mv__desc {
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.45;
  font-size: 1.25rem;
  margin-top: 10px;
}
.p_top__contributing {
  position: relative;
  z-index: 2;
  padding-top: 35vw;
}
.p_top__contributing .c_wave {
  aspect-ratio: 1600/480;
  top: 1px;
}
.p_top__contributing__img {
  width: 100%;
  mix-blend-mode: multiply;
  display: flex;
  gap: 20px;
  align-items: flex-end;
}
.p_top__contributing__img img {
  display: block;
  width: calc(50% - 10px);
}
.p_top__contributing__content {
  position: relative;
  z-index: 1;
}
.p_top__contributing__ttl {
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  font-size: 1.1875rem;
  font-size: clamp(1.1875rem, 6.6666666667vw + -0.375rem, 1.375rem);
  line-height: 34;
  line-height: clamp(2.125rem, 8.8888888889vw + 0.0416666667rem, 2.375rem);
}
.p_top__contributing__ttl > * {
  background-color: #00D1A6;
  padding-inline: 6px;
  padding-block: 2px;
}
.p_top__contributing__desc {
  line-height: 2.2;
  margin-top: 30px;
}
.p_top__video {
  position: relative;
  z-index: 1;
  padding-block: 60px;
}
.p_top__video .c_wave {
  aspect-ratio: 1600/593;
}
.p_top__video .c_wave svg {
  top: 0;
  bottom: auto;
}
.p_top__video__bg {
  flex-direction: column-reverse;
  z-index: -1;
  align-items: flex-end;
  top: 0;
  left: 0;
  right: 0;
  bottom: auto;
}
.p_top__video__bg::after {
  height: 60px;
}
.p_top__video__inner {
  margin-inline: auto;
  background-color: #F8FAFF;
  border-radius: 20px;
  width: 80vw;
  position: relative;
  overflow: clip;
  z-index: 0;
}
.p_top__video__youtube {
  top: 0;
  left: 0;
  width: 100%;
  position: absolute;
  height: 100%;
  z-index: 1;
}
.p_top__video__youtube iframe {
  height: 100%;
  width: 100%;
}
.p_top__video__play {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 3;
  opacity: 1;
  transition: opacity 0.5s ease;
}
.p_top__video__play::before, .p_top__video__play::after {
  z-index: 3;
  position: absolute;
}
.p_top__video__play::before {
  content: "";
  aspect-ratio: 1;
  background: url(../images/common/icon_play.svg) center/contain no-repeat;
  width: 50px;
}
.p_top__video__play::after {
  content: "Play Movie";
  font-weight: 700;
  line-height: 1;
  color: #fff;
  white-space: nowrap;
  font-family: "Lato", sans-serif;
  font-size: 0.875rem;
  top: calc(50% + 35px);
}
.p_top__video__img {
  border-radius: 20px;
}
.p_top__video__img::after {
  content: "";
  top: 0;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #4F646F;
  opacity: 0.42;
  z-index: 2;
}
.p_top__lead {
  font-weight: 700;
  line-height: 1.6;
  margin-top: 20px;
}
.p_top__about {
  position: relative;
  z-index: 2;
  padding-block: 25vw 0;
}
.p_top__about .c_ttl01__en {
  color: #00d1a6;
}
.p_top__about__bg {
  z-index: -1;
}
.p_top__about__bg .c_wave {
  top: 1px;
  aspect-ratio: 1600/344;
}
.p_top__about__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 60px 30px;
  margin-top: 40px;
}
.p_top__about__list .item {
  position: relative;
  z-index: 0;
  max-width: 360px;
  margin-inline: auto;
}
.p_top__about__list .item::after {
  content: "";
  aspect-ratio: 800/774;
  position: absolute;
  width: 76.9230769231%;
  top: 0;
  pointer-events: none;
  z-index: -1;
  max-width: 300px;
}
.p_top__about__list .item_link {
  display: block;
}
.p_top__about__list .item_content {
  text-align: center;
  margin-top: 25px;
  position: relative;
  z-index: 1;
}
.p_top__about__list .item:nth-child(even)::after {
  top: 0;
  background: url(../images/top/img_about_decor02.webp) center/contain no-repeat;
  right: 0;
  translate: 20% -20%;
}
.p_top__about__list .item:nth-child(even) .item_img {
  -webkit-mask: url(../images/top/img_about_mask02.svg) center/contain no-repeat;
  mask: url(../images/top/img_about_mask02.svg) center/contain no-repeat;
}
.p_top__about__list .item:nth-child(odd)::after {
  top: 0;
  left: 0;
  translate: -22% 26%;
  background: url(../images/top/img_about_decor01.webp) center/contain no-repeat;
}
.p_top__about__list .item:nth-child(odd) .item_img {
  -webkit-mask: url(../images/top/img_about_mask01.svg) center/contain no-repeat;
  mask: url(../images/top/img_about_mask01.svg) center/contain no-repeat;
}
.p_top__business {
  position: relative;
  z-index: 1;
  background-color: #f8faff;
  overflow: clip;
  padding-block: 80px 80px;
}
.p_top__business .c_ttl01__en {
  color: #00d1a6;
}
.p_top__business__bg {
  position: absolute;
  z-index: -1;
  inset: 0;
  display: flex;
  flex-direction: column;
}
.p_top__business__bg::after {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  background-color: #e8f1ff;
}
.p_top__business .c_wave {
  aspect-ratio: 1600/989;
}
.p_top__business__gallery {
  position: relative;
  margin-top: 190px;
  height: 200px;
}
.p_top__business__gallery .gallery_inner {
  position: absolute;
  aspect-ratio: 1;
  pointer-events: none;
  left: 50%;
  transform: translateX(-50%);
  width: 490vw;
  max-width: 2000px;
}
.p_top__business__gallery .gallery_img {
  position: absolute;
  width: 200px;
  pointer-events: all;
}
.p_top__business__gallery .gallery_img img {
  border-radius: 20px;
  transform-origin: center bottom;
}
.p_top__business__other {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px 30px;
  padding-inline: 20px;
}
.p_top__interview {
  background: #e8f1ff url(../images/top/img_interview_bg.webp) top right/cover no-repeat;
  color: #fff;
  position: relative;
  z-index: 0;
  padding-block: 40px 40vw;
}
.p_top__interview .c_ttl01__jp {
  margin-top: 20px;
}
.p_top__interview__head {
  padding-inline: 20px;
  text-align: center;
}
.p_top__interview .c_interview {
  margin-top: 40px;
  justify-content: center;
  flex-wrap: wrap;
  display: flex;
}
.p_top__interview .c_interview__item {
  max-width: 320px;
  flex: 155px;
  width: 100%;
  max-width: min(50% - 10px, 320px);
}
.p_top__interview .c_interview__item__info {
  color: inherit;
}
.p_top__interview__more {
  text-align: center;
  margin-top: 40px;
  padding-bottom: 30px;
}
.p_top__voice {
  position: relative;
  z-index: 1;
  padding-top: 30vw;
  margin-top: -40vw;
}
.p_top__voice .c_ttl01 {
  width: 100%;
}
.p_top__voice__bg::after {
  background-color: #e8f1ff;
}
.p_top__voice__bg .c_wave {
  aspect-ratio: 1600/660;
  top: 1px;
}
.p_top__voice__head {
  position: relative;
  gap: 0 20px;
  display: flex;
  flex-direction: column-reverse;
}
.p_top__voice__boxs {
  display: flex;
  flex-direction: column;
  gap: 0 20px;
  justify-content: center;
}
.p_top__voice__content {
  position: relative;
  z-index: 1;
  margin-top: 20px;
}
.p_top__voice__more {
  margin-top: 30px;
}
.p_top__voice__box {
  font-weight: 700;
  line-height: 1.3333333333;
  color: #fff;
  position: relative;
  width: calc(50% - 10px);
  margin-bottom: 40px;
  min-width: 230px;
}
.p_top__voice__box.box01 {
  margin-left: auto;
  margin-right: 30px;
}
.p_top__voice__box.box02 {
  margin-right: auto;
}
.p_top__voice__box.box02 .box_bg {
  color: #56ec9d;
}
.p_top__voice__box.box03 {
  margin-left: auto;
}
.p_top__voice__box .box_txt {
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 80px;
  width: 100%;
}
.p_top__voice__box .box_bg {
  position: absolute;
  inset: 0;
  mix-blend-mode: multiply;
  color: #00d1a6;
}
.p_top__voice__box .box_bg__shape {
  background-color: currentColor;
  position: relative;
  height: 100%;
  width: 100%;
  display: block;
  border-radius: 15px;
}
.p_top__voice__box .box_bg__shape::after {
  content: "";
  aspect-ratio: 65/70;
  -webkit-mask: url(../images/common/icon_shape_quote.svg) center/contain no-repeat;
  mask: url(../images/common/icon_shape_quote.svg) center/contain no-repeat;
  background-color: currentColor;
  position: absolute;
  transform: rotate(203deg);
  transform-origin: center bottom;
  top: calc(100% - 60px);
  width: 40px;
  right: 20px;
}
.p_top .c_entry {
  padding-top: 80px;
  background-image: linear-gradient(to bottom, #e8f1ff 0%, #f8faff 40% 100%);
}
@media screen and (max-width: 767px) {
  .p_top__about__list .item .c_btn01__txt {
    font-size: clamp(1.25rem, 8vw + -0.625rem, 1.375rem);
  }
}
@media screen and (min-width: 768px) {
  .p_top__contributing__desc, .p_top__lead {
    font-size: 1.25rem;
  }
  .p_top__voice__box {
    font-size: 1.5rem;
  }
  .p_top__contributing__ttl {
    font-size: 2rem;
  }
  .p_top__bg__img {
    min-height: 100vh;
    aspect-ratio: 1600/1527;
  }
  .p_top__mv {
    padding-bottom: 61px;
  }
  .p_top__mv__gallery {
    max-width: 1194px;
    width: 80%;
  }
  .p_top__mv__inner {
    position: absolute;
    bottom: -27px;
    right: 0;
    max-width: calc(50% + 620px);
    padding-left: 40px;
  }
  .p_top__mv__content {
    width: 100%;
    margin: 0;
    display: block;
    font-size: clamp(1.3125rem, 2.2836538462vw + 0.2163461538rem, 2.5rem);
  }
  .p_top__mv__ttl {
    margin-top: 0;
    margin-right: -3px;
    font-size: 3.75em;
  }
  .p_top__mv__desc {
    margin-top: 0;
    left: 0;
    position: absolute;
    font-size: 1em;
    bottom: 4.5em;
  }
  .p_top__contributing {
    padding-top: clamp(12.5rem, 42.8240740741vw + -8.0555555556rem, 24.0625rem);
  }
  .p_top__contributing .c_wave {
    max-height: 480px;
  }
  .p_top__contributing__inner {
    display: flex;
    gap: 20px;
  }
  .p_top__contributing__img {
    display: block;
  }
  .p_top__contributing__img img {
    max-width: unset;
  }
  .p_top__contributing__img img:nth-child(1) {
    width: 66.7391304348%;
    margin-top: -21px;
    margin-left: -18px;
  }
  .p_top__contributing__img img:nth-child(2) {
    width: 88.0434782609%;
    margin-left: auto;
    margin-right: -23px;
    margin-top: -78px;
  }
  .p_top__contributing__content {
    flex-shrink: 0;
    max-width: 60%;
    padding-bottom: 80px;
  }
  .p_top__contributing__ttl {
    line-height: clamp(2.625rem, 4.296875vw + 0.5625rem, 3.3125rem);
    font-size: clamp(1.5rem, 3.125vw + 0rem, 2rem);
  }
  .p_top__contributing__desc {
    margin-top: clamp(3.125rem, 8.984375vw + -1.1875rem, 4.5625rem);
    font-size: clamp(1.125rem, 0.78125vw + 0.75rem, 1.25rem);
  }
  .p_top__video {
    padding-block: 50px 68px;
  }
  .p_top__video .c_wave {
    max-height: 593px;
  }
  .p_top__video__bg::after {
    height: 11px;
  }
  .p_top__video__inner {
    border-radius: 40px;
    max-width: 900px;
  }
  .p_top__video__play::before {
    width: 100px;
  }
  .p_top__video__play::after {
    font-size: 1.25rem;
    top: calc(50% + 72px);
  }
  .p_top__video__img {
    border-radius: 40px;
  }
  .p_top__lead {
    margin-top: 40px;
  }
  .p_top__about {
    padding-block: clamp(11.25rem, 44.212962963vw + -9.9722222222rem, 23.1875rem) 35px;
  }
  .p_top__about__bg .c_wave {
    max-height: 344px;
  }
  .p_top__about__list {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 43px;
    gap: clamp(2.5rem, 18.5185185185vw + -6.3888888889rem, 7.5rem);
  }
  .p_top__about__list .item {
    max-width: unset;
    margin: 0;
  }
  .p_top__about__list .item::after {
    max-width: unset;
  }
  .p_top__about__list .item_content {
    margin-top: clamp(2.5rem, 8.3333333333vw + -1.5rem, 4.75rem);
  }
  .p_top__about__list .item:nth-child(even) {
    margin-top: 119px;
  }
  .p_top__about__list .item:nth-child(even) .item_content {
    margin-top: clamp(2.5rem, 9.9537037037vw + -2.2777777778rem, 5.1875rem);
  }
  .p_top__about__list .item:nth-child(odd) .c_btn01 {
    gap: 16px;
  }
  .p_top__business {
    padding-block: clamp(6.25rem, 19.6759259259vw + -3.1944444444rem, 11.5625rem) 184px;
  }
  .p_top__business .c_ttl01__en {
    margin-inline: -20px;
    padding-left: 7px;
  }
  .p_top__business .c_wave {
    max-height: 989px;
  }
  .p_top__business__gallery {
    height: 246px;
    margin-top: 358px;
  }
  .p_top__business__gallery .gallery_inner {
    width: 180vw;
    min-width: 3200px;
    max-width: unset;
  }
  .p_top__business__gallery .gallery_img {
    width: 352px;
  }
  .p_top__business__gallery .gallery_img img {
    border-radius: 40px;
  }
  .p_top__business__other {
    padding-inline: 40px;
    gap: 100px;
    margin-top: 162px;
  }
  .p_top__interview {
    padding-block: 86px 446px;
  }
  .p_top__interview .c_ttl01__jp {
    margin-top: 35px;
  }
  .p_top__interview .c_ttl01__en {
    padding-left: 27px;
  }
  .p_top__interview__head {
    padding-inline: 40px;
  }
  .p_top__interview .c_interview {
    justify-content: space-between;
    margin-top: 82px;
    -moz-column-gap: 20px;
    column-gap: 20px;
  }
  .p_top__interview .c_interview__item {
    flex: 200px;
    max-width: 320px;
  }
  .p_top__interview .c_interview__item__content {
    margin-top: clamp(1.25rem, 7.421875vw + -2.3125rem, 2.4375rem);
  }
  .p_top__interview__more {
    padding-bottom: 0;
    margin-top: 53px;
  }
  .p_top__voice {
    margin-top: -444px;
    padding-top: clamp(11.25rem, 28.2407407407vw + -2.3055555556rem, 18.875rem);
  }
  .p_top__voice .c_ttl01__en {
    padding-left: 15px;
  }
  .p_top__voice__bg .c_wave {
    max-height: 660px;
  }
  .p_top__voice__head {
    display: block;
    padding-top: 344px;
  }
  .p_top__voice__boxs {
    display: block;
  }
  .p_top__voice__content {
    margin-top: 0;
  }
  .p_top__voice__more {
    margin-top: 57px;
  }
  .p_top__voice__box {
    min-width: unset;
    margin-bottom: 0;
    width: auto;
    position: absolute;
    font-size: clamp(1.125rem, 1.3888888889vw + 0.4583333333rem, 1.5rem);
  }
  .p_top__voice__box.box01 {
    top: 0;
    right: 0;
    margin-inline: 0;
  }
  .p_top__voice__box.box02 {
    margin-right: 0;
    top: 8.7083333333em;
    right: 16.3333333333em;
  }
  .p_top__voice__box.box03 {
    margin-left: 0;
    top: 13.7916666667em;
    right: -1.625em;
  }
  .p_top__voice__box.box03 .box_txt {
    padding-left: 0.7916666667em;
    padding-top: 0.3333333333em;
  }
  .p_top__voice__box .box_txt {
    min-height: 6.6666666667em;
    min-width: 15em;
    padding-top: 0.2083333333em;
  }
  .p_top__voice__box .box_bg__shape {
    border-radius: 1.25em;
  }
  .p_top__voice__box .box_bg__shape::after {
    top: calc(100% - 4.0833333333em);
    width: 2.7083333333em;
    right: 1.5416666667em;
  }
  .p_top .c_entry {
    padding-top: clamp(7.5rem, 12.2685185185vw + 1.6111111111rem, 10.8125rem);
  }
}
@media (any-hover: hover) and (pointer: fine) {
  .p_top__about__list .item::after {
    transition: 0.5s;
    transition-property: scale, rotate;
  }
  .p_top__about__list .item_link:hover .item_desc {
    color: #00d1a6;
  }
  .p_top__interview .c_btn01 {
    transition: 0.5s;
    transition-property: opacity;
  }
  .p_top__interview .c_btn01:hover {
    opacity: 0.7;
  }
  .p_top__interview .c_btn01 .c_btn01__txt {
    color: inherit;
  }
}
/*# sourceMappingURL=maps/top.css.map */
