@charset "UTF-8";
/* CSS Document */
body:before {
  opacity: 0;
}
#pageWrap {
  padding: 0;
}
.boxWidth {
  container-type: inline-size;
}
#sec01 {
  background-image: url("../images/bg-01.jpg");
  background-position: top center;
  background-size: cover;
  padding: 3% 0 5%;
  position: relative;
  .titBox {
    padding-bottom: 30px;
    h1 {
      font-weight: 400;
      color: #688596;
      font-size: clamp(13px, 1.7cqw, 16px);
      font-size: 3.4cqw;
      line-height: 1.4;
      span {
        font-size: 200%;
        display: block;
      }
    }
  }
  .flex {
    max-width: 900px;
    margin: 0 auto;
    .imgBox {
      width: 31%;
      border-radius: 15px;
      overflow: hidden;
      position: relative;
      &::after {
        position: absolute;
        content: "";
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        box-shadow: 0px 0px 20px #fff inset, 0px 0px 20px #c9ffff inset;
        border: #c5d567 solid 1px;
        border-radius: 15px;
      }
    }
  }
  .cap {
    position: absolute;
    right: 1em;
    bottom: 0.3em;
    font-size: 11px;
  }
}
#sec02 {
  padding: 3% 0;
  .h2Box {
    h2 {
      font-size: 32px;
    }
    p.lead {
      font-size: 18px;
      padding: 1em 0;
    }
  }
  .grfBox {
    background-color: #fff;
    box-shadow: 7px 7px 15px rgba(0, 0, 0, 0.6);
    margin-bottom: 50px;
    h3 {
      background-color: #1f5a9e;
      color: #fff;
      font-size: 32px;
      padding: 0.1em;
    }
    .figWrap {
      position: relative;
      height: 0;
      padding-top: 32.6%;
      margin: 20px 30px;
    }
    .figBox {
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      .grf {
        position: absolute;
        width: 26%;
        left: 33%;
        top: 17%;
      }
      .num {
        position: absolute;
        width: 50%;
        left: 0;
        top: 0;
        opacity: 0;
      }
    }
    .figBox.active .num {
      opacity: 1;
      transition-duration: 0.6s;
    }
    .grf01 {
      .num01 {
        width: 37.5%;
        left: 53.5%;
        top: 7%;
        transition-delay: 0.2s;
      }
      .num02 {
        width: 37.6%;
        left: 51.4%;
        top: 79%;
        transition-delay: 0.4s;
      }
      .num03 {
        width: 33.7%;
        left: 0.7%;
        top: 74%;
        transition-delay: 0.6s;
      }
      .num04 {
        width: 32.8%;
        left: 1.5%;
        top: 23%;
        transition-delay: 0.8s;
      }
      .num05 {
        width: 38.7%;
        left: 4.5%;
        top: 1%;
        transition-delay: 1s;
      }
    }
    .grf02 {
      .num01 {
        width: 44.5%;
        left: 54.6%;
        top: 9%;
        transition-delay: 0.2s;
      }
      .num02 {
        width: 46.6%;
        left: 52.5%;
        top: 78%;
        transition-delay: 0.4s;
      }
      .num03 {
        width: 33.7%;
        left: 1.7%;
        top: 62%;
        transition-delay: 0.6s;
      }
      .num04 {
        width: 32.8%;
        left: 2.6%;
        top: 30%;
        transition-delay: 0.8s;
      }
      .num05 {
        width: 20%;
        left: 23.9%;
        top: 4%;
        transition-delay: 1s;
      }
    }
  }
  p.cap {
    text-align: right;
    padding-right: 1em;
    padding-bottom: 0.5em;
    font-size: 11px;
  }
}
#sec03 {
  .imgBox {
    width: 25%;
  }
}
#sec04 {
  padding: 5% 0;
  background-color: #eaf5fc;
  .h2Box {
    max-width: 840px;
    position: relative;
    margin: 50px auto;
    &::before, &::after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 90%;
      width: 100%;
      height: 100%;
      background-image: url("../images/fig04-1.svg");
      background-position: left center;
      width: 100%;
      background-repeat: no-repeat;
    }
    &::after {
      bottom: 0%;
      top: 90%;
    }
    h2 {
      font-size: 32px;
      position: relative;
      &::before, &::after {
        position: absolute;
        content: "　";
        background-image: url("../images/fig04-2.svg");
        background-size: 100%;
        background-repeat: no-repeat;
        background-position: center top;
        width: 12%;
        height: 100%;
        top: 0;
        left: 80%;
      }
      &::before {
        left: auto;
        right: 80%;
        transform: scaleX(-1);
      }
    }
  }
  .h3Box {
    padding: 50px 0 20px;
    h3 {
      font-size: 34px;
    }
  }
}
#sec04 {
  .items {
    gap: 50px 50px;
    a {
      display: block;
      width: calc((100% / 3) - 35px);
      background-image: url(../images/bg-voice.png);
      background-position: left top;
      background-size: 100%;
      background-repeat: no-repeat;
      transition: 0.3s;
      box-shadow: 7px 7px 15px rgba(0, 0, 0, 0.5);
    }
  }
  p.desc {
    padding-top: 30px;
  }
}
.dly02 {
  transition-delay: 0.2s !important;
}
.dly03 {
  transition-delay: 0.4s !important;
}
.dly04 {
  transition-delay: 0.6s !important;
}
.dly05 {
  transition-delay: 0.8s !important;
}
/* オーバーレイ 初期状態 */
.mfp-fade.mfp-bg {
  opacity: 0;
  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  transition: all .3s ease-out;
}
/* オーバーレイ 表示アニメーション */
.mfp-fade.mfp-bg.mfp-ready {
  opacity: .8;
}
/* オーバーレイ 非表示アニメーション */
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}
/* コンテンツ 初期状態 */
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  transition: all .3s ease-out;
}
/* コンテンツ 表示アニメーション */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}
/* コンテンツ 非表示アニメーション */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}
.voiceBox {
  display: block;
  width: 80%;
  max-width: 600px;
  background-image: url(../images/bg-voice.png);
  background-size: 100%;
  margin: 0 auto;
  position: relative;
}
.voiceBox .close {
  position: absolute;
  font-size: 40px;
  color: #fff;
  left: 102%;
  bottom: 102%;
}
@media screen and (max-width: 959px) {
  #sec02 {
    .h2Box {
      h2 {
        font-size: clamp(13px, 4.4cqw, 30px);
      }
      p.lead {
        font-size: 2.5cqw;
      }
    }
    .grfBox {
      h3 {
        font-size: clamp(13px, 4.4cqw, 30px);
      }
    }
  }
	#sec04 {
     .items {
			 gap: 30px 0px;
        a {
            width: calc((100% / 2) - 15px);
        }
    }
		.h2Box {
        h2 {
            font-size: clamp(13px, 4.4cqw, 30px);
        }
    }
	}


}
@media screen and (max-width: 599px) {
  #sec01 {
    background-image: url("../images/bg-01_sp.jpg");
    padding: 30px 0;
    .titBox {
      padding-bottom: 30px;
      h1 {
        font-size: 5.0cqw;
      }
    }
    .cap {
      font-size: 10px;
    }
  }
  #sec02 {
    padding: 3% 0;
    .h2Box {
      h2 {
        font-size: 5.2cqw;
        font-size: clamp(13px, 5.2cqw, 20px);
      }
      p.lead {
        font-size: 3.6cqw;
        font-size: clamp(13px, 3.6cqw, 15px);
      }
    }
    .grfBox {
      width: 90%;
      max-width: 400px;
      margin: 0 auto 25px;
      h3 {
        font-size: clamp(13px, 5.2cqw, 20px);
      }
      .figWrap {
        position: relative;
        height: auto;
        padding-top: 0;
        margin: 20px 20px 0;
      }
      .figBox {
        position: static;
        width: 100%;
        .grf {
          position: static;
          width: 80%;
          margin: 0 auto;
        }
        .num {
          position: static;
          width: 100%;
          margin: 15px auto 0;
        }
      }
    }

  p.cap {
    font-size: 10px;
    padding: 1em 0;
  }
}
#sec03 {
  .imgBox {
    width: 50%;
  }
}
#sec04 {
  padding: 6% 0 3%;
  .h2Box {
    max-width: 840px;
    position: relative;
    margin: 10% auto;
    h2 {
      font-size: clamp(13px, 5.2cqw, 20px);
      position: relative;
      &::before, &::after {
        left: 85%;
      }
      &::before {
        left: auto;
        right: 85%;
      }
    }
  }
  .h3Box {
    padding: 50px 0 20px;
    h3 {
      font-size: 34px;
    }
  }
}
#sec04 {
  .items {
    gap: 20px 50px;
    a {
      display: block;
      width: 90%;
      margin: 0 auto;
      pointer-events: none;
    }
  }
  p.desc {
    padding-top: 0px;
    display: none;
  }
}
