@charset "UTF-8";
#cursor {
  margin: 0;
  position: fixed;
  width: 210px;
  height: 20px;
  margin: -20px 0 0 -20px;
  /*半分引いてカーソル先端に画像中心位置が来るように*/
  z-index: 5;
  /*一番手前に来るように*/
  -webkit-transition: -webkit-transform 0.1s;
  transition: -webkit-transform 0.1s;
  transition: transform 0.1s;
  transition: transform 0.1s, -webkit-transform 0.1s;
  opacity: 0;
  /*開いた瞬間非表示*/
  pointer-events: none;
  /*【重要】マウス直下に常に画像があるので、全てをクリックできなくなる。noneにして対応*/
}

#cursor img {
  width: 35px;
  height: 35px;
}

#cursor.active {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}

@media screen and (min-width: 640px) {
  header {
    width: 100%;
    height: 90vh;
    overflow: hidden;
    margin: 0 auto;
  }
  header .top-h1 {
    text-align: center;
    -webkit-transform: translateY(-70vh);
            transform: translateY(-70vh);
    letter-spacing: 4px;
    font-size: 2.5rem;
    color: white;
    color: #fff;
    text-shadow: 2px 2px 10px #1340f3 , -2px 2px 10px #13caf3 , 2px -2px 10px #0084ff , -2px -2px 10px #00bbff;
  }
  header .top-h1-top {
    text-align: center;
    -webkit-transform: translateY(-60vh);
            transform: translateY(-60vh);
    letter-spacing: 4px;
    font-size: 4.5rem;
    color: white;
    color: #fff;
    text-shadow: 2px 2px 10px #1340f3 , -2px 2px 10px #13caf3 , 2px -2px 10px #0084ff , -2px -2px 10px #00bbff;
  }
  header .smp-top-image {
    display: none;
  }
  header .pc-top-image {
    height: 100vh;
  }
  header .pc-top {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
    position: fixed;
    width: 100%;
    z-index: 4;
    background: white;
  }
  header .pc-top .rogo {
    width: 100%;
    height: 13vh;
    -o-object-fit: cover;
       object-fit: cover;
    -webkit-transform: translate(-24vh, -2vh);
            transform: translate(-24vh, -2vh);
  }
  header .pc-top .header_ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 30%;
    margin-left: auto;
    margin-right: 10px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0;
    padding-top: 15px;
    right: 0;
    margin-top: 0;
    position: fixed;
    padding: 35px 15px 15px 15px;
    background-color: white;
  }
  header .pc-top .header_ul .title {
    display: none;
  }
  header .pc-top .header_ul .back {
    display: none;
  }
  header .pc-top .header_ul li {
    text-decoration: none;
    padding-left: 0;
    list-style: none;
    margin-left: 0;
  }
  header .pc-top .header_ul li a {
    text-decoration: none;
    color: black;
    font-size: 14px;
    z-index: 5;
  }
  header .pc-top .header_ul .insta {
    width: 30px;
    height: 30px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  header .smp-top {
    display: none;
  }
}

@media screen and (max-width: 640px) {
  header {
    height: 80vh;
    overflow: hidden;
  }
  header .pc-top {
    display: none;
  }
  header .smp-top {
    height: 4vh;
    position: fixed;
    z-index: 2;
  }
  header .smp-top .rogo {
    position: fixed;
    top: 2vh;
    left: -15vh;
    -o-object-fit: contain;
       object-fit: contain;
    z-index: 2;
  }
  header .smp-top .insta {
    height: 25px;
    width: 25px;
  }
  .menu-btn {
    position: fixed;
    top: 10px;
    right: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 60px;
    width: 60px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    z-index: 90;
    background-color: #0baa20;
  }
  .menu-btn span,
  .menu-btn span:before,
  .menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
  }
  .menu-btn span:before {
    bottom: 8px;
  }
  .menu-btn span:after {
    top: 8px;
  }
  #menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);
    /*メニューオープン時は真ん中の線を透明にする*/
  }
  #menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  #menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  #menu-btn-check {
    display: none;
  }
  .menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 80;
    background-color: #0f8b62;
  }
  .menu-content ul {
    padding: 70px 10px 0;
  }
  .menu-content ul li {
    border-bottom: solid 1px #ffffff;
    list-style: none;
  }
  .menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 15px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: #ffffff;
    text-decoration: none;
    padding: 9px 15px 10px 0;
    position: relative;
  }
  .menu-content ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 16px;
  }
  .menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;
    /*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background-color: #1e9a71;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    /*アニメーション設定*/
  }
  #menu-btn-check:checked ~ .menu-content {
    left: 0;
    /*メニューを画面内へ*/
  }
  .smp-top-image {
    height: 60vh;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    margin: 0 auto;
  }
  .pc-top-image {
    display: none;
  }
  .top-h1 {
    text-align: center;
    -webkit-transform: translateY(-34vh);
            transform: translateY(-34vh);
    letter-spacing: 4px;
    color: white;
    color: #fff;
    font-size: 1.4rem;
    text-shadow: 2px 2px 10px #134ff3 , -2px 2px 10px #134ff3 , 2px -2px 10px #00bfff , -2px -2px 10px #00ffea;
  }
  .top-h1-top {
    text-align: center;
    -webkit-transform: translateY(-34vh);
            transform: translateY(-34vh);
    letter-spacing: 4px;
    color: white;
    color: #fff;
    font-size: 1.7rem;
    text-shadow: 2px 2px 10px #134ff3 , -2px 2px 10px #134ff3 , 2px -2px 10px #00bfff , -2px -2px 10px #00ffea;
  }
}
/*# sourceMappingURL=header.css.map */