@charset "UTF-8";
/*----------------------
     setting
---------------------------------------- */
@-webkit-keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@-webkit-keyframes fadeUpAnime2 {
  from {
    opacity: 0;
    margin-top: 100px;
  }
  to {
    opacity: 1;
    margin-top: 0;
  }
}

@keyframes fadeUpAnime2 {
  from {
    opacity: 0;
    margin-top: 100px;
  }
  to {
    opacity: 1;
    margin-top: 0;
  }
}

@-webkit-keyframes upDownAnime {
  0%, 100% {
    opacity: 1;
    margin-top: 0;
  }
  50% {
    opacity: 1;
    margin-top: -20px;
  }
}

@keyframes upDownAnime {
  0%, 100% {
    opacity: 1;
    margin-top: 0;
  }
  50% {
    opacity: 1;
    margin-top: -20px;
  }
}

@-webkit-keyframes leftUpAnime2 {
  0% {
    -webkit-transform: translate(30px, 30px);
            transform: translate(30px, 30px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}

@keyframes leftUpAnime2 {
  0% {
    -webkit-transform: translate(30px, 30px);
            transform: translate(30px, 30px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}

@-webkit-keyframes leftUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translate(30px, 30px);
            transform: translate(30px, 30px);
  }
  to {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}

@keyframes leftUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translate(30px, 30px);
            transform: translate(30px, 30px);
  }
  to {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}

@-webkit-keyframes fadeRightAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@keyframes fadeRightAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@-webkit-keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@-webkit-keyframes fadeLeftAnime {
  from {
    opacity: 0;
    left: 100%;
  }
  to {
    opacity: 1;
    left: 0;
  }
}

@keyframes fadeLeftAnime {
  from {
    opacity: 0;
    left: 100%;
  }
  to {
    opacity: 1;
    left: 0;
  }
}

/* animation */
.act_fadeUp {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-animation-name: fadeUpAnime;
          animation-name: fadeUpAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

.act_upDown {
  opacity: 0;
  -webkit-animation: 1s fadeUpAnime2 1.5s 1, 3s upDownAnime 0.5s infinite;
          animation: 1s fadeUpAnime2 1.5s 1, 3s upDownAnime 0.5s infinite;
}

.act_upDown1 {
  opacity: 0;
  -webkit-animation: 1s fadeUpAnime2 1.7s 1, 3s upDownAnime 0.54s infinite;
          animation: 1s fadeUpAnime2 1.7s 1, 3s upDownAnime 0.54s infinite;
}

.act_upDown2 {
  opacity: 0;
  -webkit-animation: 1s fadeUpAnime2 1.9s 1, 3s upDownAnime 0.58s infinite;
          animation: 1s fadeUpAnime2 1.9s 1, 3s upDownAnime 0.58s infinite;
}

.act_upDown3 {
  opacity: 0;
  -webkit-animation: 1s fadeUpAnime2 2.1s 1, 3s upDownAnime 0.62s infinite;
          animation: 1s fadeUpAnime2 2.1s 1, 3s upDownAnime 0.62s infinite;
}

.act_upDown4 {
  opacity: 0;
  -webkit-animation: 1s fadeUpAnime2 2.3s 1, 3s upDownAnime 0.66s infinite;
          animation: 1s fadeUpAnime2 2.3s 1, 3s upDownAnime 0.66s infinite;
}

.act_upDown5 {
  opacity: 0;
  -webkit-animation: 1s fadeUpAnime2 2.5s 1, 3s upDownAnime 0.7s infinite;
          animation: 1s fadeUpAnime2 2.5s 1, 3s upDownAnime 0.7s infinite;
}

.act_upDown6 {
  opacity: 0;
  -webkit-animation: 1s fadeUpAnime2 2.7s 1, 3s upDownAnime 0.74s infinite;
          animation: 1s fadeUpAnime2 2.7s 1, 3s upDownAnime 0.74s infinite;
}

.act_upDown7 {
  opacity: 0;
  -webkit-animation: 1s fadeUpAnime2 2.9s 1, 3s upDownAnime 0.78s infinite;
          animation: 1s fadeUpAnime2 2.9s 1, 3s upDownAnime 0.78s infinite;
}

/* visible */
.act_visible {
  opacity: 0;
}

.act_visibleSlide {
  overflow: hidden;
}

.act_visibleSlide:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 101%;
  height: 100%;
  background: #fff;
  -webkit-transition: 1s;
  transition: 1s;
  z-index: 2;
}

.act_visibleSlide.act_slideLeft:before {
  -webkit-transform-origin: left top;
          transform-origin: left top;
}

.act_visibleSlide.act_slideRight:before {
  -webkit-transform-origin: right top;
          transform-origin: right top;
}

.act_effect.act_slideLeft:before {
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}

.act_effect.act_slideRight:before {
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}

.act_effect.act_fadeIn {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-animation: 1s fadeInAnime 0.2s 1 forwards;
          animation: 1s fadeInAnime 0.2s 1 forwards;
}

.act_effect.act_fadeInUp {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-animation-name: fadeUpAnime;
          animation-name: fadeUpAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

.act_effect.act_fadeInLeftUp {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-animation: 1s leftUpAnime 0.2s 1 forwards;
          animation: 1s leftUpAnime 0.2s 1 forwards;
}

.act_effect.act_fadeInRight {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-animation: 1s fadeRightAnime 0.2s 1 forwards;
          animation: 1s fadeRightAnime 0.2s 1 forwards;
}

.act_effect.act_fadeInLeft {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  position: relative;
  -webkit-animation: 1s fadeLeftAnime 0.2s 1 forwards;
          animation: 1s fadeLeftAnime 0.2s 1 forwards;
}

/*アクティブになったエリア*/
#g-nav.panelactive {
  /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
  position: fixed;
  z-index: 999;
  top: 0;
  width: 100%;
  height: 100vh;
}

/*丸の拡大*/
.circle-bg {
  position: fixed;
  z-index: 100;
  /*丸の形*/
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: #fff;
  /*丸のスタート位置と形状*/
  -webkit-transform: scale(0);
          transform: scale(0);
  /*scaleをはじめは0に*/
  top: calc(50% - 50px);
  /*50%から円の半径を引いた値*/
  left: calc(50% - 50px);
  /*50%から円の半径を引いた値*/
  -webkit-transition: all .6s;
  transition: all .6s;
  /*0.6秒かけてアニメーション*/
}

.circle-bg.circleactive {
  -webkit-transform: scale(50);
          transform: scale(50);
  /*クラスが付与されたらscaleを拡大*/
}

/*ナビゲーションの縦スクロール*/
#g-nav-list {
  display: none;
  /*はじめは表示なし*/
  /*ナビの数が増えた場合縦スクロール*/
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

#g-nav.panelactive #g-nav-list {
  display: block;
  /*クラスが付与されたら出現*/
}

/*ナビゲーション*/
#g-nav ul {
  opacity: 0;
  /*はじめは透過0*/
  /*ナビゲーション天地中央揃え※レイアウトによって調整してください。不必要なら削除*/
  position: absolute;
  z-index: 999;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-column-count: 2;
          column-count: 2;
}

@media (max-width: 767px) {
  #g-nav ul {
    -webkit-column-count: 1;
            column-count: 1;
  }
}

/*背景が出現後にナビゲーションを表示*/
#g-nav.panelactive ul {
  opacity: 1;
}

/* 背景が出現後にナビゲーション li を表示※レイアウトによって調整してください。不必要なら削除*/
#g-nav.panelactive ul li {
  -webkit-animation-name: gnaviAnime;
          animation-name: gnaviAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: .2s;
          animation-delay: .2s;
  /*0.2 秒遅らせて出現*/
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes gnaviAnime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes gnaviAnime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/*リストのレイアウト設定*/
#g-nav li {
  text-align: center;
  list-style: none;
  padding: 1.6rem;
  border-top: 1px dashed #000;
}

#g-nav li:last-of-type {
  border-bottom: 1px dashed #000;
}

@media (min-width: 1024px) {
  #g-nav li:nth-of-type(4) {
    border-bottom: 1px dashed #000;
  }
}

.g-nav-menu {
  width: 10rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: calc(1.6rem * 3);
}

.g-nav-menu p {
  margin-bottom: calc(1.6rem * 1);
}

#g-nav li a {
  color: #333;
  text-decoration: none;
  padding: 10px;
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: bold;
}

/*========= ボタンのためのCSS ===============*/
.act_openbtn {
  position: fixed;
  top: 10px;
  right: 10px;
  z-index: 9999;
  /*ボタンを最前面に*/
  cursor: pointer;
  width: 50px;
  height: 50px;
}

/*×に変化*/
.act_openbtn span {
  display: inline-block;
  -webkit-transition: all .4s;
  transition: all .4s;
  position: absolute;
  left: 14px;
  height: 3px;
  border-radius: 2px;
  background-color: #666;
  width: 45%;
}

.act_openbtn span:nth-of-type(1) {
  top: 15px;
}

.act_openbtn span:nth-of-type(2) {
  top: 23px;
}

.act_openbtn span:nth-of-type(3) {
  top: 31px;
}

.act_openbtn.active span:nth-of-type(1) {
  top: 18px;
  left: 18px;
  -webkit-transform: translateY(6px) rotate(-45deg);
          transform: translateY(6px) rotate(-45deg);
  width: 30%;
}

.act_openbtn.active span:nth-of-type(2) {
  opacity: 0;
}

.act_openbtn.active span:nth-of-type(3) {
  top: 30px;
  left: 18px;
  -webkit-transform: translateY(-6px) rotate(45deg);
          transform: translateY(-6px) rotate(45deg);
  width: 30%;
}

/*スクロールダウン全体の場所*/
.scrolldown1 {
  /*描画位置※位置は適宜調整してください*/
  position: absolute;
  left: calc(50% + 1.2rem);
  bottom: -70px;
  /*全体の高さ*/
  height: 150px;
  border-right: 2px #eee solid;
  z-index: 1000;
}

/*Scrollテキストの描写*/
.scrolldown1 span {
  /*描画位置*/
  position: absolute;
  left: -10px;
  top: 20px;
  /*テキストの形状*/
  color: #000;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

/* 線の描写 */
.scrolldown1::after {
  content: "";
  /*描画位置*/
  position: absolute;
  top: 0;
  /*線の形状*/
  width: 2px;
  height: 50px;
  background: #000;
  /*線の動き1.4秒かけて動く。永遠にループ*/
  -webkit-animation: pathmove 1.4s ease-in-out infinite;
          animation: pathmove 1.4s ease-in-out infinite;
  opacity: 0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@-webkit-keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0;
  }
  30% {
    height: 60%;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 100%;
    opacity: 0;
  }
}
@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0;
  }
  30% {
    height: 60%;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 100%;
    opacity: 0;
  }
}
