@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), .fluid:nth-of-type(5){
  animation-delay: -5s;
}
.fluid:nth-of-type(3),
.fluid:nth-of-type(6) {
  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);
  }
}
.fadeDown:nth-child(2) {
  animation-delay: .3s;
}
.fadeDown:nth-child(3) {
  animation-delay: .6s;
}
.fadeDown:nth-child(4) {
  animation-delay: .9s;
}
.fadeDown:nth-child(5) {
  animation-delay: 1.2s;
}
.fadeDown:nth-child(6) {
  animation-delay: 1.5s;
}
.fadeDown:nth-child(7) {
  animation-delay: 1.8s;
}
.fadeDown:nth-child(8) {
  animation-delay: 2.1s;
}
@media (min-width:768px) and (max-width:1279px) and (orientation: landscape)
/*デバイスが横長の状態の場合*/
/*(小PC)*/
{
  .fadeDown {
    animation-delay: 0s !important;
  }
}
@media (max-width:767px)
/*(スマホ)*/
{
  .fadeDown {
    animation-delay: 0s !important;
  }
}
@media (min-width:768px) and (max-width:1279px) and (orientation: portrait)
/*(タブレット)*/
{
  .fadeDown {
    animation-delay: 0s !important;
  }
}
/* 右から */
.fadeRight{
  animation-name:fadeRightAnime;
  animation-duration:1.5s;
  animation-fill-mode:forwards;
  opacity:0;
}
 @keyframes fadeRightAnime{
  from {
    opacity: 0;
    transform: translateX(100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeDownTrigger,.fadeRightTrigger{
    opacity: 0;
}
/*==================================================
左から右に線が伸びる（下部）
/* .move_bottom-lineを基点にします */
.movelineTrigger {
  display: inline-block;
  position: relative;
}

/* ::afterの擬似要素を作ります。 */
.movelineTrigger::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 20px;
  width: 0;
  /* hoverしていない時の横幅は0に指定 */
  height: 2px;
  /* 線の太さ */
  background-color: var(--main-color);
  /* 線色 */
  transition: 1s;
  /* アニメーション時間 */
}
.movelineTrigger:nth-child(2)::after {
  transition-delay: 1s;
}
.movelineTrigger:nth-child(3)::after {
  transition-delay: 2s;
}
.movelineTrigger:nth-child(4)::after {
  transition-delay: 3s;
}
/* 画面内時に線の横幅を100%にします */
.movelineTrigger.move_bottom-line::after {
  width: calc(100% - 20px);
}
/*==================================================
===================================*/
/*枠線が伸びて出現*/
.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(--dark-main-color);
}

  	.scroll-infinity__wrap {
  	  display: flex;
  	  overflow: hidden;
  	}

  	.scroll-infinity__list {
  	  display: flex;
  	  list-style: none;
  	  padding: 0
  	}

  	.scroll-infinity__list--left {
  	  animation: infinity-scroll-left 80s infinite linear 0.5s both;
      animation-play-state: running;
      /* 初期状態は実行 */
      gap: 60px;
      padding-right: 60px;
  	}
    .scroll-infinity__wrap:hover .scroll-infinity__list--left {
      animation-play-state: paused;
      /* ホバー時に一時停止 */
  	}
  	.scroll-infinity__item {
  	  width: calc(100vw / 6);
  	}

  	.scroll-infinity__item>img {
  	  width: 100%;
  	}
	@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}



/*== 線から塗に変化（下から上）*/

/*線の設定*/
.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 ===============*/

  .svg-anm_3{
    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_3 .cls-1 {
  stroke-width: 3px;
}
.svg-anm_3 .cls-1,.svg-anm_3 .cls-2,.svg-anm_3 .cls-3 {
  stroke: var(--brighit-main-coror);
  stroke-linejoin: round;
}
.svg-anm_3 .cls-1,.svg-anm_3 .cls-3 {
  fill: none;
  stroke-linecap: round;
}
.svg-anm_3 .cls-2 {
  fill: var(--brighit-main-coror);
  stroke-width: 5px;
  stroke-linecap: round;
}
.svg-anm_3 .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;
}

/*========= スライドアニメCSS ===============*/

.swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
  transition-timing-function: linear !important;
}
