@charset "UTF-8";

.c-lead {
  font-size: 3rem;
}

.c-text {
  font-size: 1.6rem;
}

.c-text--m {
  font-size: 1.8rem;
}

.contact {
  margin-bottom: var(--space-xs);
}

/*-------------------------------------
 fv
-------------------------------------*/
.fv {
  width: 100%;
  height: 50rem;
  position: relative;
  box-sizing: border-box;
  background: linear-gradient(to right, #268BF1 .77%, #00CED1 58.74%, #00BFFF 82.9%, #80d5ff 97.39%);
  background: linear-gradient(to right, #003366, #004a80, #005a9c);
  z-index: 2;
  overflow: hidden;
}

.fv::before {
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 90, 180, 1), rgba(0, 90, 180, 0));
  position: absolute;
  top: 0;
  left: 0;
}

.fv::after {
  display: block;
  content: '';
  width: 100%;
  height: 40%;
  background: url('../../assets/img/common/bg--w.svg');
  background-size: cover;
  background-position: bottom;
  position: absolute;
  bottom: -2px;
  left: 0;
}

.l-inner__fv {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  line-height: 1.6;
}

.c-heading,
.fv__title-main {
  display: flex;
  align-items: center;
  font-size: 3.6rem;
  font-weight: 700;
}

.c-heading>span {
  font-size: 2rem;
  background: rgba(0, 0, 0, .1);
  padding: 0 10px;
  margin-left: 5px;
}

.fv__title-label {
  font-size: 2rem;
  letter-spacing: .075em;
}

.fv-bg {
  position: absolute;
  bottom: 15%;
  left: -5%;
  width: 110%;
  opacity: 0;
  clip-path: inset(0 100% 0 0);
  transition: clip-path 1s ease, opacity 1s ease;
}

.fv-bg--active {
  opacity: .3;
  clip-path: inset(0 0 0 0);
}

.fv-bg2 {
  position: absolute;
  bottom: 5%;
  left: 8.5%;
  width: 95%;
  opacity: 0;
  clip-path: inset(0 0 0 100%);
  transition: clip-path 1s ease, opacity 1s ease;

  mix-blend-mode: overlay;
}

.fv-bg2--active {
  opacity: .4;
  clip-path: inset(0 0 0 0);
}

@media screen and (max-width:1280px) {}

@media screen and (max-width:1024px) {}

@media screen and (max-width:896px) {}

@media screen and (max-width:786px) {}

@media screen and (max-width:680px) {}

@media screen and (max-width:480px) {
  .fv {
    width: 100%;
    height: 30rem;
  }

  .c-heading,
  .fv__title-main {
    display: flex;
    align-items: center;
    font-size: 2rem;
  }

  .c-heading>span {
    font-size: 1.6rem;
  }

  .fv__title-label {
    font-size: 1.4rem;
  }

  .fv-bg {
    position: absolute;
    bottom: 10%;
    left: -20%;
    width: 135%;
  }
  .fv-bg2 {
    position: absolute;
    bottom: 10%;
    left: -13.5%;
    width: 130%;
  }
}