html {
    padding: 0;
    margin: 0;
}

body {
    font-family: 'Noto Serif JP', serif;
    width: 100vw;
    margin: 0;
}

html, body {
    height: 100%;
  }

header {
    width: 100vw;
}

main {
    width: 80%;
    margin: 0 auto;
}

img {
    width: 100%;
    object-fit: contain;
}

.headNav {
    display: flex;
    justify-content: space-between;
    padding: 3px;
}


footer {
    width: 100vw;
    background-color: #000;
    color: #fff;
    text-align: center;
    padding: 1vh 0;
}

a,
a:visited,
a:hover,
a:active {
  color: inherit;
  text-decoration: none;
}

.white_space {
  white-space: nowrap;
}
/*　ハンバーガーボタン　*/
.hamburger {
    display : block;
    position: fixed;
    z-index : 101;
    right : 8px;
    top   : 12px;
    width : 42px;
    height: 42px;
    cursor: pointer;
    text-align: center;
  }
  .hamburger span {
    display : block;
    position: absolute;
    width   : 19px;
    height  : 2px ;
    left    : 6px;
    background : #555;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition   : 0.3s ease-in-out;
    transition        : 0.3s ease-in-out;
  }
  .hamburger span:nth-child(1) {
    top: 10px;
  }
  .hamburger span:nth-child(2) {
    top: 14.5px;
  }
  .hamburger span:nth-child(3) {
    top: 19px;
  }
  
  /* ナビ開いてる時のボタン */
  .hamburger.active span:nth-child(1) {
    top : 16px;
    left: 6px;
    background :#000;
    -webkit-transform: rotate(-45deg);
    -moz-transform   : rotate(-45deg);
    transform        : rotate(-45deg);
  }
  
  .hamburger.active span:nth-child(2),
  .hamburger.active span:nth-child(3) {
    top: 16px;
    background :#000;
    -webkit-transform: rotate(45deg);
    -moz-transform   : rotate(45deg);
    transform        : rotate(45deg);
  }
  
  nav.globalMenuSp {
    position: fixed;
    z-index : -1;
    top  : 42px;
    right : 0;
    color: #fff;
    background: rgba(0,0,0);
    text-align: left;
    padding-left: 10px;
    width: 80%;
    opacity: 0;
    transition: opacity .6s ease, visibility .6s ease;
    font-family: "Arial";
    letter-spacing: 0.5em;
  }
  
  nav.globalMenuSp ul {
    margin: 0 auto;
    padding: 0;
    width: 100%;
  }
  
  nav.globalMenuSp ul li {
    list-style-type: none;
    padding: 0;
    width: 100%;
    transition: .4s all;
  }
  nav.globalMenuSp ul li:last-child {
    padding-bottom: 0;
  }
  nav.globalMenuSp ul li:hover{
    color :#666;
  }
  
  nav.globalMenuSp ul li a {
    display: block;
    color: #fff;
    padding: 1em 0;
    text-decoration :none;
  }
  
  /* このクラスを、jQueryで付与・削除する */
  nav.globalMenuSp.active {
    opacity: 100;
    z-index: 100;
  }

.observerTarget {
  opacity: 0;
  transition: .3s ease-in-out;
}

.observerTarget_active {
  opacity: 1;
}

@media only screen and (min-width: 1200px) {
    img {
        max-width: 1100px;
    }

    main {
        max-width: 1100px;
    }

    .hamburger {
        right: 25%;
    }
    .headNav {
        display: flex;
        justify-content: space-between;
        padding: 30px 0 5px 25px;
        width: 80%;
        margin-left: 0;
        margin-right: auto;
    }
    nav.globalMenuSp {
        position: fixed;
        z-index : 1;
        top  : 42px;
        right : 25%;
        color: #fff;
        background: rgba(0,0,0);
        text-align: left;
        padding-left: 10px;
        width: 15%;
        opacity: 0;
        transition: opacity .6s ease, visibility .6s ease;
        font-family: "Arial";
        letter-spacing: 0.5em;
      }
}