/* ===============================================================================
Top
=============================================================================== */
/* top-section
========================= */
@-webkit-keyframes infinite {
  0% {
    background-position: 0px 0px;
  }
  100% {
    background-position: -3840px 0px;
  }
}
@keyframes infinite {
  0% {
    background-position: 0px 0px;
  }
  100% {
    background-position: -3840px 0px;
  }
}
@-webkit-keyframes infiniteSp {
  0% {
    background-position: 0px 0px;
  }
  100% {
    background-position: -200vw 0px;
  }
}
@keyframes infiniteSp {
  0% {
    background-position: 0px 0px;
  }
  100% {
    background-position: -200vw 0px;
  }
}
@-webkit-keyframes decoCmn {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0;
  }
  24% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
    opacity: 1;
  }
  50% {
    -webkit-transform: scale(0.75);
            transform: scale(0.75);
  }
  70% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0;
  }
}
@keyframes decoCmn {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0;
  }
  24% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
    opacity: 1;
  }
  50% {
    -webkit-transform: scale(0.75);
            transform: scale(0.75);
  }
  70% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0;
  }
}
@-webkit-keyframes decoCmn2 {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
  24% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
  }
  50% {
    -webkit-transform: scale(0.75);
            transform: scale(0.75);
    opacity: 0;
  }
  70% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@keyframes decoCmn2 {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
  24% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
  }
  50% {
    -webkit-transform: scale(0.75);
            transform: scale(0.75);
    opacity: 0;
  }
  70% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@-webkit-keyframes deco1 {
  0% {
    top: 228px;
    left: 17px;
  }
  25% {
    top: 508px;
    left: 521px;
  }
  50% {
    top: 108px;
    left: 941px;
  }
  75% {
    top: -62px;
    left: 441px;
  }
  100% {
    top: 228px;
    left: 17px;
  }
}
@keyframes deco1 {
  0% {
    top: 228px;
    left: 17px;
  }
  25% {
    top: 508px;
    left: 521px;
  }
  50% {
    top: 108px;
    left: 941px;
  }
  75% {
    top: -62px;
    left: 441px;
  }
  100% {
    top: 228px;
    left: 17px;
  }
}
@-webkit-keyframes deco2 {
  0% {
    top: 135px;
    left: 1104px;
  }
  25% {
    top: 0px;
    left: 1600px;
  }
  50% {
    top: 408px;
    left: 1441px;
  }
  75% {
    top: 500px;
    left: 850px;
  }
  100% {
    top: 135px;
    left: 1104px;
  }
}
@keyframes deco2 {
  0% {
    top: 135px;
    left: 1104px;
  }
  25% {
    top: 0px;
    left: 1600px;
  }
  50% {
    top: 408px;
    left: 1441px;
  }
  75% {
    top: 500px;
    left: 850px;
  }
  100% {
    top: 135px;
    left: 1104px;
  }
}
@-webkit-keyframes deco3 {
  0% {
    top: 62px;
    left: 600px;
  }
  25% {
    top: -92px;
    left: 100px;
  }
  50% {
    top: 202px;
    left: -150px;
  }
  75% {
    top: 600px;
    left: 100px;
  }
  100% {
    top: 62px;
    left: 600px;
  }
}
@keyframes deco3 {
  0% {
    top: 62px;
    left: 600px;
  }
  25% {
    top: -92px;
    left: 100px;
  }
  50% {
    top: 202px;
    left: -150px;
  }
  75% {
    top: 600px;
    left: 100px;
  }
  100% {
    top: 62px;
    left: 600px;
  }
}
@-webkit-keyframes deco4 {
  0% {
    top: 212px;
    left: 863px;
  }
  25% {
    top: 300px;
    left: 503px;
  }
  50% {
    top: 220px;
    left: 203px;
  }
  75% {
    top: -20px;
    left: 503px;
  }
  100% {
    top: 212px;
    left: 863px;
  }
}
@keyframes deco4 {
  0% {
    top: 212px;
    left: 863px;
  }
  25% {
    top: 300px;
    left: 503px;
  }
  50% {
    top: 220px;
    left: 203px;
  }
  75% {
    top: -20px;
    left: 503px;
  }
  100% {
    top: 212px;
    left: 863px;
  }
}
@-webkit-keyframes deco5 {
  0% {
    top: 528px;
    left: 1765px;
  }
  25% {
    top: 328px;
    left: 1865px;
  }
  50% {
    top: -20px;
    left: 1550px;
  }
  75% {
    top: 450px;
    left: 1400px;
  }
  100% {
    top: 528px;
    left: 1765px;
  }
}
@keyframes deco5 {
  0% {
    top: 528px;
    left: 1765px;
  }
  25% {
    top: 328px;
    left: 1865px;
  }
  50% {
    top: -20px;
    left: 1550px;
  }
  75% {
    top: 450px;
    left: 1400px;
  }
  100% {
    top: 528px;
    left: 1765px;
  }
}
@-webkit-keyframes deco6 {
  0% {
    top: 193px;
    left: 1640px;
  }
  25% {
    top: 20px;
    left: 1365px;
  }
  50% {
    top: 320px;
    left: 1150px;
  }
  75% {
    top: 450px;
    left: 1400px;
  }
  100% {
    top: 193px;
    left: 1640px;
  }
}
@keyframes deco6 {
  0% {
    top: 193px;
    left: 1640px;
  }
  25% {
    top: 20px;
    left: 1365px;
  }
  50% {
    top: 320px;
    left: 1150px;
  }
  75% {
    top: 450px;
    left: 1400px;
  }
  100% {
    top: 193px;
    left: 1640px;
  }
}
@-webkit-keyframes deco7 {
  0% {
    top: 500px;
    left: 396px;
  }
  25% {
    top: 590px;
    left: 100px;
  }
  50% {
    top: 300px;
    left: -40px;
  }
  75% {
    top: 250px;
    left: 250px;
  }
  100% {
    top: 500px;
    left: 396px;
  }
}
@keyframes deco7 {
  0% {
    top: 500px;
    left: 396px;
  }
  25% {
    top: 590px;
    left: 100px;
  }
  50% {
    top: 300px;
    left: -40px;
  }
  75% {
    top: 250px;
    left: 250px;
  }
  100% {
    top: 500px;
    left: 396px;
  }
}
@-webkit-keyframes deco8 {
  0% {
    top: 426px;
    left: 1391px;
  }
  25% {
    top: 556px;
    left: 1100px;
  }
  50% {
    top: 250px;
    left: 850px;
  }
  75% {
    top: 150px;
    left: 1150px;
  }
  100% {
    top: 426px;
    left: 1391px;
  }
}
@keyframes deco8 {
  0% {
    top: 426px;
    left: 1391px;
  }
  25% {
    top: 556px;
    left: 1100px;
  }
  50% {
    top: 250px;
    left: 850px;
  }
  75% {
    top: 150px;
    left: 1150px;
  }
  100% {
    top: 426px;
    left: 1391px;
  }
}
@-webkit-keyframes deco1Sp {
  0% {
    top: 16.4vw;
    left: 5.47vw;
  }
  25% {
    top: -16.4vw;
    left: 45.47vw;
  }
  50% {
    top: 24vw;
    left: 80.13vw;
  }
  75% {
    top: 47.07vw;
    left: 32.13vw;
  }
  100% {
    top: 16.4vw;
    left: 5.47vw;
  }
}
@keyframes deco1Sp {
  0% {
    top: 16.4vw;
    left: 5.47vw;
  }
  25% {
    top: -16.4vw;
    left: 45.47vw;
  }
  50% {
    top: 24vw;
    left: 80.13vw;
  }
  75% {
    top: 47.07vw;
    left: 32.13vw;
  }
  100% {
    top: 16.4vw;
    left: 5.47vw;
  }
}
@-webkit-keyframes deco2Sp {
  0% {
    top: 46vw;
    left: -8.4vw;
  }
  25% {
    top: 66vw;
    left: 35.07vw;
  }
  50% {
    top: 40.67vw;
    left: 61.73vw;
  }
  75% {
    top: 19.33vw;
    left: 37.73vw;
  }
  100% {
    top: 46vw;
    left: -8.4vw;
  }
}
@keyframes deco2Sp {
  0% {
    top: 46vw;
    left: -8.4vw;
  }
  25% {
    top: 66vw;
    left: 35.07vw;
  }
  50% {
    top: 40.67vw;
    left: 61.73vw;
  }
  75% {
    top: 19.33vw;
    left: 37.73vw;
  }
  100% {
    top: 46vw;
    left: -8.4vw;
  }
}
@-webkit-keyframes deco3Sp {
  0% {
    top: 7.47vw;
    left: 83.47vw;
  }
  25% {
    top: 34.13vw;
    left: 96.8vw;
  }
  50% {
    top: 60.8vw;
    left: 80vw;
  }
  75% {
    top: 40vw;
    left: 73.33vw;
  }
  100% {
    top: 7.47vw;
    left: 83.47vw;
  }
}
@keyframes deco3Sp {
  0% {
    top: 7.47vw;
    left: 83.47vw;
  }
  25% {
    top: 34.13vw;
    left: 96.8vw;
  }
  50% {
    top: 60.8vw;
    left: 80vw;
  }
  75% {
    top: 40vw;
    left: 73.33vw;
  }
  100% {
    top: 7.47vw;
    left: 83.47vw;
  }
}
@-webkit-keyframes deco4Sp {
  0% {
    top: 57.47vw;
    left: 32.27vw;
  }
  25% {
    top: 30.8vw;
    left: 64.27vw;
  }
  50% {
    top: 53.33vw;
    left: 80.27vw;
  }
  75% {
    top: 84.13vw;
    left: 62.93vw;
  }
  100% {
    top: 57.47vw;
    left: 32.27vw;
  }
}
@keyframes deco4Sp {
  0% {
    top: 57.47vw;
    left: 32.27vw;
  }
  25% {
    top: 30.8vw;
    left: 64.27vw;
  }
  50% {
    top: 53.33vw;
    left: 80.27vw;
  }
  75% {
    top: 84.13vw;
    left: 62.93vw;
  }
  100% {
    top: 57.47vw;
    left: 32.27vw;
  }
}
@-webkit-keyframes circle1 {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
  4% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  10% {
    opacity: 1;
  }
  14% {
    opacity: 0;
  }
}
@keyframes circle1 {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
  4% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  10% {
    opacity: 1;
  }
  14% {
    opacity: 0;
  }
}
@-webkit-keyframes circle2 {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
  4% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  13% {
    opacity: 1;
  }
  17% {
    opacity: 0;
  }
}
@keyframes circle2 {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
  4% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  13% {
    opacity: 1;
  }
  17% {
    opacity: 0;
  }
}
@-webkit-keyframes circle3 {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
  4% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  25% {
    opacity: 1;
  }
  30% {
    opacity: 0;
  }
}
@keyframes circle3 {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
  4% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  25% {
    opacity: 1;
  }
  30% {
    opacity: 0;
  }
}
@-webkit-keyframes copyTxt {
  0% {
    opacity: 0;
  }
  12% {
    opacity: 1;
  }
}
@keyframes copyTxt {
  0% {
    opacity: 0;
  }
  12% {
    opacity: 1;
  }
}
/* top-sec-1 */
.top-sec-1 {
  overflow: hidden;
}
.top-sec-1 .blks-1 {
  overflow: hidden;
  position: relative;
}
.top-sec-1 .blks-1::before {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../img/top/mv/mv_top_bg01.jpg") repeat 0 0;
  -webkit-animation: infinite 400s linear infinite;
          animation: infinite 400s linear infinite;
}
.top-sec-1 .blks-1::after {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  width: 594px;
  height: 509px;
  background: url("../img/top/mv/mv_top_img01.png") no-repeat 0 0/100% 100%;
  z-index: 1;
}
.top-sec-1 .blks-1__inner {
  width: 1920px;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
.top-sec-1 .blks-1 .mv {
  height: 656px;
}
.top-sec-1 .blks-1 .mv__deco {
  position: relative;
  z-index: 1;
}
.top-sec-1 .blks-1 .mv__deco__item {
  position: absolute;
}
.top-sec-1 .blks-1 .mv__deco__item:nth-child(1) {
  top: 228px;
  left: 17px;
  -webkit-animation: deco1 80s linear infinite;
          animation: deco1 80s linear infinite;
}
.top-sec-1 .blks-1 .mv__deco__item:nth-child(1) img {
  -webkit-animation: decoCmn 12s linear infinite;
          animation: decoCmn 12s linear infinite;
}
.top-sec-1 .blks-1 .mv__deco__item:nth-child(2) {
  top: 135px;
  left: 1104px;
  opacity: 0.75;
  -webkit-animation: deco2 80s linear infinite;
          animation: deco2 80s linear infinite;
}
.top-sec-1 .blks-1 .mv__deco__item:nth-child(2) img {
  -webkit-animation: decoCmn2 12s linear infinite;
          animation: decoCmn2 12s linear infinite;
}
.top-sec-1 .blks-1 .mv__deco__item:nth-child(3) {
  top: 62px;
  left: 600px;
  -webkit-animation: deco3 70s linear infinite;
          animation: deco3 70s linear infinite;
}
.top-sec-1 .blks-1 .mv__deco__item:nth-child(3) img {
  -webkit-animation: decoCmn 11s linear infinite;
          animation: decoCmn 11s linear infinite;
}
.top-sec-1 .blks-1 .mv__deco__item:nth-child(4) {
  top: 212px;
  left: 863px;
  -webkit-animation: deco4 70s linear infinite;
          animation: deco4 70s linear infinite;
}
.top-sec-1 .blks-1 .mv__deco__item:nth-child(4) img {
  -webkit-animation: decoCmn2 11s linear infinite;
          animation: decoCmn2 11s linear infinite;
}
.top-sec-1 .blks-1 .mv__deco__item:nth-child(5) {
  top: 528px;
  left: 1765px;
  -webkit-animation: deco5 60s linear infinite;
          animation: deco5 60s linear infinite;
}
.top-sec-1 .blks-1 .mv__deco__item:nth-child(5) img {
  -webkit-animation: decoCmn 10s linear infinite;
          animation: decoCmn 10s linear infinite;
}
.top-sec-1 .blks-1 .mv__deco__item:nth-child(6) {
  top: 193px;
  left: 1640px;
  -webkit-animation: deco6 60s linear infinite;
          animation: deco6 60s linear infinite;
}
.top-sec-1 .blks-1 .mv__deco__item:nth-child(6) img {
  -webkit-animation: decoCmn2 10s linear infinite;
          animation: decoCmn2 10s linear infinite;
}
.top-sec-1 .blks-1 .mv__deco__item:nth-child(7) {
  top: 500px;
  left: 396px;
  -webkit-animation: deco7 50s linear infinite;
          animation: deco7 50s linear infinite;
}
.top-sec-1 .blks-1 .mv__deco__item:nth-child(7) img {
  -webkit-animation: decoCmn 9s linear infinite;
          animation: decoCmn 9s linear infinite;
}
.top-sec-1 .blks-1 .mv__deco__item:nth-child(8) {
  top: 426px;
  left: 1391px;
  -webkit-animation: deco8 50s linear infinite;
          animation: deco8 50s linear infinite;
}
.top-sec-1 .blks-1 .mv__deco__item:nth-child(8) img {
  -webkit-animation: decoCmn2 9s linear infinite;
          animation: decoCmn2 9s linear infinite;
}
.top-sec-1 .blks-1 .mv__copy {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
}
.top-sec-1 .blks-1 .mv__copy__circle {
  width: 223px;
  height: 223px;
  opacity: 0;
  position: absolute;
}
.top-sec-1 .blks-1 .mv__copy__circle::after {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  width: 223px;
  height: 223px;
  box-sizing: border-box;
  border: solid 3px rgba(59, 220, 252, 0.7);
  border-radius: 100%;
}
.top-sec-1 .blks-1 .mv__copy__circle-2 {
  width: 347px;
  height: 347px;
  opacity: 0;
  position: absolute;
}
.top-sec-1 .blks-1 .mv__copy__circle-2::after {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  width: 347px;
  height: 347px;
  background: #3bdcfc;
  opacity: 0.4;
  border-radius: 100%;
}
.top-sec-1 .blks-1 .mv__copy__circle-3 {
  width: 690px;
  height: 690px;
  opacity: 0;
  position: absolute;
  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;
}
.top-sec-1 .blks-1 .mv__copy__circle-3::after {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  width: 690px;
  height: 690px;
  box-sizing: border-box;
  border: solid 55px rgba(59, 220, 252, 0.7);
  border-radius: 100%;
}
.top-sec-1 .blks-1 .mv__copy__txt {
  font-size: 1.5rem;
  line-height: 2.09;
  letter-spacing: 0.05em;
  color: #fff;
  opacity: 0;
}
.top-sec-1 .blks-1 .mv__copy._copy-1 .mv__copy__circle {
  top: 382px;
  left: 92px;
  -webkit-animation: 16.5s ease-out 1s infinite forwards circle1;
          animation: 16.5s ease-out 1s infinite forwards circle1;
}
.top-sec-1 .blks-1 .mv__copy._copy-1 .mv__copy__circle-2 {
  top: 289px;
  left: 716px;
  -webkit-animation: 16.5s ease-out 0.5s infinite forwards circle2;
          animation: 16.5s ease-out 0.5s infinite forwards circle2;
}
.top-sec-1 .blks-1 .mv__copy._copy-1 .mv__copy__circle-3 {
  top: 8px;
  left: 939px;
  -webkit-animation: 16.5s ease-out 1.75s infinite forwards circle3;
          animation: 16.5s ease-out 1.75s infinite forwards circle3;
}
.top-sec-1 .blks-1 .mv__copy._copy-1 .mv__copy__txt {
  padding-left: 40px;
  -webkit-animation: 16.5s linear 2.5s infinite forwards copyTxt;
          animation: 16.5s linear 2.5s infinite forwards copyTxt;
}
.top-sec-1 .blks-1 .mv__copy._copy-2 .mv__copy__circle {
  top: 159px;
  left: 266px;
  -webkit-animation: 16.5s ease-out 6.5s infinite forwards circle1;
          animation: 16.5s ease-out 6.5s infinite forwards circle1;
}
.top-sec-1 .blks-1 .mv__copy._copy-2 .mv__copy__circle-2 {
  top: -33px;
  left: 1108px;
  -webkit-animation: 16.5s ease-out 6s infinite forwards circle2;
          animation: 16.5s ease-out 6s infinite forwards circle2;
}
.top-sec-1 .blks-1 .mv__copy._copy-2 .mv__copy__circle-3 {
  top: 48px;
  left: 343px;
  -webkit-animation: 16.5s ease-out 7.25s infinite forwards circle3;
          animation: 16.5s ease-out 7.25s infinite forwards circle3;
}
.top-sec-1 .blks-1 .mv__copy._copy-2 .mv__copy__txt {
  padding-left: 24px;
  -webkit-animation: 16.5s linear 8s infinite forwards copyTxt;
          animation: 16.5s linear 8s infinite forwards copyTxt;
}
.top-sec-1 .blks-1 .mv__copy._copy-3 .mv__copy__circle {
  top: 480px;
  left: 516px;
  width: 316px;
  height: 316px;
  -webkit-animation: 16.5s ease-out 12s infinite forwards circle1;
          animation: 16.5s ease-out 12s infinite forwards circle1;
}
.top-sec-1 .blks-1 .mv__copy._copy-3 .mv__copy__circle::after {
  width: 316px;
  height: 322px;
}
.top-sec-1 .blks-1 .mv__copy._copy-3 .mv__copy__circle-2 {
  top: -26px;
  left: 1517px;
  -webkit-animation: 16.5s ease-out 11.5s infinite forwards circle2;
          animation: 16.5s ease-out 11.5s infinite forwards circle2;
}
.top-sec-1 .blks-1 .mv__copy._copy-3 .mv__copy__circle-3 {
  top: 8px;
  left: 608px;
  -webkit-animation: 16.5s ease-out 12.75s infinite forwards circle3;
          animation: 16.5s ease-out 12.75s infinite forwards circle3;
}
.top-sec-1 .blks-1 .mv__copy._copy-3 .mv__copy__txt {
  padding-left: 39px;
  -webkit-animation: 16.5s linear 13.5s infinite forwards copyTxt;
          animation: 16.5s linear 13.5s infinite forwards copyTxt;
}
.top-sec-1 .blks-2 {
  padding: 48px 0 41px;
}
.top-sec-1 .blks-2 .txt {
  text-align: center;
  font-size: 1.75rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .top-sec-1 .blks-1::before {
    background: url("../img/top/mv/mv_top_bg01_sp.jpg") repeat 0 0/auto 100%;
    -webkit-animation: infiniteSp 100s linear infinite;
            animation: infiniteSp 100s linear infinite;
  }
  .top-sec-1 .blks-1::after {
    width: 45.47vw;
    height: 78.13vw;
    top: -11.7vw;
    background: url("../img/top/mv/mv_top_img01_sp.png") no-repeat 0 0/100% 100%;
  }
  .top-sec-1 .blks-1__inner {
    width: auto;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    left: 0;
  }
  .top-sec-1 .blks-1 .mv {
    height: 79.73vw;
  }
  .top-sec-1 .blks-1 .mv__deco__item {
    text-align: center;
  }
  .top-sec-1 .blks-1 .mv__deco__item:nth-child(1) {
    width: 23.33vw;
    top: 16.4vw;
    left: 5.47vw;
    -webkit-animation: deco1Sp 80s linear infinite;
            animation: deco1Sp 80s linear infinite;
  }
  .top-sec-1 .blks-1 .mv__deco__item:nth-child(2) {
    width: 18.8vw;
    top: 46vw;
    left: -8.4vw;
    -webkit-animation: deco2Sp 80s linear infinite;
            animation: deco2Sp 80s linear infinite;
  }
  .top-sec-1 .blks-1 .mv__deco__item:nth-child(3) {
    width: 9.27vw;
    top: 7.47vw;
    left: 83.47vw;
    -webkit-animation: deco3Sp 70s linear infinite;
            animation: deco3Sp 70s linear infinite;
  }
  .top-sec-1 .blks-1 .mv__deco__item:nth-child(4) {
    width: 16.67vw;
    top: 57.47vw;
    left: 32.27vw;
    -webkit-animation: deco4Sp 70s linear infinite;
            animation: deco4Sp 70s linear infinite;
  }
  .top-sec-1 .blks-1 .mv__deco__item:nth-child(n+5) {
    display: none;
  }
  .top-sec-1 .blks-1 .mv__copy__circle {
    width: 29.73vw;
    height: 29.73vw;
  }
  .top-sec-1 .blks-1 .mv__copy__circle::after {
    width: 29.73vw;
    height: 29.73vw;
    border: solid 0.4vw rgba(59, 220, 252, 0.7);
  }
  .top-sec-1 .blks-1 .mv__copy__circle-2 {
    width: 47.33vw;
    height: 47.33vw;
  }
  .top-sec-1 .blks-1 .mv__copy__circle-2::after {
    width: 47.33vw;
    height: 47.33vw;
  }
  .top-sec-1 .blks-1 .mv__copy__circle-3 {
    width: 72.53vw;
    height: 72.53vw;
  }
  .top-sec-1 .blks-1 .mv__copy__circle-3::after {
    width: 72.53vw;
    height: 72.53vw;
    border: solid 4.67vw rgba(59, 220, 252, 0.7);
  }
  .top-sec-1 .blks-1 .mv__copy__txt {
    font-size: 3.73vw;
    line-height: 1.79;
  }
  .top-sec-1 .blks-1 .mv__copy._copy-1 .mv__copy__circle {
    top: -3.53vw;
    left: 1.93vw;
  }
  .top-sec-1 .blks-1 .mv__copy._copy-1 .mv__copy__circle-2 {
    top: 43.87vw;
    left: 67.07vw;
  }
  .top-sec-1 .blks-1 .mv__copy._copy-1 .mv__copy__circle-3 {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }
  .top-sec-1 .blks-1 .mv__copy._copy-1 .mv__copy__txt {
    padding-left: 2.67vw;
  }
  .top-sec-1 .blks-1 .mv__copy._copy-2 .mv__copy__circle {
    width: 48.53vw;
    height: 48.53vw;
    top: 42.32vw;
    left: -16.67vw;
  }
  .top-sec-1 .blks-1 .mv__copy._copy-2 .mv__copy__circle::after {
    width: 48.53vw;
    height: 49.33vw;
  }
  .top-sec-1 .blks-1 .mv__copy._copy-2 .mv__copy__circle-2 {
    width: 27.07vw;
    height: 27.07vw;
    top: 1.17vw;
    left: 67.73vw;
  }
  .top-sec-1 .blks-1 .mv__copy._copy-2 .mv__copy__circle-2::after {
    width: 27.07vw;
    height: 27.6vw;
  }
  .top-sec-1 .blks-1 .mv__copy._copy-2 .mv__copy__circle-3 {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }
  .top-sec-1 .blks-1 .mv__copy._copy-2 .mv__copy__txt {
    padding-left: 1.6vw;
  }
  .top-sec-1 .blks-1 .mv__copy._copy-3 .mv__copy__circle {
    width: 22.53vw;
    height: 22.53vw;
    top: 59.83vw;
    left: 59.33vw;
  }
  .top-sec-1 .blks-1 .mv__copy._copy-3 .mv__copy__circle::after {
    width: 22.53vw;
    height: 23.07vw;
  }
  .top-sec-1 .blks-1 .mv__copy._copy-3 .mv__copy__circle-2 {
    width: 49.87vw;
    height: 49.87vw;
    top: -22.93vw;
    left: -10vw;
  }
  .top-sec-1 .blks-1 .mv__copy._copy-3 .mv__copy__circle-2::after {
    width: 49.87vw;
    height: 50.67vw;
  }
  .top-sec-1 .blks-1 .mv__copy._copy-3 .mv__copy__circle-3 {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }
  .top-sec-1 .blks-1 .mv__copy._copy-3 .mv__copy__txt {
    padding-left: 2.6vw;
  }
  .top-sec-1 .blks-2 {
    padding: 16px 0 22px;
  }
  .top-sec-1 .blks-2 .txt {
    font-size: 1rem;
    line-height: 1.94;
  }
}
@media screen and (max-width: 374px) {
  .top-sec-1 .blks-2 .txt {
    font-size: 0.9063rem;
  }
}

/* top-sec-2 */
.top-sec-2 {
  background: #295071;
  padding: 37px 0 49px;
  position: relative;
}
.top-sec-2::before {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  right: 0;
  height: 322px;
  background: url("../img/top/top_bg01.jpg") no-repeat center bottom/cover;
}
.top-sec-2__inner {
  position: relative;
  z-index: 1;
}
.top-sec-2 .blks-1 {
  color: #fff;
  margin-bottom: 34px;
}
.top-sec-2 .blks-1 .heading {
  margin-bottom: 24px;
}
.top-sec-2 .blks-1 .col2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.top-sec-2 .blks-1 .col2__lt {
  width: 742px;
}
.top-sec-2 .blks-1 .col2__rt {
  margin-top: -26px;
}
.top-sec-2 .blks-1 .txt {
  margin-bottom: 21px;
}
.top-sec-2 .blks-1 .caution a:hover {
  opacity: 0.6;
}
.top-sec-2 .blks-1 .image {
  width: 174px;
  margin: 0 0 30px auto;
}
.top-sec-2 .blks-1 .name {
  text-align: right;
  color: #c2b143;
}
.top-sec-2 .blks-1 .name__sub {
  font-size: 1rem;
  line-height: 1.63;
  letter-spacing: 0.05em;
}
.top-sec-2 .blks-1 .name__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.top-sec-2 .blks-1 .name__main__group:not(:last-child) {
  margin-right: 1em;
}
.top-sec-2 .blks-1 .name__main__ruby {
  display: block;
  font-size: 0.625rem;
  line-height: 1;
  text-align: center;
  letter-spacing: 0em;
  margin-bottom: 3px;
}
.top-sec-2 .blks-1 .name__main__txt {
  display: block;
  font-size: 1.25rem;
  line-height: 1;
}
.top-sec-2 .blks-2 .box {
  background: #446e92;
  color: #fff;
  padding: 24px 109px 26px 36px;
}
.top-sec-2 .blks-2 .box__heading {
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  margin-bottom: 25px;
}
.top-sec-2 .blks-2 .box__txt {
  font-size: 1rem;
  line-height: 1.38;
  position: relative;
  z-index: 1;
  margin: 0 0 -47px 44px;
}
.top-sec-2 .blks-2 .box__image {
  width: 709px;
  margin: 0 0 1px auto;
}
.top-sec-2 .blks-2 .box__txt-2 {
  font-size: 0.875rem;
  line-height: 1.43;
  letter-spacing: 0.05em;
  margin-left: 35px;
  word-break: break-all;
}
.top-sec-2 .blks-2 .box__txt-2__first {
  margin-left: -10px;
}
.top-sec-2 .blks-2 .box__txt-2 a:hover {
  opacity: 0.6;
}
@media screen and (max-width: 768px) {
  .top-sec-2 {
    padding: 18px 0 0;
    background: #003554;
  }
  .top-sec-2::before {
    height: 250px;
    background: url("../img/top/top_bg01_sp.jpg") no-repeat center top/cover;
  }
  .top-sec-2 .blks-1 {
    margin-bottom: 0;
  }
  .top-sec-2 .blks-1 .heading {
    font-size: 0.9375rem;
    margin-bottom: 14px;
  }
  .top-sec-2 .blks-1 .col2 {
    display: block;
  }
  .top-sec-2 .blks-1 .col2__lt {
    width: auto;
    margin-bottom: -47px;
  }
  .top-sec-2 .blks-1 .col2__rt {
    margin-top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .top-sec-2 .blks-1 .txt {
    margin-bottom: 11px;
  }
  .top-sec-2 .blks-1 .caution {
    padding-right: 120px;
  }
  .top-sec-2 .blks-1 .image {
    max-width: 124px;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin: 0 -26px 0 24px;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .top-sec-2 .blks-1 .name {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    padding-bottom: 17px;
  }
  .top-sec-2 .blks-1 .name__sub {
    font-size: 0.75rem;
    line-height: 1.5;
  }
  .top-sec-2 .blks-1 .name__main__ruby {
    font-size: 0.5rem;
  }
  .top-sec-2 .blks-1 .name__main__txt {
    font-size: 1rem;
  }
  .top-sec-2 .blks-2 {
    margin: 0 -15px;
  }
  .top-sec-2 .blks-2 .box {
    padding: 11px 39px 16px;
  }
  .top-sec-2 .blks-2 .box__heading {
    font-size: 0.6875rem;
    margin-bottom: 7px;
  }
  .top-sec-2 .blks-2 .box__txt {
    font-size: 0.5938rem;
    line-height: 1.48;
    margin: 0 0 14px 0;
  }
  .top-sec-2 .blks-2 .box__image {
    width: auto;
    text-align: center;
    margin: 0 -12px 11px;
  }
  .top-sec-2 .blks-2 .box__txt-2 {
    font-size: 0.5625rem;
    line-height: 1.12;
    margin: 0 -5px 0 0;
  }
  .top-sec-2 .blks-2 .box__txt-2__first {
    margin-left: -5px;
  }
  .top-sec-2 .blks-2 .box__txt-2__url {
    font-size: 0.4375rem;
  }
}
/* top-sec-2 所長名・ルビ部分修正 */
.col2__rt {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.top-sec-2 .blks-1 .name p {
  margin: 0;
}
.top-sec-2 .blks-1 .name {
  margin-top: 4px;
}
.top-sec-2 .blks-1 .name__main {
  margin: 0;
  padding: 0;
  line-height: 1;
}
.top-sec-2 .blks-1 .name__sub {
  margin-bottom: 8px;
}

/* PCのみ */
@media (min-width: 769px) {
  .top-sec-2 .blks-1 .name__main__group {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
	gap: 0;
  }
  .top-sec-2 .blks-1 .name__main__ruby {
        font-size: 0.625rem;
        line-height: 1;
        margin-bottom: -6px;
        letter-spacing: 0;
	    text-align: right;
  }
  .top-sec-2 .blks-1 .name__main__txt {
  font-size: 1.25rem;
  line-height: 1;
  text-align: right;
  }
  .top-sec-2 .blks-1 .name__main {
    justify-content: flex-end;
  }
}

/* SPのみ */
@media screen and (max-width: 768px) {
    .col2 {
    flex-direction: column;
  }
    .top-sec-2 .blks-1 .col2__rt {
        align-items: center;
        margin-top: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }
    .top-sec-2 .blks-1 .name {
        text-align: right;
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
        order: 0;
        padding-bottom: 17px;
    }
    .top-sec-2 .blks-1 .name__main {
        justify-content: flex-end;
    }    
    .top-sec-2 .blks-1 .name__main__group {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
    }
    .top-sec-2 .blks-1 .name__main__ruby {
        font-size: 0.5rem;
        text-align: right;
        margin-bottom: -5px;
    }
    .top-sec-2 .blks-1 .name__main__txt {
        font-size: 1rem;
        line-height: 1; 
        text-align: right;
    }
    .col2__rt {
        align-items: flex-end;
        margin-top: 24px;
    }
}

/* top-sec-3 */
.top-sec-3 {
  padding: 56px 0 37px;
  background: url("../img/top/top_bg02.jpg") no-repeat center center/cover;
}
.top-sec-3 .blks-1 .heading {
  text-align: center;
  color: #fff;
  margin-bottom: 6px;
}
.top-sec-3 .blks-1 .group {
  position: relative;
  height: 664px;
  width: 890px;
  margin: 0 auto;
}
.top-sec-3 .blks-1 .heading-2 {
  width: 489px;
  margin: 0 auto;
  position: absolute;
  bottom: 24px;
  left: 0;
  right: 0;
}
.top-sec-3 .blks-1 .linkList__item {
  position: absolute;
  width: 332px;
  height: 332px;
}
.top-sec-3 .blks-1 .linkList__item a {
  width: 332px;
  height: 332px;
  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;
  text-align: center;
  color: #fff;
  font-size: 1.25rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-shadow: 0 0 10px #000101, 0 0 10px #000101;
}
.top-sec-3 .blks-1 .linkList__item a:hover {
  opacity: 0.6;
}
.top-sec-3 .blks-1 .linkList__item._type-1 {
  left: 0;
  right: 0;
  margin: 0 auto;
  top: 0;
}
.top-sec-3 .blks-1 .linkList__item._type-1 a {
  background: url("../img/top/top_img03.png") no-repeat center center/332px auto;
}
.top-sec-3 .blks-1 .linkList__item._type-2 {
  left: 0;
  bottom: 0;
}
.top-sec-3 .blks-1 .linkList__item._type-2 a {
  background: url("../img/top/top_img04.png") no-repeat center center/332px auto;
}
.top-sec-3 .blks-1 .linkList__item._type-3 {
  right: 0;
  bottom: 0;
}
.top-sec-3 .blks-1 .linkList__item._type-3 a {
  background: url("../img/top/top_img05.png") no-repeat center center/332px auto;
}
@media screen and (max-width: 768px) {
  .top-sec-3 {
    padding: 21px 0 0;
    background: #003154;
  }
  .top-sec-3 .blks-1 .heading {
    position: relative;
    padding-bottom: 23px;
    margin-bottom: 3px;
  }
  .top-sec-3 .blks-1 .heading::after {
    position: absolute;
    content: "";
    display: block;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 53px;
    height: 17px;
    background: url("../img/top/top_arr01.png") no-repeat 0 0/100% 100%;
  }
  .top-sec-3 .blks-1 .group {
    height: auto;
    width: auto;
  }
  .top-sec-3 .blks-1 .heading-2 {
    display: none;
  }
  .top-sec-3 .blks-1 .linkList {
    margin: 0 -15px;
    border-top: solid 1px #fff;
  }
  .top-sec-3 .blks-1 .linkList__item {
    position: static;
    width: auto;
    height: auto;
  }
  .top-sec-3 .blks-1 .linkList__item:not(:last-child) {
    border-bottom: solid 1px #fff;
  }
  .top-sec-3 .blks-1 .linkList__item a {
    width: 100%;
    height: 98px;
    font-size: 0.9375rem;
    text-shadow: 0 0 5px #000101, 0 0 5px #000101;
  }
  .top-sec-3 .blks-1 .linkList__item._type-1 a {
    background: url("../img/top/top_img03_sp.jpg") no-repeat center center/cover;
  }
  .top-sec-3 .blks-1 .linkList__item._type-2 a {
    background: url("../img/top/top_img04_sp.jpg") no-repeat center center/cover;
  }
  .top-sec-3 .blks-1 .linkList__item._type-3 a {
    background: url("../img/top/top_img05_sp.jpg") no-repeat center center/cover;
  }
}

/* top-sec-4 */
.top-sec-4 {
  padding: 48px 0 65px;
}
.top-sec-4 .blks-1 {
  margin-bottom: 39px;
}
.top-sec-4 .blks-1 .heading {
  text-align: center;
}
.top-sec-4 .blks-1 .news {
  margin-bottom: 10px;
}
.top-sec-4 .blks-1 .link {
  text-align: right;
  font-size: 1.25rem;
  letter-spacing: 0.05em;
}
.top-sec-4 .blks-1 .link a:hover {
  opacity: 0.6;
}
.top-sec-4 .blks-2 .heading {
  text-align: center;
  margin-bottom: 18px;
}
@media screen and (max-width: 768px) {
  .top-sec-4 {
    padding: 16px 0 26px;
  }
  .top-sec-4 .blks-1 {
    margin-bottom: 49px;
  }
  .top-sec-4 .blks-1 .heading {
    margin-bottom: 4px;
  }
  .top-sec-4 .blks-1 .news {
    margin-bottom: 4px;
  }
  .top-sec-4 .blks-1 .link {
    font-size: 0.875rem;
  }
  .top-sec-4 .blks-2 .heading {
    margin-bottom: 6px;
  }
}