@import url('../../cmsPage/pc.css');

.l-container {
  width: 100vw;
  overflow-x: hidden
}

.l-container img {
  max-width: 100%;
  height: auto
}

.l-container .underline {
  text-decoration: underline
}

.c-section__inner {
  width: 90%;
  max-width: 1060px;
  margin-right: auto;
  margin-left: auto
}

.c-section__inner--wide {
  max-width: 1220px
}

.p-home {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #242424
}

.p-home a {
  color: #0068b7
}

.p-home__keyvisual {
  position: relative;
  height: 122.6666666667vw;
  background-image: url("/img/partner/teamexpoengine/keyvisual-bg@sp.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover
}

@media screen and (min-width: 768px) {
  .p-home__keyvisual {
    height: 417px;
    background-image: url("/img/partner/teamexpoengine/keyvisual-bg.jpg")
  }
}

.p-home__keyvisual-logo {
  position: absolute;
  left: 29.7333333333vw;
  top: 37.3333333333vw;
  width: 59.6vw
}

@media screen and (min-width: 768px) {
  .p-home__keyvisual-logo {
    top: 50%;
    left: 61.333%;
    width: 100%;
    max-width: 560px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
  }
}

.p-home__project {
  padding-top: 8vw;
  padding-bottom: 14.4vw;
  background-color: #f4f5f9
}

@media screen and (min-width: 768px) {
  .p-home__project {
    padding-top: 54px;
    padding-bottom: 74px
  }
}

.p-home__project-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 5.8666666667vw;
  font-weight: 700;
  font-size: 5.3333333333vw
}

@media screen and (min-width: 768px) {
  .p-home__project-title {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    margin-bottom: 40px;
    font-size: 25px
  }
}

.p-home__project-title--red {
  margin-bottom: 1.6vw;
  color: #e20012
}

@media screen and (min-width: 768px) {
  .p-home__project-title--red {
    padding-right: .25em;
    margin-bottom: 0
  }
}

.p-home__project-title--blue {
  color: #0066b4
}

.p-home__about {
  position: relative;
  padding-bottom: 20vw;
  background-image: url("/img/partner/teamexpoengine/about-bg@sp.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% auto
}

@media screen and (min-width: 768px) {
  .p-home__about {
    padding-bottom: 0;
    margin-bottom: 120px;
    background-image: url("/img/partner/teamexpoengine/about-bg.png")
  }
}

.p-home__about::after {
  position: absolute;
  z-index: -1;
  pointer-events: none;
  right: 0;
  bottom: 0;
  content: "";
  width: 100vw;
  height: 94.9333333333vw;
  background-image: url("/img/partner/teamexpoengine/about-bg-footer@sp.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom
}

@media screen and (min-width: 768px) {
  .p-home__about::after {
    width: 1128px;
    height: 760px;
    background-image: url("/img/partner/teamexpoengine/about-bg-footer.png")
  }
}

.p-home__about-inner {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-top: 21.3333333333vw
}

@media screen and (min-width: 768px) {
  .p-home__about-inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    padding-top: 120px;
    padding-bottom: 90px
  }
}

.p-home__about-content {
  position: relative;
  width: 90%;
  padding-top: 9.3333333333vw;
  padding-bottom: 9.3333333333vw;
  margin-right: auto;
  margin-left: auto
}

@media screen and (min-width: 768px) {
  .p-home__about-content {
    width: 490px;
    padding-top: 0;
    padding-bottom: 0;
    margin-right: inherit;
    margin-left: inherit
  }
}

.p-home__about-img {
  position: relative;
  width: 100%;
  height: 44.6666666667vw;
  margin-right: auto;
  text-align: center
}

@media screen and (min-width: 768px) {
  .p-home__about-img {
    width: calc(100% - 490px);
    height: auto;
    padding-top: 100px
  }
}

@media screen and (max-width: 767px) {
  .p-home__about-img .js-parallax-elm {
    -webkit-transform: initial !important;
    transform: initial !important
  }
}

.p-home__about-img img {
  width: 61.3333333333vw
}

@media screen and (min-width: 768px) {
  .p-home__about-img img {
    width: 460px
  }
}

.p-home__about-subtitle {
  margin-bottom: 4.8vw;
  font-family: "Roboto", sans-serif;
  font-size: 4.5333333333vw;
  color: #979799
}

@media screen and (min-width: 768px) {
  .p-home__about-subtitle {
    margin-bottom: 14px;
    font-size: 22px
  }
}

.p-home__about-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-bottom: 5.3333333333vw;
  font-family: "Roboto", sans-serif;
  font-size: 12.2666666667vw
}

@media screen and (min-width: 768px) {
  .p-home__about-title {
    margin-bottom: 22px;
    font-size: 62px
  }
}

.p-home__about-title--1 {
  color: #242424
}

.p-home__about-title--2 {
  color: #0168b7
}

.p-home__about-title--3 {
  color: #e70012
}

.p-home__about-text {
  font-size: 3.7333333333vw;
  line-height: 1.6
}

@media screen and (min-width: 768px) {
  .p-home__about-text {
    font-size: 18px
  }
}

.p-home__benefit {
  margin-bottom: 15.4666666667vw
}

@media screen and (min-width: 768px) {
  .p-home__benefit {
    margin-bottom: 80px
  }
}

.p-home__benefit-subtitle {
  position: relative;
  padding-left: 6.4vw;
  margin-bottom: 4vw;
  font-size: 4.2666666667vw;
  font-weight: 700;
  line-height: 1
}

@media screen and (min-width: 768px) {
  .p-home__benefit-subtitle {
    padding-left: 32px;
    margin-bottom: 16px;
    font-size: 21px
  }
}

.p-home__benefit-subtitle::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 3.4666666667vw;
  height: 1.0666666667vw;
  content: "";
  background-color: #0066b4
}

@media screen and (min-width: 768px) {
  .p-home__benefit-subtitle::before {
    width: 18px;
    height: 8px
  }
}

.p-home__benefit-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 5.6vw;
  font-size: 7.4666666667vw;
  font-weight: 700
}

@media screen and (min-width: 768px) {
  .p-home__benefit-title {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    margin-bottom: 42px;
    font-size: 36px
  }
}

.p-home__benefit-title--blue {
  width: 100%;
  margin-bottom: 1.6vw;
  color: #0066b4
}

@media screen and (min-width: 768px) {
  .p-home__benefit-title--blue {
    width: inherit;
    padding-right: .25em;
    margin-bottom: 0
  }
}

.p-home__benefit-title--red {
  color: #e20012
}

@media screen and (min-width: 768px) {
  .p-home__benefit-title--red {
    padding-right: .25em
  }
}

.p-home__benefit-title--black {
  color: #242424
}

@media screen and (min-width: 768px) {
  .p-home__benefit-title--black {
    padding-right: .25em
  }
}

@media screen and (min-width: 768px) {
  .p-home__benefit-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
}

.p-home__benefit-item {
  width: 100%;
  margin-bottom: 6.6666666667vw
}

@media screen and (min-width: 768px) {
  .p-home__benefit-item {
    width: calc((100% - 60px) / 2);
    margin-bottom: 0
  }
}

.p-home__benefit-img {
  margin-bottom: 2.6666666667vw
}

@media screen and (min-width: 768px) {
  .p-home__benefit-img {
    margin-bottom: 18px
  }
}

.p-home__benefit-text {
  font-size: 3.4666666667vw;
  line-height: 1.65
}

@media screen and (min-width: 768px) {
  .p-home__benefit-text {
    font-size: 18px
  }
}

.p-home__participate {
  margin-bottom: 13.3333333333vw
}

@media screen and (min-width: 768px) {
  .p-home__participate {
    margin-bottom: 80px
  }
}

.p-home__participate-subtitle {
  position: relative;
  padding-left: 6.4vw;
  margin-bottom: 4vw;
  font-size: 4.2666666667vw;
  font-weight: 700;
  line-height: 1
}

@media screen and (min-width: 768px) {
  .p-home__participate-subtitle {
    padding-left: 32px;
    margin-bottom: 16px;
    font-size: 21px
  }
}

.p-home__participate-subtitle::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 3.4666666667vw;
  height: 1.0666666667vw;
  content: "";
  background-color: #0066b4
}

@media screen and (min-width: 768px) {
  .p-home__participate-subtitle::before {
    width: 18px;
    height: 8px
  }
}

.p-home__participate-head {
  margin-bottom: 3.2vw
}

@media screen and (min-width: 768px) {
  .p-home__participate-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    margin-bottom: 60px
  }
}

.p-home__participate-head-title {
  width: 100%;
  margin-right: auto;
  margin-bottom: 3.2vw;
  font-size: 7.4666666667vw;
  font-weight: 700
}

@media screen and (min-width: 768px) {
  .p-home__participate-head-title {
    width: 155px;
    margin-bottom: 0;
    font-size: 36px
  }
}

.p-home__participate-head-text {
  width: 100%;
  font-size: 2.9333333333vw;
  line-height: 1.5
}

@media screen and (min-width: 768px) {
  .p-home__participate-head-text {
    width: calc(100% - 195px);
    font-size: 16px
  }
}

.p-home__participate-list {
  margin-bottom: 9.3333333333vw
}

@media screen and (min-width: 768px) {
  .p-home__participate-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 40px
  }
}

.p-home__participate-item {
  width: 100%;
  margin-bottom: 6.6666666667vw
}

@media screen and (min-width: 768px) {
  .p-home__participate-item {
    width: calc((80% - (50px * 2)) / 3);
    margin-right: 25px;
    margin-bottom: 0;
    margin-left: 25px
  }
}

.p-home__participate-item:first-child .p-home__participate-description {
  text-align: center
}

@media screen and (min-width: 768px) {
  .p-home__participate-item:first-child .p-home__participate-description {
    text-align: left
  }
}

.p-home__participate-item:last-child {
  margin-right: 0
}

.p-home__participate-icon {
  width: 43.7333333333vw;
  margin-right: auto;
  margin-bottom: 3.7333333333vw;
  margin-left: auto
}

@media screen and (min-width: 768px) {
  .p-home__participate-icon {
    width: 95%;
    margin-bottom: 16px
  }
}

.p-home__participate-name {
  margin-bottom: 2.6666666667vw;
  font-size: 4.8vw;
  font-weight: 700;
  line-height: 1.45;
  text-align: center
}

@media screen and (min-width: 768px) {
  .p-home__participate-name {
    margin-bottom: 12px;
    font-size: 20px
  }
}

.p-home__participate-description {
  width: 92.5%;
  margin-right: auto;
  margin-left: auto;
  font-size: 3.7333333333vw;
  font-weight: 700;
  line-height: 1.35
}

@media screen and (min-width: 768px) {
  .p-home__participate-description {
    font-size: 14px
  }
}

.p-home__participate-description--red {
  color: #e60012
}

.p-home__participate-box {
  padding: 5.3333333333vw;
  font-size: 3.7333333333vw;
  line-height: 1.45;
  text-align: left;
  background-color: #eaeff3
}

@media screen and (min-width: 768px) {
  .p-home__participate-box {
    padding: 26px;
    font-size: 18px;
    text-align: center
  }
}

@media screen and (min-width: 768px) {
  .p-home__entry {
    padding-bottom: 80px
  }
}

.p-home__entry-subtitle {
  position: relative;
  padding-left: 6.4vw;
  margin-bottom: 1.6vw;
  font-size: 4.2666666667vw;
  font-weight: 700;
  line-height: 1
}

@media screen and (min-width: 768px) {
  .p-home__entry-subtitle {
    padding-top: 12px;
    padding-left: 0;
    margin-bottom: 12px;
    font-size: 21px;
    text-align: center
  }
}

.p-home__entry-subtitle::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 3.4666666667vw;
  height: 1.0666666667vw;
  content: "";
  background-color: #0066b4
}

@media screen and (min-width: 768px) {
  .p-home__entry-subtitle::before {
    top: 0;
    left: 50%;
    width: 18px;
    height: 8px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
  }
}

.p-home__entry-title {
  margin-bottom: 4.8vw;
  font-size: 7.4666666667vw;
  font-weight: 700
}

@media screen and (min-width: 768px) {
  .p-home__entry-title {
    margin-bottom: 32px;
    font-size: 37px;
    text-align: center
  }
}

.p-home__entry-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 6.4vw
}

@media screen and (min-width: 768px) {
  .p-home__entry-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 80px
  }
}

.p-home__entry-content {
  width: 100%
}

@media screen and (min-width: 768px) {
  .p-home__entry-content {
    width: 68%
  }
}

.p-home__entry-img {
  width: 56.6666666667vw;
  margin-right: auto;
  margin-bottom: 6.4vw;
  margin-left: auto
}

@media screen and (min-width: 768px) {
  .p-home__entry-img {
    width: 25.5%;
    margin-right: 6.5%;
    margin-bottom: 0;
    margin-left: 0
  }
}

.p-home__entry-item {
  position: relative;
  padding-left: 9.3333333333vw;
  margin-bottom: 5.3333333333vw
}

@media screen and (min-width: 768px) {
  .p-home__entry-item {
    padding-left: 45px;
    margin-bottom: 0
  }
}

.p-home__entry-item::before {
  position: absolute;
  top: -0.8vw;
  left: 0;
  width: 7.4666666667vw;
  height: 7.4666666667vw;
  content: "";
  background-image: url("/img/partner/teamexpoengine/entry-check-icon.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain
}

@media screen and (min-width: 768px) {
  .p-home__entry-item::before {
    top: 6px;
    width: 38px;
    height: 38px
  }
}

.p-home__entry-text {
  font-size: 4.5333333333vw;
  font-weight: 700;
  line-height: 1.35
}

@media screen and (min-width: 768px) {
  .p-home__entry-text {
    font-size: 23px;
    line-height: 2.1
  }
}

.p-home__entry-text--red {
  color: #e20012
}

.p-home__entry-annotation {
  margin-top: 1.5em;
  font-size: 3.4666666667vw
}

@media screen and (min-width: 768px) {
  .p-home__entry-annotation {
    margin-top: .5em;
    font-size: 18px
  }
}

.p-home__entry-annotation a {
  position: relative;
  padding-left: 1.25em
}

@media screen and (min-width: 768px) {
  .p-home__entry-annotation a {
    padding-left: 1em
  }
}

.p-home__entry-annotation a::before {
  position: absolute;
  top: 50%;
  left: 0;
  content: "▶";
  font-size: 2.4vw;
  color: #0d66c0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%)
}

@media screen and (min-width: 768px) {
  .p-home__entry-annotation a::before {
    font-size: 12px
  }
}

@media screen and (min-width: 768px) {
  .p-home__entry-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
}

.p-home__entry-info-box {
  width: 100%;
  padding: 6.4vw 7.2vw;
  margin-bottom: 1.8666666667vw;
  color: #fff
}

@media screen and (min-width: 768px) {
  .p-home__entry-info-box {
    width: calc((100% - 60px) / 2);
    padding: 38px 48px;
    margin-bottom: 0
  }
}

.p-home__entry-info-box--structure {
  margin-right: auto;
  background-color: #e20012
}

.p-home__entry-info-box--register {
  background-color: #0066b4
}

.p-home__entry-info-title {
  position: relative;
  padding-left: 7.4666666667vw;
  margin-bottom: 2.9333333333vw;
  font-size: 5.6vw;
  font-weight: 700
}

@media screen and (min-width: 768px) {
  .p-home__entry-info-title {
    padding-left: 38px;
    margin-bottom: 26px;
    font-size: 28px
  }
}

.p-home__entry-info-title::before {
  position: absolute;
  top: 50%;
  left: 0;
  content: "";
  width: 3.7333333333vw;
  height: .9333333333vw;
  background-color: #fff;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%)
}

@media screen and (min-width: 768px) {
  .p-home__entry-info-title::before {
    width: 18px;
    height: 8px
  }
}

.p-home__entry-info-item {
  position: relative;
  padding-left: 1em;
  margin-bottom: 0;
  font-size: 3.7333333333vw;
  line-height: 1.35
}

@media screen and (min-width: 768px) {
  .p-home__entry-info-item {
    margin-bottom: 1em;
    font-size: 18px
  }
}

.p-home__entry-info-item::before {
  position: absolute;
  left: 0;
  content: "・"
}

.p-home__entry-info-item:last-child {
  margin-bottom: 0
}

.p-home__entry-info-text {
  font-size: 3.7333333333vw;
  line-height: 1.45
}

@media screen and (min-width: 768px) {
  .p-home__entry-info-text {
    font-size: 18px
  }
}

.p-home__entry-info-text a {
  color: #fff
}

.p-home__expo2025 {
  padding-bottom: 13.3333333333vw;
  background-color: #eaeff3
}

@media screen and (min-width: 768px) {
  .p-home__expo2025 {
    padding-bottom: 100px
  }
}

.p-home__expo2025-inner {
  width: 90%;
  max-width: 1060px;
  margin-right: auto;
  margin-left: auto
}

@media screen and (min-width: 768px) {
  .p-home__expo2025-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
  }
}

.p-home__expo2025-img {
  width: 100vw;
  margin-left: -5%
}

@media screen and (min-width: 768px) {
  .p-home__expo2025-img {
    width: 50%;
    margin-left: inherit
  }
}

.p-home__expo2025-img img {
  width: 100vw;
  max-width: inherit
}

@media screen and (min-width: 768px) {
  .p-home__expo2025-img img {
    width: 50vw
  }
}

.p-home__expo2025-container {
  margin-bottom: 11.2vw
}

@media screen and (min-width: 768px) {
  .p-home__expo2025-container {
    margin-bottom: 64px
  }
}

.p-home__expo2025-head {
  position: relative;
  padding-top: 8.5333333333vw;
  padding-bottom: 6.4vw
}

@media screen and (min-width: 768px) {
  .p-home__expo2025-head {
    padding-top: 0;
    padding-right: 72px;
    padding-bottom: 32px
  }
}

.p-home__expo2025-head::after {
  position: absolute;
  top: 0;
  right: -5vw;
  bottom: 0;
  content: "";
  width: 100vw;
  background-color: #fff
}

@media screen and (min-width: 768px) {
  .p-home__expo2025-head::after {
    right: 0;
    width: 50vw
  }
}

.p-home__expo2025-head-inner {
  position: relative;
  z-index: 2
}

.p-home__expo2025-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-bottom: 2.9333333333vw;
  font-family: "Roboto", sans-serif;
  font-size: 12.2666666667vw;
  font-weight: 700
}

@media screen and (min-width: 768px) {
  .p-home__expo2025-title {
    margin-bottom: 12px;
    font-size: 62px
  }
}

.p-home__expo2025-title--red {
  color: #e20012
}

.p-home__expo2025-subtitle {
  font-size: 6.6666666667vw;
  font-weight: 700;
  color: #0066b4
}

@media screen and (min-width: 768px) {
  .p-home__expo2025-subtitle {
    font-size: 34px
  }
}

.p-home__expo2025-content {
  padding-top: 6.6666666667vw
}

@media screen and (min-width: 768px) {
  .p-home__expo2025-content {
    padding-top: 32px;
    padding-right: 72px
  }
}

.p-home__expo2025-catch {
  margin-bottom: 4vw;
  font-size: 4.5333333333vw;
  font-weight: 700;
  line-height: 1.45
}

@media screen and (min-width: 768px) {
  .p-home__expo2025-catch {
    margin-bottom: 26px;
    font-size: 26px
  }
}

.p-home__expo2025-text {
  font-size: 3.7333333333vw;
  line-height: 1.65
}

@media screen and (min-width: 768px) {
  .p-home__expo2025-text {
    font-size: 18px
  }
}

.p-home__expo2025-cite {
  margin-top: .5em;
  font-size: 2.9333333333vw;
  color: #757474
}

@media screen and (min-width: 768px) {
  .p-home__expo2025-cite {
    font-size: 15px
  }
}

.p-home__expo2025-link {
  margin-top: 40px;
  font-size: 3.7333333333vw
}

@media screen and (min-width: 768px) {
  .p-home__expo2025-link {
    font-size: 18px
  }
}

.p-home__expo2025-link a {
  position: relative;
  padding-left: 8vw;
  color: #242424
}

@media screen and (min-width: 768px) {
  .p-home__expo2025-link a {
    padding-left: 50px
  }
}

.p-home__expo2025-link a::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 6.4vw;
  height: 6.4vw;
  content: "";
  background-image: url("/img/partner/teamexpoengine/link-icon.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%)
}

@media screen and (min-width: 768px) {
  .p-home__expo2025-link a::before {
    width: 33px;
    height: 33px
  }
}

.p-home__theme {
  position: relative;
  padding-top: 9.0666666667vw;
  padding-right: 9.0666666667vw;
  padding-bottom: 10.6666666667vw;
  padding-left: 9.0666666667vw;
  margin-bottom: 4vw;
  background-color: #fff;
  border: solid 5px #ccd1d4
}

@media screen and (min-width: 768px) {
  .p-home__theme {
    padding-top: 72px;
    padding-right: 72px;
    padding-bottom: 80px;
    padding-left: 72px;
    margin-bottom: 40px
  }
}

.p-home__theme-myakumyaku {
  display: none
}

@media screen and (min-width: 768px) {
  .p-home__theme-myakumyaku {
    position: absolute;
    top: -170px;
    right: 115px;
    display: block;
    width: 263px;
    height: 275px
  }
}

.p-home__theme-myakumyaku .js-parallax-elm {
  width: 100%;
  height: 100%
}

.p-home__theme-myakumyaku img {
  display: block
}

.p-home__theme-title {
  position: relative;
  padding-top: 3.2vw;
  margin-bottom: 7.2vw;
  font-size: 4.2666666667vw;
  font-weight: 700;
  line-height: 1;
  text-align: center
}

@media screen and (min-width: 768px) {
  .p-home__theme-title {
    padding-top: 12px;
    margin-bottom: 12px;
    font-size: 21px
  }
}

.p-home__theme-title::after {
  position: absolute;
  top: 0;
  left: 50%;
  width: 3.4666666667vw;
  height: 1.0666666667vw;
  content: "";
  background-color: #0066b4;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%)
}

@media screen and (min-width: 768px) {
  .p-home__theme-title::after {
    width: 18px;
    height: 8px
  }
}

.p-home__theme-catch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 3.7333333333vw;
  font-size: 12.5333333333vw;
  font-weight: 700;
  text-align: center
}

@media screen and (min-width: 768px) {
  .p-home__theme-catch {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    margin-bottom: 20px;
    font-size: 62px
  }
}

.p-home__theme-catch--red {
  margin-bottom: 1.3333333333vw;
  color: #e20012
}

@media screen and (min-width: 768px) {
  .p-home__theme-catch--red {
    margin-bottom: 0
  }
}

.p-home__theme-catch--blue {
  margin-bottom: 1.3333333333vw;
  color: #0066b4
}

@media screen and (min-width: 768px) {
  .p-home__theme-catch--blue {
    margin-bottom: 0
  }
}

.p-home__theme-catch--gray {
  color: #828487
}

.p-home__theme-catch-en {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-family: "Roboto", sans-serif;
  font-size: 4.8vw;
  text-align: center;
  letter-spacing: .035em
}

@media screen and (min-width: 768px) {
  .p-home__theme-catch-en {
    font-size: 29px
  }
}

.p-home__theme-catch-en--red {
  color: #e20012
}

.p-home__theme-catch-en--blue {
  margin-bottom: 1.6vw;
  color: #0066b4
}

@media screen and (min-width: 768px) {
  .p-home__theme-catch-en--blue {
    margin-right: .35em;
    margin-bottom: 0
  }
}

.p-home__theme-catch-en--gray {
  margin-right: .35em;
  margin-bottom: 1.6vw;
  color: #828487
}

@media screen and (min-width: 768px) {
  .p-home__theme-catch-en--gray {
    margin-bottom: 0
  }
}

.p-home__theme-outline {
  width: 480px;
  margin-top: 8.5333333333vw;
  margin-right: auto;
  margin-bottom: 8.5333333333vw;
  margin-left: auto
}

@media screen and (min-width: 768px) {
  .p-home__theme-outline {
    margin-top: 40px;
    margin-bottom: 40px
  }
}

.p-home__theme-outline-line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-bottom: 2.1333333333vw;
  font-size: 3.7333333333vw
}

@media screen and (min-width: 768px) {
  .p-home__theme-outline-line {
    margin-bottom: 12px;
    font-size: 18px
  }
}

.p-home__theme-outline-title {
  width: 29.3333333333vw;
  line-height: 1.45
}

@media screen and (min-width: 768px) {
  .p-home__theme-outline-title {
    width: 140px
  }
}

.p-home__theme-outline-description {
  width: 38.6666666667vw;
  line-height: 1.45
}

@media screen and (min-width: 768px) {
  .p-home__theme-outline-description {
    width: calc(100% - 140px)
  }
}

@media screen and (min-width: 768px) {
  .p-home__theme-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 900px;
    margin-right: auto;
    margin-left: auto
  }
}

.p-home__theme-col {
  display: block;
  font-size: 3.7333333333vw;
  line-height: 1.5
}

@media screen and (min-width: 768px) {
  .p-home__theme-col {
    width: 430px;
    font-size: 18px
  }
}

.p-home__concept {
  padding-top: 9.0666666667vw;
  padding-right: 9.0666666667vw;
  padding-bottom: 10.6666666667vw;
  padding-left: 9.0666666667vw;
  background-color: #fff;
  background-image: url("/img/partner/teamexpoengine/concept-bg@sp.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  border: solid 5px #ccd1d4
}

@media screen and (min-width: 768px) {
  .p-home__concept {
    padding-top: 72px;
    padding-right: 72px;
    padding-bottom: 80px;
    padding-left: 72px;
    margin-bottom: 40px;
    background-image: url("/img/partner/teamexpoengine/concept-bg.jpg")
  }
}

.p-home__concept-title {
  position: relative;
  padding-top: 3.2vw;
  margin-bottom: 7.2vw;
  font-size: 4.2666666667vw;
  font-weight: 700;
  line-height: 1;
  text-align: center
}

@media screen and (min-width: 768px) {
  .p-home__concept-title {
    padding-top: 12px;
    margin-bottom: 24px;
    font-size: 21px
  }
}

.p-home__concept-title::after {
  position: absolute;
  top: 0;
  left: 50%;
  width: 3.4666666667vw;
  height: 1.0666666667vw;
  content: "";
  background-color: #0066b4;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%)
}

@media screen and (min-width: 768px) {
  .p-home__concept-title::after {
    width: 18px;
    height: 8px
  }
}

.p-home__concept-catch {
  margin-bottom: 2.6666666667vw;
  font-size: 12.5333333333vw;
  font-weight: 700;
  color: #0066b4;
  text-align: center
}

@media screen and (min-width: 768px) {
  .p-home__concept-catch {
    margin-bottom: 18px;
    font-size: 62px
  }
}

.p-home__concept-catch-ja {
  margin-bottom: 12.5333333333vw;
  font-size: 5.3333333333vw;
  font-weight: 700;
  color: #828487;
  text-align: center
}

@media screen and (min-width: 768px) {
  .p-home__concept-catch-ja {
    margin-bottom: 74px;
    font-size: 27px
  }
}

.p-home__concept-list {
  max-width: 70vw;
  margin-right: auto;
  margin-left: auto
}

@media screen and (min-width: 768px) {
  .p-home__concept-list {
    max-width: 680px
  }
}

.p-home__concept-item {
  position: relative;
  padding-left: 16vw;
  margin-bottom: 5.8666666667vw;
  font-size: 4.5333333333vw
}

@media screen and (min-width: 768px) {
  .p-home__concept-item {
    padding-left: 82px;
    margin-bottom: 40px;
    font-size: 20px
  }
}

.p-home__concept-item::before {
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 11.7333333333vw;
  height: 11.7333333333vw;
  font-size: 6.4vw;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background-color: #0066b4;
  border-radius: 50%;
  -webkit-transform: translateY(-10%);
  transform: translateY(-10%)
}

@media screen and (min-width: 768px) {
  .p-home__concept-item::before {
    top: 50%;
    width: 58px;
    height: 58px;
    font-size: 32px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
  }
}

.p-home__concept-item--1::before {
  content: "01"
}

.p-home__concept-item--2::before {
  content: "02"
}

.p-home__concept-item--3::before {
  content: "03"
}

.p-home__concept-text {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.35
}

.p-home__concept-text--blue {
  color: #0066b4
}

.p-home__join {
  position: relative;
  padding-top: 5.3333333333vw;
  padding-bottom: 26.4vw;
  background-color: #0066b4
}

@media screen and (min-width: 768px) {
  .p-home__join {
    padding-top: 0;
    padding-bottom: 166px
  }
}

.p-home__join::after {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 11.2vw;
  content: "";
  background-image: url("/img/partner/teamexpoengine/join-bg-footer@sp.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  border-top: solid 1px #fff
}

@media screen and (min-width: 768px) {
  .p-home__join::after {
    height: 82px;
    background-image: url("/img/partner/teamexpoengine/join-bg-footer.jpg")
  }
}

.p-home__join-inner {
  width: 92vw;
  margin-right: auto;
  margin-left: auto
}

@media screen and (min-width: 768px) {
  .p-home__join-inner {
    width: auto
  }
}

.p-home__join-head {
  margin-bottom: 4.5333333333vw
}

@media screen and (min-width: 768px) {
  .p-home__join-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 44px
  }
}

.p-home__join-head-row {
  margin-bottom: 18.6666666667vw
}

@media screen and (min-width: 768px) {
  .p-home__join-head-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-bottom: 88px
  }
}

.p-home__join-head-img {
  position: relative;
  width: 100%;
  margin-bottom: 12vw
}

@media screen and (min-width: 768px) {
  .p-home__join-head-img {
    width: 36.666%;
    min-width: 620px;
    padding-right: 90px;
    margin-bottom: 0
  }
}

.p-home__join-head-img img {
  width: 100%
}

.p-home__join-head-container {
  max-width: 650px
}

@media screen and (min-width: 768px) {
  .p-home__join-head-container {
    width: calc(100% - (36.666% + 90px));
    padding-top: 100px
  }
}

.p-home__join-head-logo {
  width: 32vw;
  margin-right: auto;
  margin-bottom: 6.4vw;
  margin-left: auto
}

@media screen and (min-width: 768px) {
  .p-home__join-head-logo {
    width: 120px;
    margin-right: 25px;
    margin-bottom: 0
  }
}

@media screen and (min-width: 768px) {
  .p-home__join-head-inner {
    width: calc(100% - (120px + 25px))
  }
}

.p-home__join-head-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 69.3333333333vw;
  margin-right: auto;
  margin-left: auto;
  font-family: "Roboto", sans-serif;
  font-size: 12.2666666667vw;
  font-weight: 700;
  text-align: center
}

@media screen and (min-width: 768px) {
  .p-home__join-head-title {
    width: 100%;
    margin-left: 0;
    font-size: 62px;
    text-align: left
  }
}

.p-home__join-head-title--gray {
  color: #cdd2d5
}

.p-home__join-head-title--white {
  color: #fff
}

.p-home__join-head-content {
  color: #fff
}

.p-home__join-head-catch {
  margin-bottom: 7.2vw;
  font-size: 4.5333333333vw;
  font-weight: 700;
  line-height: 1.45;
  text-align: center
}

@media screen and (min-width: 768px) {
  .p-home__join-head-catch {
    margin-bottom: 36px;
    font-size: 27px;
    line-height: 1.35;
    text-align: left
  }
}

.p-home__join-head-text {
  width: 85.3333333333vw;
  margin-right: auto;
  margin-bottom: 1em;
  margin-left: auto;
  font-size: 3.7333333333vw;
  line-height: 1.6
}

@media screen and (min-width: 768px) {
  .p-home__join-head-text {
    width: auto;
    font-size: 18px
  }
}

.p-home__join-head-text:last-child {
  margin-bottom: 0
}

.p-home__join-title {
  position: relative;
  padding-top: 0;
  padding-left: 6.4vw;
  margin-bottom: 2.4vw;
  font-size: 4.2666666667vw;
  font-weight: 700;
  line-height: 1;
  color: #cdd2d5
}

@media screen and (min-width: 768px) {
  .p-home__join-title {
    padding-top: 12px;
    padding-left: 0;
    margin-bottom: 12px;
    font-size: 21px;
    text-align: center
  }
}

.p-home__join-title::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 3.4666666667vw;
  height: 1.0666666667vw;
  content: "";
  background-color: #e20012
}

@media screen and (min-width: 768px) {
  .p-home__join-title::before {
    top: 0;
    left: 50%;
    width: 18px;
    height: 8px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
  }
}

.p-home__join-catch {
  margin-bottom: 8.5333333333vw;
  font-size: 7.4666666667vw;
  font-weight: 700;
  color: #fff
}

@media screen and (min-width: 768px) {
  .p-home__join-catch {
    margin-bottom: 32px;
    font-size: 44px;
    text-align: center
  }
}

.p-home__join-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 7.3333333333vw
}

@media screen and (min-width: 768px) {
  .p-home__join-list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 80px
  }
}

.p-home__join-item {
  width: 84.6666666667vw;
  padding-top: 7.2vw;
  padding-right: 6.6666666667vw;
  padding-bottom: 7.2vw;
  padding-left: 6.6666666667vw;
  margin-bottom: 4vw;
  background-color: #fff
}

@media screen and (min-width: 768px) {
  .p-home__join-item {
    width: calc((100% - 60px) / 2);
    padding-top: 46px;
    padding-right: 46px;
    padding-bottom: 40px;
    padding-left: 46px
  }
}

.p-home__join-icon {
  width: 30.4vw;
  margin-right: auto;
  margin-bottom: 4.2666666667vw;
  margin-left: auto
}

@media screen and (min-width: 768px) {
  .p-home__join-icon {
    width: 205px;
    margin-bottom: 30px
  }
}

.p-home__join-name {
  margin-bottom: 4.2666666667vw;
  font-size: 6.4vw;
  font-weight: 700;
  color: #0066b4;
  text-align: center
}

@media screen and (min-width: 768px) {
  .p-home__join-name {
    margin-bottom: 32px;
    font-size: 42px
  }
}

.p-home__join-text {
  font-size: 3.7333333333vw;
  line-height: 1.6
}

@media screen and (min-width: 768px) {
  .p-home__join-text {
    font-size: 20px
  }
}

.p-home__join-button {
  max-width: 84.6666666667vw;
  margin-right: auto;
  margin-left: auto;
  background-color: #e20012
}

@media screen and (min-width: 768px) {
  .p-home__join-button {
    max-width: 730px
  }
}

.p-home__join-button-link {
  position: relative;
  display: block;
  padding: 3.7333333333vw;
  border: solid 1px #e20012
}

@media screen and (min-width: 768px) {
  .p-home__join-button-link {
    padding: 20px;
    -webkit-transition-timing-function: ease;
    transition-timing-function: ease;
    -webkit-transition-duration: 300ms;
    transition-duration: 300ms;
    -webkit-transition-property: background-color, border;
    transition-property: background-color, border
  }

  .p-home__join-button-link:hover {
    text-decoration: none;
    background-color: #0066b4;
    border: solid 1px #fff
  }
}

.p-home__join-button-link::after {
  position: absolute;
  top: 50%;
  right: 16px;
  width: 11px;
  height: 17px;
  content: "";
  background-image: url("/img/partner/teamexpoengine/icon-arrow.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%)
}

.p-home__join-button-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-weight: 700;
  color: #fff
}

.p-home__join-button-text--large {
  margin-bottom: .25em;
  font-size: 4.8vw
}

@media screen and (min-width: 768px) {
  .p-home__join-button-text--large {
    font-size: 36px
  }
}

.p-home__join-button-text--small {
  font-size: 3.3333333333vw
}

@media screen and (min-width: 768px) {
  .p-home__join-button-text--small {
    font-size: 25px
  }
}

.p-home__credit {
  padding-top: 13.3333333333vw;
  padding-bottom: 9.3333333333vw;
  background-color: #e9eef2
}

@media screen and (min-width: 768px) {
  .p-home__credit {
    padding-top: 70px;
    padding-bottom: 82px
  }
}

.p-home__credit-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

@media screen and (min-width: 768px) {
  .p-home__credit-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row
  }
}

.p-home__credit-item {
  width: 82.6666666667vw;
  margin-bottom: 13.3333333333vw
}

@media screen and (min-width: 768px) {
  .p-home__credit-item {
    width: calc((100% - (90px * 2)) / 3);
    margin-bottom: 0
  }
}

.p-home__credit-title {
  margin-bottom: 5.6vw;
  font-size: 5.3333333333vw;
  text-align: center
}

@media screen and (min-width: 768px) {
  .p-home__credit-title {
    margin-bottom: 26px;
    font-size: 20px
  }
}

.p-home__credit-logo {
  width: 66.6666666667vw;
  margin-right: auto;
  margin-bottom: 5.6vw;
  margin-left: auto
}

@media screen and (min-width: 768px) {
  .p-home__credit-logo {
    width: 100%;
    margin-bottom: 26px
  }
}

.p-home__credit-name {
  margin-bottom: 1.0666666667vw;
  font-size: 5.0666666667vw;
  font-weight: 700
}

@media screen and (min-width: 768px) {
  .p-home__credit-name {
    margin-bottom: 10px;
    font-size: 22px
  }
}

.p-home__credit-description {
  margin-bottom: 0;
  font-size: 3.7333333333vw;
  line-height: 1.7;
  color: #828487
}

@media screen and (min-width: 768px) {
  .p-home__credit-description {
    font-size: 16px
  }
}

.p-home__credit-link {
  font-size: 3.7333333333vw;
  color: #828487
}

@media screen and (min-width: 768px) {
  .p-home__credit-link {
    font-size: 16px
  }
}

.p-home__credit-link a {
  color: #828487
}

.u-display-block--pc {
  display: block
}

@media screen and (max-width: 767px) {
  .u-display-block--pc {
    display: none
  }
}

.u-display-block--sp {
  display: none
}

@media screen and (max-width: 767px) {
  .u-display-block--sp {
    display: block
  }
}

.u-display-inline--pc {
  display: inline
}

@media screen and (max-width: 767px) {
  .u-display-inline--pc {
    display: none
  }
}

.u-display-inline--sp {
  display: none
}

@media screen and (max-width: 767px) {
  .u-display-inline--sp {
    display: inline
  }
}

.u-display-inline-block--pc {
  display: inline-block
}

@media screen and (max-width: 767px) {
  .u-display-inline-block--pc {
    display: none
  }
}

.u-display-inline-block--sp {
  display: none
}

@media screen and (max-width: 767px) {
  .u-display-inline-block--sp {
    display: inline-block
  }
}
