
    *{
    padding:0;
    margin:0;
    box-sizing:border-box;
    }
    .ggmap {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
    }
     
    .ggmap iframe,
    .ggmap object,
    .ggmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    }
    .youtube2 {
      position: relative;
      width: 100%;
      padding-top: 56.25%;
    }
    .youtube2 iframe {
      position: absolute;
      top: 0;
      right: 0;
      width: 100% !important;
      height: 100% !important;
    }

    /*アニメーション*/

    .sa {
      opacity: 0;
      transition: all .5s ease;
    }
    .sa.show {
      opacity: 1;
      transform: none;
    }
    .sa--lr {
      transform: translate(-100px, 0);
    }
    .sa--rl {
      transform: translate(100px, 0);
    }
    .sa--up {
      transform: translate(0, 100px);
    }
    .sa--down {
      transform: translate(0, -100px);
    }
    .sa--scaleUp {
      transform: scale(.5);
    }
    .sa--scaleDown {
      transform: scale(1.5);
    }
    .sa--rotateL {
      transform: rotate(180deg);
    }
    .sa--rotateR {
      transform: rotate(-180deg);
    }
    .footer-bnr{
        display: none;
    }
    ul,li{
      list-style: none;
    }
    .hanabi header video {
        width: 100%;
        height: 100vh;
    }
    .hanabi .section-01 {
        text-align: center;
        margin: 0 auto;
        padding: 0px 10px 50px;
        box-sizing: border-box;
    }
    .hanabi .section-01 p{
        font-size: 26px;
        color: #fff;
        line-height: 2;
        letter-spacing: 1px;
        margin-top: 3%;
        margin-bottom: 3%;
    }    
    .hanabi .section-01 .img01 {
        text-align: center;
        margin: 0% auto 2%;
        padding-top: 5%;
    }
    .hanabi .section-01 .img02{
        text-align: center;
        margin: 3% auto;
    }
    .hanabi .section-01 .img03{
        text-align: center;
        margin: 0 auto;
        padding: 8% 10px 4%;
    }
    .hanabi .section-01 .ttlimg01{
        max-width: 250px;
    }
    .hanabi .section-01 .ttlimg02{
        max-width: 300px;
    }
    .hanabi .section-01 .img04{
        max-width: 900px;
        width: 100%;
        padding: 0 10px;
        box-sizing: border-box;
    }
    .hanabi .section-01 .flex{
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 10%;
    }
    .hanabi .section-02{
        background: url('https://www.netz-shizuoka.net/wp-content/themes/netz-shizuoka.net/img/hanabi/netz/hanabi-30.png');
        background-size: cover;
    }
    .hanabi .section-02 .img01{
        padding: 50px 0 30px;
        width: 100%;
    }
    .hanabi .section-02 .flex{
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        flex-wrap: wrap;
    }
    .hanabi .section-02 li{
        width: 60%;
        box-sizing: border-box;
        margin-bottom: 30px;
    }
    .hanabi .section-02 li:nth-child(2n){
        width: 40%;
        box-sizing: border-box;
    }

    .hanabi .section-02 li:nth-child(3n){
        width: 40%;
        box-sizing: border-box;
    }
    .hanabi .section-02 li:nth-child(4n){
        width: 60%;
        box-sizing: border-box;
    }    
    .hanabi .section-02 li:nth-child(6n){
        width: 60%;
        box-sizing: border-box;
    }    
    .hanabi .section-02 li:nth-child(7n){
        width: 40%;
        box-sizing: border-box;
    }    
    .hanabi .section-02 li:nth-child(8n){
        width: 40%;
        box-sizing: border-box;
    }  
    .hanabi .section-02 li:nth-child(9n){
        width: 60%;
        box-sizing: border-box;
    }    
    .hanabi .section-01 dt {
        width: 31.33333%;
        width: calc(94% /3 );
        margin-right: 2%;
        box-sizing: border-box;
    }
    .hanabi .section-03 {
        background: #000;
        padding: 10px 2% 2%;
        box-sizing: border-box;
        width: 100%;
    }
.hanabi .section-01 .list dt {
    color: #fff;
    text-align: center;
    font-size: 34px;
    margin-right: 2%;
    position: relative;
}
.close-img{
    position: absolute;
    right: 5%;
    bottom: 20%;
}
    .hanabi .section-01 .list dt span{
      color: #00afee;
    }
  .menu-sp-01{
    padding: 30px 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
  }
.menu-sp-01 li {
    margin: 10px auto;
    width: 50%;
}
.menu-sp-01 a {
    color: #fff;
    text-decoration: none;
    border-bottom: 1px solid #fff;
    width: 94%;
    display: block;
    box-sizing: border-box;
    margin: 0px 3%;
}
.menu-sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    padding: 10px 30px;
    max-width: 280px;
    margin: 0 auto 30px;
    border-bottom: 1px solid #fff;
}
  .menu-sp li{
    width: 50%;
    padding: 0 1%;
    box-sizing: border-box;
  }
  .menu-sp a{
      color: #fff;
  }
  .menu-sp a img{
    width: 30px;
  }
  .title-t{
    font-size: 30px;
    color: #00afee;
    letter-spacing: 1px;
  }
    @media screen and (max-width: 768px) {
.close-img {
    position: absolute;
    right: 5%;
    width: 97px;
    height: 97px;
    top: 0;
    bottom: 0;
    margin: auto;
} 
        .hanabi header video {
            width: 100%;
            height: 65vh;
        }    
        .hanabi .section-01{
          padding: 0 0 50px;
        }
        .hanabi .section-01 .ttlimg01{
            max-width: 150px;
        }
        .hanabi .section-01 .ttlimg02{
            max-width: 170px;
        }
        .hanabi .section-01 .img02{
            text-align: center;
            margin: 5% auto;
        }
        .hanabi .section-01 .img03{
            text-align: center;
        }       
        .hanabi .section-01 p {
            font-size: 14px;
            text-align: left;
            padding: 0 3%;
        }
      .hanabi .section-01 .list dt {
          color: #fff;
          text-align: center;
          font-size: 17px;
          margin-right: 2%;
          margin: 0 10% 3%;
          width: 80%;
      }
      .section-01 .flex p{
        text-align: center;
        font-size: 22px;
      }
      .hanabi .section-02 .flex{
        display: block;
      }
      .hanabi .section-02 li{
        width: 100%;
        margin-bottom: 0px;
      }
      .hanabi .section-02 li:nth-child(2) {
          width: 100%;
          box-sizing: border-box;
          padding: 0 30px;
      }
      .hanabi .section-02 li:nth-child(4) {
          width: 100%;
          box-sizing: border-box;
      }
      .hanabi .section-02 li:nth-child(5) {
          width: 100%;
          box-sizing: border-box;
          padding: 0 30px;
      }
      .hanabi .section-02 li:nth-child(6) {
          width: 100%;
          box-sizing: border-box;
      }
      .hanabi .section-02 li:nth-child(7) {
          width: 100%;
          box-sizing: border-box;
          padding: 0 30px;
      }
      .hanabi .section-02 li:nth-child(8) {
          width: 100%;
          box-sizing: border-box;
      }
      .hanabi .section-02 li:nth-child(9) {
          width: 100%;
          box-sizing: border-box;
      }


      .hanabi .section-02 li:nth-child(10){
          width: 100%;
          box-sizing: border-box;
          padding: 0 30px;
      }           
      .sp10{
        margin-top: 50px;
      }
      .title-t{
        font-size: 18px;
        padding: 0 10px;
      }
    }
    /* ローディング画面 */
    #loading {
      width: 100vw;
      height: 100vh;
      transition: all 1s;
      background-color: #000;

    /* 以下のコードを追加 */
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      margin:auto;
      z-index: 9999;
    }


.loaded {
  opacity: 0;
  visibility: hidden;
}
.spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transform-origin: center;
          transform-origin: center;
  width: 120px;
  height: 120px;
}
 
/* Loading テキスト */
.spinner span {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: 12px;
  color: #fff;
}
/* 1番目のアニメーションの場合 */
.spinner.type1 {
  border-radius: 50%;
  border-width: 8px;
  border-style: solid;
  border-color: #fff rgba(255, 255, 255, 0.12) rgba(255, 255, 255, 0.12);
  /* ローディング要素のアニメーションを指定 */
  -webkit-animation: spinner1_1 1.5s infinite linear forwards;
          animation: spinner1_1 1.5s infinite linear forwards;
}
.spinner.type1 span {
  /* Loading テキストのアニメーションを指定 */
  animation: spinner_loading_text 1.5s infinite linear forwards reverse;
}
 
/* ローディング要素のアニメーション内容 */
@-webkit-keyframes spinner1_1 {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
            transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}
 
@keyframes spinner1_1 {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
            transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}
 
/* Loading テキストのアニメーション内容 */
@-webkit-keyframes spinner_loading_text {
  0% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
            transform: translate(-50%, -50%) rotate(0deg);
  }
  50% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) rotate(180deg);
            transform: translate(-50%, -50%) rotate(180deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes spinner_loading_text {
  0% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
            transform: translate(-50%, -50%) rotate(0deg);
  }
  50% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) rotate(180deg);
            transform: translate(-50%, -50%) rotate(180deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}    
.sns {
    position: absolute;
    left: 0px;
    top: 0;
    width: 60px;
    z-index: 9999999999;
    height: 220px;
    bottom: 0;
    margin: auto;
}
.sns li a {
    padding: 10px 15px;
    display: block;
    z-index: 999999999;
}
.menu {
    position: absolute;
    right: 0px;
    top: 0;
    width: 70px;
    z-index: 9999999999;
    bottom: 0;
    margin: auto;
    height: 450px;
}
.menu li a{
  padding-bottom: : 10px;
  display: block;
  z-index: 999999999;
}