@charset "UTF-8";
  
/*==================================================
ニュースティッカーのためのcss
===================================*/
/*ニュース1行の周りの余白*/
.slider a{
  display: flex;
  text-align: center;
	align-items: center;
}
/*==================================================
じわっ
===================================*/

/* スクロールをしたら出現する要素にはじめに透過0を指定*/
 
.blurTrigger,.fadeUpTrigger,.fadeRightTrigger{
  opacity: 0;
}

/* ぼかしから出現 */
.blur{
  animation-name:blurAnime;
  animation-duration:1.5s;
  animation-fill-mode:forwards;
}

@keyframes blurAnime{
  from {
  filter: blur(10px);
  transform: scale(1.05);
  opacity: 0;
  }

  to {
  filter: blur(0);
  transform: scale(1);
  opacity: 1;
  }
}

@keyframes drift {
  from { transform: rotate(0deg); }
  from { transform: rotate(360deg); }
}

.fadeUp {
  animation-name:fadeUpAnime;
  animation-duration:1.5s;
  animation-fill-mode:forwards;
  opacity: 0;
  }
  @keyframes fadeUpAnime{
    from {
      opacity: 0;
    transform: translateY(-100px);
    }
  
    to {
      opacity: 1;
    transform: translateY(0);
    }
  }
  
  /* アニメーションスタートの遅延時間を決めるCSS*/
  
  .fadeUp:nth-child(2) {
  animation-delay: .5s;
  }
  .fadeUp:nth-child(3) {
  animation-delay: .7s;
  }

  .fadeRight {
    animation-name:fadeRightAnime;
    animation-duration:1.5s;
    animation-fill-mode:forwards;
    opacity: 0;
    }
    @keyframes fadeRightAnime{
      from {
        opacity: 0;
      transform: translateX(-50px);
      }
    
      to {
        opacity: 1;
      transform: translateX(0);
      }
    }
    
    /* アニメーションスタートの遅延時間を決めるCSS*/
    
    .fadeRight:nth-child(2) {
    animation-delay: .5s;
    }
    .fadeRight:nth-child(3) {
    animation-delay: 1s;
    }



.headerchange-color {
  background-color: #fff; /*スクロールしたあとのヘッダー背景色*/
  transition: 0.3s;
  opacity: 0.8;
}
.headerchange-color .newsslider{
  background-color: var(--accent-color);
  color: #fff;
  transition: 0.3s;
}
.headerchange-color .newsslider h4.t-blue{
  color: #000;
}





  
  /* スクロールをしたら出現する要素にはじめに透過0を指定*/


  .sr-onry{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}



/*==================================================
スライダーのためのcss
===================================*/


.slick-slider{
  position:relative;
  margin: 0;
  padding: 0;
  width: 100vw;
  height: 100svh;
  z-index: 0;
  overflow: hidden;
  
}
.slick-slider img {
  position: absolute;
  width: 100vw;
  height: 100svh;
  object-fit: cover;
  z-index: 0;
}


.mainvisual {
  overflow-x: hidden;
}
/*==768px以下の形状*/

@media screen and (max-width:768px){
  .slick-slider img {
    width: 100vw;
    height: 100svh;
  }
  .slick-slider {
    width: 100vw;
    height: 100svh;

}



}

/*========= ナビゲーションドロップダウンのためのCSS ===============*/



/*== 2・3階層目の共通設定 */

/*下の階層を持っているulの指定*/
.main-navigation ul ul{
    /*絶対配置で位置を指定*/
  position: absolute;
  left:0;
  top:46px;
  z-index: 1000;
    /*形状を指定*/
    width: 160.5px;
    /*はじめは非表示*/
  visibility: hidden;
  opacity: 0;
    /*アニメーション設定*/
  transition: all .3s;
}

/*hoverしたら表示*/
.main-navigation ul:hover > ul,
.main-navigation ul:active > ul{
  visibility: visible;
  opacity: 1;
}


nav li.sub-menu ul li:last-child a{
  border-bottom:none;
}



/*==768px以下の形状*/

@media screen and (max-width:768px){
  nav{
    padding: 0;
  }
  
  nav ul{
    display: block;
  }
  
  nav li.has-child ul,
  nav li.has-child ul ul{
    position: relative;
  left:0;
  top:0;
  width:100%;
  visibility:visible;/*JSで制御するため一旦表示*/
  opacity:1;/*JSで制御するため一旦表示*/
  display: none;/*JSのslidetoggleで表示させるため非表示に*/
  transition:none;/*JSで制御するためCSSのアニメーションを切る*/
}
  



}


/*========= ナビゲーションのためのCSS ===============*/

#site-navigation{
  /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
  position: relative;
  top: 0px;
  z-index: 999;
  /*動き*/
transition: all 0.6s;
}

.mainblur{
  filter: blur(8px);
}


/*アクティブクラスがついたら位置を0に*/
#site-navigation.panelactive{
  top: 0;
}
/*========= ボタンのためのCSS ===============*/
.headC{
  position:fixed;
    z-index: 9999;/*ボタンを最前面に*/
  top:10px;
  right: 10px;
  cursor: pointer;
    width: 50px;
    height:50px;
}


/* ローディングアニメーション */
#loader_wrap , #loading{
	z-index: 999;
	position: fixed;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100vw;
	height: 100svh;
	top: 0;
	background: var(--accent-color);
	pointer-events: none;
	transition: all 1s;
}

.loaded {
  opacity: 0;
  visibility: hidden;
}
/*.loader.con1 {
  animation: fadeIn 1s ease 0s 1 normal;
  }*/
.loader.con1 .flexbox {
  margin: 0px ;
  padding: 0 50px;
  }

@keyframes fadeIn {
  0% {opacity: 0}
  100% {opacity: 1}
}
  
.loader-circle{
  width:100%;
  height:300px;
  position: absolute;
  left:50%;
  transform: translate(-50%,0);
}
.maru{
  width:100px;
  height:100px;
  position: absolute;
  border-radius: 50%;
  left:30%;
  transform-origin: center;
  animation-name: circleScale, circleMoving;
  animation-duration: .5s, .5s;
  animation-timing-function: ease, ease;
  animation-iteration-count: infinite, infinite;
  animation-direction: alternate, alternate;
  translate:-50% 0;
}
.maru.re{
  width:70px;
}

.maru:nth-child(2) {
  left: 50%;
  animation-delay: .7s,.2s; 
}
.maru:nth-child(3) {
  left: 70%;
  animation-delay: 1.5s,.3s; 
}
@keyframes circleMoving{
  0%{
      top:20%;
      height:25%;
      translate:-50% 0;
  }
  40%{
      height:40%;
      translate:-50% 0;
  }
  100%{
      top:0%;
      translate:-50% 0;
  }
}
@keyframes circleScale{
  0%{
      scale:1.4 1;
  }
  40%{
      scale:1;
  }
  100%{
      scale:1;
  }
}
.shadow{
  width:40px;
  height:20px;
  border-radius: 50%;
  background-color: rgba(0,0,0,.5);
  position: absolute;
  top:140px;
  transform-origin: center;
  z-index: -1;
  left:40%;
  filter: blur(1px);
  animation: shadow .5s alternate infinite ease;
  transform: translateX(-50%);
}

@keyframes shadow{
  0%{
      transform:translateX(-50%) scaleX(1.5);
  }
  40%{
      transform:translateX(-50%) scaleX(1);
      opacity: .7;
  }
  100%{
      transform:translateX(-50%) scaleX(.5) scaleY(.5);
      opacity: .4;
  }
}
.shadow:nth-child(5){
  left: 50%;
  animation-delay: .2s
}
.shadow:nth-child(6){
  left:60%;
  animation-delay: .3s;
}
@media (min-width: 1025px){
  .maru {
    left: 40%;
  }
  .maru:nth-child(2){
    left:50%;
    animation-delay: .2s;
  }
  .maru:nth-child(3){
    left:60%;
    animation-delay: .3s;
  }
}
@media (max-width: 1024px) and (min-width: 500px){

.maru {
  left: 35%;
}
.maru:nth-child(3) {
  left: 65%;
}
.shadow:nth-child(6) {
  left: 65%;
}
.shadow {
  left: 35%;
}
  }
  @media (max-width: 499px){
    .maru{
      width:80px;
      height:80px;
    }
    .maru.re {
      width: 56px;
    }
    @keyframes circleMoving{
    0%{
        top:20%;
        height:25%;
        translate:-50% 0;
    }
    40%{
      height: 30%;
        translate:-50% 0;
    }
    100%{
        top:0%;
        translate:-50% 0;
    }
  }
  @keyframes circleScale{
    0%{
        scale:1.3 1;
    }
    40%{
        scale:1;
    }
    100%{
        scale:1;
    }
  }
    .shadow {
      width: 25px;
      height: 10px;
      top: 126px;
    }

  .loader-circle {
    height: 260px;
    top:calc(25% + 145px);
  }
  .shadow:nth-child(6) {
    left: 70%;
  }
  .shadow {
    left: 30%;
    top: 113px;
  }
  }