@charset "UTF-8";

@keyframes DownAnime{
  from {
  	opacity: 0;
	transform: translateY(-170px);
  }
  to {
  	opacity: 1;
	transform: translateY(0);
  }
}

/* うにょうにょ */

.fluid {
  animation: fluidrotate 20s linear 0s infinite;/*アニメーションの設定*/
}
.fluid:nth-of-type(2) {
  animation-delay: -5s;
}
.fluid:nth-of-type(3) {
  animation-delay: -15s;
}

@keyframes fluidrotate {

  0%, 100% {
      border-radius: 63% 37% 54% 46%/55% 48% 52% 45%;
  }
  14% {
      border-radius: 40% 60% 54% 46%/49% 60% 40% 51%;
  }
  28% {
      border-radius: 54% 46% 38% 62%/49% 70% 30% 51%;
  }
  42% {
      border-radius: 61% 39% 55% 45%/61% 38% 62% 39%;
  }
  56% {
      border-radius: 61% 39% 67% 33%/70% 50% 50% 30%;
  }
  70% {
      border-radius: 50% 50% 34% 66%/56% 68% 32% 44%;
  }
  84% {
      border-radius: 46% 54% 50% 50%/35% 61% 39% 65%;
  }

  }

/* 上から */
.fadeDown{
  animation-name:fadeDownAnime;
  animation-duration:1.5s;
  animation-fill-mode:forwards;
  opacity:0;
  }

  @keyframes fadeDownAnime{
    from {
      opacity: 0;
    transform: translateY(-60px);
    }

    to {
      opacity: 1;
    transform: translateY(0);
    }
  }

.fadeDownTrigger{
    opacity: 0;
}

/* 上から */
.shake {
  animation: shake 2s infinite;
  transform: rotate(5deg);
}

@keyframes shake {
  50% {
      transform: rotate(-5deg);
  }

  100% {
      transform: rotate(5deg);
  }
}


/*==================================================
　5-3-3 左から右に線が伸びる（下部）
===================================*/
/*枠線が伸びて出現*/

.lineTrigger{
  position: relative; /* 枠線が書かれる基点*/
}

.lineTrigger.lineanime::after{
  animation-name:lineAnimeBase;
  animation-duration:1s;
  animation-fill-mode:forwards;
}

@keyframes lineAnimeBase{
  from {
    opacity:0;
  }

  to {
    opacity:1;
  }
}

/*上下線*/
.lineTrigger::after{
  position: absolute;
  content:"";
  width:0;
  height:1.5px;
  background:var(--text-purple-color);/* 枠線の色*/
}



/*下線*/
.lineTrigger::after {
  bottom:0;
  left:0;
}

.lineTrigger.lineanime::after {
  animation: lineAnime 1s linear 0.5s forwards;/*表示されて0秒後に下線が1秒かけて表示*/
}

@keyframes lineAnime {
  0% {width:0%;}
    100%{width:100%;}
}


.small-mainimages .lineTrigger::after {
  background: var(--text-dark-color);
}





/*== 線から塗に変化（下から上）*/

/*線の設定*/
.borderbottom li::before,
.borderbottom li::after {
  content: '';
  /*絶対配置で線の位置を決める*/
  position: absolute;
  width:1.5px;
  height: 0;
  /*線の形状*/
  background:var(--brighit-main-coror);
  /*アニメーションの設定*/
transition: all .3s;
}

/*左線*/
.borderbottom li::before {
  left:0;
  bottom:0;
}

/*右線*/
.borderbottom li::after {
  right:0;
  bottom:0;
}

/*hoverをすると線が伸びる*/
.borderbottom:hover li::before,
.borderbottom:hover li::after {
  height: 100%;
}

/*背景の設定*/
.borderbottom::before{
content: '';
  /*絶対配置で線の位置を決める*/
position: absolute;
left: 0;
  bottom:0;
z-index: -1;
  /*背景の形状*/
width: 100%;
height: 0;
background:var(--brighit-main-coror);
  /*アニメーションの設定*/
transition: all 0.25s;
}

/*hoverをすると背景が伸びる*/
.borderbottom:hover::before{
height: 100%;
  /*0.4秒遅れてアニメーション*/
transition-delay: .3s;
}





/*========= SVG操作手書き風にするためのCSS ===============*/

/*マスクをするパスの設定*/

/* Loading アイコンの大きさ設定　*/
#logo-img svg{
  width: fit-content;
}
#mask-line {
  stroke-dasharray: 770px;
  animation:h-written 6.5s linear ;
  stroke:#fff;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-miterlimit:10;
  fill:none;
  stroke-width:3;
}
.st0{fill:var(--orange-color);}

#text {

  mask:url(#mask-ani);
  }

@keyframes h-written {

  0% {

  stroke-dashoffset:770px;
  }


  100% {

  stroke-dashoffset:0px;
  }

  }
/*========= SVGアニメCSS ===============*/

  .newslist .svg-anm_2 ,.aboutlist .box .svg-anm_2{
    animation:starAnimeBase 3.5s ease-in infinite ;
  }

  @keyframes starAnimeBase{
    0% {

    transform: rotateZ(0deg);
    }
    5% {
      transform: rotateZ(180deg);
    }

    25% {
      transform: rotateZ(210deg);
    }
    35% {
      transform: rotateZ(360deg);
    }
    100% {
      transform: rotateZ(380deg);
    }

  }

  .con1 .photo .frame1 {
    animation: wobbling_x 1.7s ease-in-out infinite alternate,
		wobbling_y 2.2s ease-in-out infinite alternate;
}
.con1 .photo .frame2 {
  transform: rotateZ(8deg);
  animation: wobbling_x_left 1.7s ease-in-out infinite alternate,
  wobbling_y 2.2s ease-in-out infinite alternate;
}

.svg-anm_2 .cls-1 {
  stroke-width: 3px;
}
.svg-anm_2 .cls-1,.svg-anm_2 .cls-2,.svg-anm_2 .cls-3 {
  stroke: var(--brighit-main-coror);
  stroke-linejoin: round;
}
.svg-anm_2 .cls-1,.svg-anm_2 .cls-3 {
  fill: none;
  stroke-linecap: round;
}
.svg-anm_2 .cls-2 {
  fill: var(--brighit-main-coror);
  stroke-width: 5px;
  stroke-linecap: round;
}
.svg-anm_2 .cls-3 {
  stroke-width: 2px;
}

@keyframes wobbling_x {
	0% {
		margin-right: 8px;
	}

	100% {
		margin-right: 0px;
	}
}
@keyframes wobbling_x_left {
	0% {
		margin-left: 8px;
	}

	100% {
		margin-left: 0px;
	}
}

@keyframes wobbling_y {
	0% {
		margin-top: 0px;
	}

	100% {
		margin-top: 8px;
	}
}

/*========= スライドアニメCSS ===============*/


.slick-slide {
  overflow: hidden; /* 画像がはみ出ないようにする */
}
.slick-img img {
  width: 100%;
}
@keyframes zoomUp {
  0% {
    transform: scale(1) translateX(0);
  }
  100% {
    transform: scale(1.15) translateX(5%); /* 拡大率 */
  }
}
.add-animation {
  animation: zoomUp 15s linear 0s normal both;
}

 .poyopoyo {
   animation: poyopoyo 2s ease-out infinite;
   opacity: 1;
 }

 @keyframes poyopoyo {

   0%,
   40%,
   60%,
   80% {
     transform: scale(1.0);
   }

   50%,
   70% {
     transform: scale(0.95);
   }
 }