@keyframes bgChange {
  0% {
    background-color: rgba(22, 57, 184, 0);
  }
  100% {
    background-color: #1639b8;
  }
}
@keyframes copySlideIn1 {
  0% {
    transform: scale(0, 1);
    transform-origin: center left;
  }
  48% {
    transform: scale(1, 1);
    transform-origin: center left;
  }
  60% {
    transform: scale(1, 1);
    transform-origin: center right;
  }
  to {
    transform: scale(0, 1);
    transform-origin: center right;
  }
}
@keyframes fadeup {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fuwafuwa {
  0% {
    transform: translate(0, 0) rotate(-7deg);
  }
  50% {
    transform: translate(0, -7px) rotate(0deg);
  }
  100% {
    transform: translate(0, 0) rotate(7deg);
  }
}
@media (min-width: 768px) {
  .main {
    margin-top: 80px;
  }
}
@media (max-width: 767px) {
  .main {
    margin-top: 70px;
  }
}

.fv {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media (min-width: 768px) {
  .fv {
    background-image: url(../img/construction/fv_pc.jpg);
    height: 21.96vw;
  }
}
@media (max-width: 767px) {
  .fv {
    background-image: url(../img/construction/fv_sp.jpg);
    height: 71.47vw;
  }
}
.fv__bg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.fv__wrapper {
  position: relative;
  color: #fff;
  z-index: 1;
}
@media (min-width: 768px) {
  .fv__wrapper {
    height: 21.96vw;
  }
}
@media (max-width: 767px) {
  .fv__wrapper {
    height: 71.47vw;
  }
}
.fv__title {
  letter-spacing: 0.04em;
}
@media (min-width: 768px) {
  .fv__title {
    font-size: 6.3vw;
    line-height: 7.32vw;
  }
}
@media (max-width: 767px) {
  .fv__title {
    font-size: 11.47vw;
    line-height: 13.33vw;
  }
}
@media (min-width: 768px) {
  .fv__title .fv__block {
    font-size: 6.3vw;
    line-height: 7.32vw;
  }
}
@media (max-width: 767px) {
  .fv__title .fv__block {
    font-size: 11.47vw;
    line-height: 13.33vw;
  }
}
.fv__subtitle {
  letter-spacing: 0.12em;
}
@media (min-width: 768px) {
  .fv__subtitle {
    font-size: 2.05vw;
    line-height: 3vw;
  }
}
@media (max-width: 767px) {
  .fv__subtitle {
    font-size: 5.6vw;
    line-height: 5.6vw;
  }
}
@media (min-width: 768px) {
  .fv__subtitle .fv__block {
    font-size: 2.05vw;
    line-height: 3vw;
  }
}
@media (max-width: 767px) {
  .fv__subtitle .fv__block {
    font-size: 5.6vw;
    line-height: 5.6vw;
  }
}
.fv__block {
  position: relative;
  width: 100%;
  overflow: hidden;
  line-height: 1;
  z-index: 1;
}
.fv__block .rect {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  transform-origin: center left;
  transform: scale(0, 1);
  animation-name: copySlideIn1;
  animation-duration: 1.25s;
  animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  animation-fill-mode: forwards;
  animation-play-state: paused;
  z-index: 2;
}
.start .fv__block .rect {
  animation-play-state: running;
}
.fv__block .blocktext {
  display: block;
  position: relative;
  opacity: 0;
  transition-property: opacity;
  transition-delay: 0.97s;
}
.start .fv__block .blocktext {
  opacity: 1;
}

.sec01 {
  background-color: #ecf0f9;
}
@media (min-width: 768px) {
  .sec01 {
    padding: 120px 0;
  }
}
@media (min-width: 768px) and (max-width: 1365px) {
  .sec01 {
    padding: 8.78vw 0;
  }
}
@media (max-width: 767px) {
  .sec01 {
    padding: 60px 0;
  }
}
.sec01__slider {
  position: relative;
}
@media (min-width: 768px) {
  .sec01__slider {
    width: 48.02vw;
    margin-right: 8.05vw;
  }
}
.sec01__slider::before {
  content: "";
  display: block;
  position: absolute;
  background-image: url(../img/common/logo_dakutodan.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 10;
}
@media (min-width: 768px) {
  .sec01__slider::before {
    width: 170px;
    height: 148px;
    top: -75px;
    left: 65px;
  }
}
@media (min-width: 768px) and (max-width: 1365px) {
  .sec01__slider::before {
    width: 12.45vw;
    height: 10.43vw;
    top: -5.49vw;
    left: 4.76vw;
  }
}
@media (max-width: 767px) {
  .sec01__slider::before {
    width: 22.67vw;
    height: 19.73vw;
    top: -10vw;
    left: 9.33vw;
  }
}
@media (min-width: 768px) {
  .sec01__content {
    flex: 1;
    width: 37.34vw;
    max-width: 510px;
    margin-right: 5.86vw;
  }
}
.sec01__head {
  color: #1639b8;
}
@media (max-width: 767px) {
  .sec01__head {
    display: table;
    margin-inline: auto;
  }
}
.sec01__block {
  position: relative;
  overflow: hidden;
  line-height: 1;
  z-index: 1;
}
@media (min-width: 768px) {
  .sec01__block {
    font-size: 48px;
    line-height: 74px;
  }
}
@media (min-width: 768px) and (max-width: 1365px) {
  .sec01__block {
    font-size: 3.51vw;
    line-height: 5.42vw;
  }
}
@media (max-width: 767px) {
  .sec01__block {
    font-size: 30px;
    line-height: 41px;
  }
}
.sec01__block .rect {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #1639b8;
  transform-origin: center left;
  transform: scale(0, 1);
  animation-name: copySlideIn1;
  animation-duration: 1.25s;
  animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  animation-fill-mode: forwards;
  animation-play-state: paused;
  z-index: 2;
}
.show .sec01__block .rect {
  animation-play-state: running;
}
.sec01__block .blocktext {
  display: block;
  position: relative;
  opacity: 0;
  transition-property: opacity;
  transition-delay: 0.97s;
}
.show .sec01__block .blocktext {
  opacity: 1;
}
.sec01__body {
  color: #2d2d2d;
  line-height: 55px;
}

@media (min-width: 768px) {
  .sec02 {
    padding: 90px 0;
  }
}
@media (max-width: 767px) {
  .sec02 {
    padding: 35px 0 50px;
  }
}
@media (min-width: 768px) {
  .sec02__wrapper {
    max-width: 1225px;
    padding: 0 20px;
  }
}
.sec02__head {
  display: table;
  margin-inline: auto;
  color: #1639b8;
}
.sec02__block {
  position: relative;
  overflow: hidden;
  line-height: 1;
  z-index: 1;
}
@media (min-width: 768px) {
  .sec02__block {
    font-size: 48px;
    line-height: 74px;
  }
}
@media (min-width: 768px) and (max-width: 1365px) {
  .sec02__block {
    font-size: 3.51vw;
    line-height: 5.42vw;
  }
}
@media (max-width: 767px) {
  .sec02__block {
    font-size: 30px;
    line-height: 41px;
  }
}
.sec02__block .rect {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #1639b8;
  transform-origin: center left;
  transform: scale(0, 1);
  animation-name: copySlideIn1;
  animation-duration: 1.25s;
  animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  animation-fill-mode: forwards;
  animation-play-state: paused;
  z-index: 2;
}
.show .sec02__block .rect {
  animation-play-state: running;
}
.sec02__block .blocktext {
  display: block;
  position: relative;
  opacity: 0;
  transition-property: opacity;
  transition-delay: 0.97s;
}
.show .sec02__block .blocktext {
  opacity: 1;
}
.sec02__p {
  letter-spacing: 0.04em;
}
@media (min-width: 768px) {
  .sec02__p {
    line-height: 24px;
  }
}
@media (max-width: 767px) {
  .sec02__p {
    line-height: 34px;
  }
}
.sec02__subsection {
  position: relative;
}
@media (min-width: 768px) {
  .sec02__subsection .flex-pc {
    gap: 0 70px;
  }
}
@media (min-width: 768px) and (max-width: 1365px) {
  .sec02__subsection .flex-pc {
    gap: 0 5.12vw;
  }
}
@media (min-width: 768px) {
  .sec02__2 {
    margin-top: 140px;
  }
}
@media (min-width: 768px) and (max-width: 1365px) {
  .sec02__2 {
    margin-top: 10.25vw;
  }
}
@media (min-width: 768px) {
  .sec02__3 {
    margin-top: 150px;
  }
}
@media (min-width: 768px) and (max-width: 1365px) {
  .sec02__3 {
    margin-top: 10.98vw;
  }
}
@media (min-width: 768px) {
  .sec02__4 {
    margin-top: 180px;
  }
}
@media (min-width: 768px) and (max-width: 1365px) {
  .sec02__4 {
    margin-top: 13.18vw;
  }
}
.sec02__img {
  animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
  animation-play-state: paused;
}
@media (min-width: 768px) {
  .sec02__img {
    width: 520px;
  }
}
@media (min-width: 768px) and (max-width: 1365px) {
  .sec02__img {
    width: 38.07vw;
  }
}
@media (max-width: 767px) {
  .sec02__img {
    width: 69.33vw;
  }
}
.sec02__img.show {
  animation-play-state: running;
}
.sec02__air {
  position: absolute;
  z-index: -1;
  animation: fuwafuwa 3s ease-in-out infinite alternate;
  transition: 1.5s ease-in-out;
}
@media (min-width: 768px) {
  .sec02__air1 {
    top: 530px;
    right: 290px;
    width: 382px;
  }
}
@media (min-width: 768px) and (max-width: 1365px) {
  .sec02__air1 {
    top: 38.8vw;
    right: 21.23vw;
    width: 27.96vw;
  }
}
@media (max-width: 767px) {
  .sec02__air1 {
    top: -11.33vw;
    left: -6vw;
    width: 50.8vw;
  }
}
@media (min-width: 768px) {
  .sec02__air2 {
    top: 440px;
    left: 260px;
    width: 478px;
  }
}
@media (min-width: 768px) and (max-width: 1365px) {
  .sec02__air2 {
    top: 32.2vw;
    left: 19.03vw;
    width: 34.99vw;
  }
}
@media (max-width: 767px) {
  .sec02__air2 {
    top: -17.33vw;
    right: -28vw;
    width: 64vw;
  }
}
@media (min-width: 768px) {
  .sec02__air3 {
    top: 530px;
    right: 290px;
    width: 382px;
  }
}
@media (min-width: 768px) and (max-width: 1365px) {
  .sec02__air3 {
    top: 38.8vw;
    right: 21.23vw;
    width: 27.96vw;
  }
}
@media (max-width: 767px) {
  .sec02__air3 {
    top: -32vw;
    left: -6vw;
    width: 50.8vw;
  }
}
@media (max-width: 767px) {
  .sec02__air4 {
    top: -9.33vw;
    right: -26.67vw;
    width: 64vw;
  }
}
@media (min-width: 768px) {
  .sec02__content {
    flex: 1;
    max-width: 545px;
    margin-top: 120px;
  }
}
@media (min-width: 768px) and (max-width: 1365px) {
  .sec02__content {
    margin-top: 8.78vw;
  }
}
@media (max-width: 767px) {
  .sec02__content {
    width: 82.67vw;
  }
}
.sec02__subtitle {
  color: #1639b8;
  line-height: 1.2;
}
@media (min-width: 768px) {
  .sec02__subtitle {
    font-size: 64px;
    letter-spacing: 0.04em;
  }
}
@media (min-width: 768px) and (max-width: 1365px) {
  .sec02__subtitle {
    font-size: 4.69vw;
  }
}
@media (max-width: 767px) {
  .sec02__subtitle {
    font-size: 40px;
  }
}
.sec02__caption {
  color: #ff6e1d;
}
@media (min-width: 768px) {
  .sec02__caption {
    font-size: 24px;
    line-height: 48px;
  }
}
@media (max-width: 767px) {
  .sec02__caption {
    font-size: 21px;
    line-height: 42px;
  }
}
.sec02__text {
  color: #2d2d2d;
}
@media (min-width: 768px) {
  .sec02__text {
    line-height: 55px;
  }
}
@media (max-width: 767px) {
  .sec02__text {
    line-height: 43px;
  }
}

.sec03 {
  background-color: #1639b8;
  color: #fff;
}
@media (min-width: 768px) {
  .sec03 {
    padding: 70px 20px 60px;
  }
}
@media (max-width: 767px) {
  .sec03 {
    padding: 35px 20px;
  }
}
.sec03__head {
  display: table;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .sec03__head {
    font-size: 48px;
    line-height: 82px;
  }
}
@media (min-width: 768px) and (max-width: 1365px) {
  .sec03__head {
    font-size: 3.51vw;
    line-height: 6vw;
  }
}
@media (max-width: 767px) {
  .sec03__head {
    font-size: 30px;
    line-height: 41px;
  }
}
.sec03__block {
  position: relative;
  overflow: hidden;
  line-height: 1;
  z-index: 1;
}
@media (min-width: 768px) {
  .sec03__block {
    font-size: 48px;
    line-height: 82px;
  }
}
@media (min-width: 768px) and (max-width: 1365px) {
  .sec03__block {
    font-size: 3.51vw;
    line-height: 6vw;
  }
}
@media (max-width: 767px) {
  .sec03__block {
    font-size: 30px;
    line-height: 41px;
  }
}
.sec03__block .rect {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  transform-origin: center left;
  transform: scale(0, 1);
  animation-name: copySlideIn1;
  animation-duration: 1.25s;
  animation-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  animation-fill-mode: forwards;
  animation-play-state: paused;
  z-index: 2;
}
.show .sec03__block .rect {
  animation-play-state: running;
}
.sec03__block .blocktext {
  display: block;
  position: relative;
  opacity: 0;
  transition-property: opacity;
  transition-delay: 0.97s;
}
.show .sec03__block .blocktext {
  opacity: 1;
}
.sec03__block.block2 .rect {
  animation-delay: 1.25s;
}
.sec03__block.block2 .blocktext {
  transition-delay: 2.22s;
}
.sec03__block.block3 .rect {
  animation-delay: 2.5s;
}
.sec03__block.block3 .blocktext {
  transition-delay: 3.47s;
}/*# sourceMappingURL=construction.css.map */