@charset "UTF-8";
/*p-expo 202302追加*/
.p-expo__kv {
  background: url(../img/kv/kv_expo.jpg) center/cover no-repeat;
}
.p-expo__kv.p-under_kv {
  display: block;
  padding: 45% 0 0 0;
  position: relative;
}
.p-expo__kvTxt {
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  color: #fff;
  text-align: right;
  line-height: 1.687;
}
.p-expo__lead {
  font-size: 3rem;
  line-height: 1.867;
  font-weight: 500;
  text-align: center;
  padding-top: 2.9em;
  padding-bottom: 2.9em;
}
.p-expo__box:nth-child(odd) {
  background: #1F479C;
}
.p-expo__box:nth-child(even) {
  background: #E4EDF5;
}
.p-expo__boxInner {
  background: #fff;
  padding: 5.625em;
  position: relative;
  z-index: 0;
}
.p-expo__ttl {
  text-align: center;
  position: relative;
  padding-top: 4.375em;
}
.p-expo__ttl .sub {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-family: "Oswald", sans-serif;
  font-size: 10rem;
  color: #E4EDF5;
  line-height: 1;
  z-index: -1;
}
.p-expo__cntTtl {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 1.16em;
}
.p-expo__cntTtl .square {
  color: #326CA6;
}
.p-expo__btn.c-btn {
  background: -webkit-gradient(linear, left top, right top, color-stop(50%, rgb(17, 17, 17)), color-stop(50%, rgb(0, 157, 166)), color-stop(50%, rgb(0, 157, 166)), to(rgb(0, 157, 166))) no-repeat;
  background: linear-gradient(to right, rgb(17, 17, 17) 50%, rgb(0, 157, 166) 50%, rgb(0, 157, 166) 50%, rgb(0, 157, 166) 100%) no-repeat;
  background-size: 210% 100%;
  background-position: right center;
  width: 30rem;
  padding: 1.25em 0;
  border: solid 1px;
}
@media screen and (min-width: 992px) {
  .p-expo__btn.c-btn:hover {
    background-position: 0 center;
  }
}
.p-expo__imgCap {
  text-align: right;
  line-height: 1.3;
  margin-top: 1.1em;
}
.p-expo__movieWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-expo__movie {
  width: calc(50% - 2rem);
}
.p-expo__movieItem {
  position: relative;
  padding-top: 56%;
}
.p-expo__movieItem .item {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.p-expo__movieTtl {
  text-align: center;
  line-height: 1.3;
  margin-top: 1.1em;
}
@media screen and (max-width: 991.9px) {
  .p-expo__lead {
    font-size: 2.2rem;
  }
  .p-expo__ttl {
    padding-top: 3.3em;
  }
  .p-expo__ttl .sub {
    font-size: 7rem;
  }
  .p-expo__boxInner {
    padding: 4em;
  }
  .p-expo__cntTtl {
    font-size: 1.8rem;
    margin-bottom: 0.8em;
  }
  .p-expo__imgCap {
    font-size: 1.3rem;
  }
  .p-expo__btn.c-btn {
    padding: 1.2em 2.5em 1.2em 2em;
    width: 26rem;
  }
}
@media screen and (max-width: 767.9px) {
  .p-expo__kvTxt {
    font-size: 1.3rem;
    bottom: 1rem;
  }
  .p-expo__lead {
    font-size: 2rem;
  }
  .p-expo__boxInner {
    padding: 2em;
  }
  .p-expo__ttl {
    padding-top: 2.5em;
  }
  .p-expo__ttl .sub {
    font-size: 5rem;
  }
  .p-expo__cntTtl {
    font-size: 1.6rem;
  }
  .p-expo__movieWrap {
    display: block;
  }
  .p-expo__movie {
    width: 100%;
  }
  .p-expo__movie:not(:first-child) {
    margin-top: 3.5rem;
  }
}
@media screen and (max-width: 575.9px) {
  .p-expo__lead {
    font-size: 1.6rem;
  }
}

/*p-idx_expoSec 202302追加*/
.p-idx_expoSec {
  min-height: 100vh;
  background: url(../img/index/idx_bg_expo.jpg) 90% center/cover no-repeat;
}
.p-idx_expoSec__ttl {
  font-weight: 500;
  font-size: 4rem;
  line-height: 1.75;
}
.p-idx_expoSec__txt {
  margin-top: 3rem;
  font-size: 2.4rem;
  background: rgba(50, 108, 166, 0.2);
  border: solid 1px #fff;
  line-height: 1.3;
  padding: 1.5rem 2rem;
  display: inline-block;
  font-weight: 500;
}
@media screen and (max-width: 991.9px) {
  .p-idx_expoSec__ttl {
    font-size: 2.3rem;
  }
  .p-idx_expoSec__txt {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 575.9px) {
  .p-idx_expoSec__inrConts {
    text-align: center;
  }
  .p-idx_expoSec__ttl {
    font-size: 2rem;
  }
  .p-idx_expoSec__txt {
    font-size: 1.4rem;
  }
  .p-idx_expoSec .c-btn_wrap.u-left {
    text-align: center;
  }
}