@charset "utf-8";

/*==================================================
スライダーのためのcss
===================================*/
#slider {
    width: 100%;
    height: 100vh;/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
}
#slider img{
    width: 10%;
}
.kumo img{
    position: absolute;
    right: 0;
    left: 0;
    margin: 0 auto;
    width: 70%;
    z-index: 999;
    animation: zoom 7.5s infinite alternate; /* アニメーションの設定 */
}
@keyframes zoom {
      0% {
        transform: scale(1); /* 初期状態 */
      }
      100% {
        transform: scale(0.95); /* 95%に縮小した状態 */
      }
    }

@media screen and (max-width:768px){
    .kumo img{
        width: 90%;
        top: 15%;
    }
    
    
}





/*========= レイアウトのためのCSS ===============*/

a{
  color: #fff;
}

a:hover,
a:active{
  text-decoration: none;
}

h1{
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  font-size:5vw;
  font-family: serif;
  text-transform: uppercase;
  color: #fff;
}
h1 p{
  font-size:2vw;
}

.minititle{
    font-size: 3vw;
    margin-top: 0;
}
.wrapper{
  position: relative;
}

.container{
  
}


/*ヘッダーを固定*/
#header{
  height: 70px;/*高さ指定*/
  width:100%;/*横幅指定*/
  /*以下はレイアウトのためのCSS*/
  display: flex;
  justify-content:space-around;
  align-items: center;
  background:#333;
  color:#fff;
  text-align: center;
  padding: 20px;
}

/*JSを使いfixedクラスが付与された際の設定*/
#header.fixed{
  position: fixed;/*fixedを設定して固定*/
    z-index: 999;/*最前面へ*/
    top:0;/*位置指定*/
    left:0;/*位置指定*/
}


/*========= レイアウトのためのCSS ===============*/

h2{
  font-size:1.2rem;
  text-align: center;
  margin: 0 0 30px 0;
}
p{
  margin-top:20px;  
}
small{
  background:#333;
  color:#fff;
  display: block;
  text-align: center;
  padding:20px;
}
nav ul{
  list-style: none;
  display: flex;
  justify-content: center;
}
nav ul li a{
  display: block;
  text-decoration: none;
  color: #fff;
  padding:10px;
  transition:all 0.3s;
}
nav ul li.current a,
nav ul li a:hover{
  color:#fff; 
}
section{
  padding:30px;
}
section:nth-child(2n){
  background:#f3f3f3; 
}

/*ライズインのアニメーション*/
/*アニメーション要素のスタイル*/
.animation{
	opacity : 0;
	visibility: hidden;
	transition:1.5s;
	transform: translateY(350px);
    display: flex;
    justify-content: center;
}
/*アニメーション要素までスクロールした時のスタイル*/
.active{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
/*ライズインする画像のCSS*/
.animation img{
    width:50%;
}





/*流れる画像のCSS*/
	@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}
.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 50s infinite linear 0.5s both;
}
.scroll-infinity__item {
  width: calc(100vw / 4);
}
.scroll-infinity__item>img {
  width: 100%;
}
/*流れる画像のCSSここまで*/



.botan{
    display: flex;
    justify-content: center;
    margin: 2% 0 2% 0;
}
.botan img{

 height: 40px; 
}
/*========= 隠しコンテナのためのCSS ===============*/
/*========= ================== ===============*/
.youtube{

    justify-content: center;
}
.youtube a{
    color: black;
}
.youtube img{
 width: 40px;
 height: 40px;
}

.channel{
    display: block;
    margin-left: 10%;
}
.hidden {
      display: none;
    }








/*========= コンテナ５のためのCSS ===============*/
/*========= ================== ===============*/


.wordpress{
  padding:5% 5% 0 5%;
  width: 100%; /* モーダルの幅を60%に設定 */
  height: 100%;
}


/* iframeのスタイル */
iframe {
  width: 100%; /* iframeを親要素（.modal-content）の100%に設定 */
  height: 100vh; /* 画面の高さいっぱいに表示 */
  border: none; /* ボーダーをなくす */
}

@media screen and (max-width:768px){
 .wordpress{
  padding: 0;
}   
#header{
  height: 40px;/*高さ指定*/
  width:100%;/*横幅指定*/
  /*以下はレイアウトのためのCSS*/
  display: flex;
  justify-content:space-around;
  align-items: center;
  background:#333;
  color:#fff;
  text-align: center;
  padding: 0px;
}
    ul{
        margin: 0;
        padding: 0;
    }

    
    
}






/* footer */

#footer{
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap:wrap;
    flex-direction: row-reverse;
}

#footer .footer-r{
    width:70%;
    padding: 40px 40px 0 40px;
    background:#000;
    color: #fff;
}

#footer .footer-r .map-address{
    display: flex;
    justify-content: center;
    align-items: center;
}

#footer .footer-r .map-address address{
     font-style: normal;   
    margin: 0 0 30px 0;
}

#footer .footer-r .map-area{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;

}

#footer .footer-r .map-area h2{
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;    
    text-orientation: upright;
    font-size: 1.3rem;
    width:10%;
    height: 10em;
    letter-spacing: 0.3em;
    text-align: center;
}

#footer .footer-r .map-address{
    width:30%;
}

#footer .footer-r .map-block{
    width:50%;
}

#footer .footer-r .iframe-area {
  position: relative;
  padding-bottom: 51.65%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}

#footer .footer-r .iframe-area iframe,
#footer .footer-r .iframe-area object,
#footer .footer-r .iframe-area embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#footer .footer-link{
    font-size: 0.9rem;
    padding: 0 0 0 50px;
}

#footer .footer-link li{
     display: inline-block;
}

#footer .footer-link a{
    color: #fff;
}

#footer .footer-link a::after{
    content:'/';
    padding: 0 10px;
}

#footer .footer-link li:last-child a::after{
    content:'';
    padding: 0;
}

#footer{

    background:#333333;
}

#footer .footer-l .footer-contact{
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    background: #cccccc;
    height: 40vh;
}

#footer .footer-l .footer-contact-area h2{
    font-size: 1.2rem;
    margin: 0 0 20px 0;
    letter-spacing: 0.1em;
}

#footer .footer-l .footer-contact-area a{
    font-size: 1.5rem;
    padding: 0 0 20px 0;
    display: inline-block;
}

#footer #copyright{
    background:#333333;
    color: #ccc;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 20vh;
}

#footer #page-top{
    position: absolute;
    bottom:0;
    right: 0;
    width:80px;
    height:80px;
    background:#fff;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

#footer #page-top span{
    display: inline-block;
  width: 13px;
  height: 13px;
  border-top:2px solid #182578;
  border-left: 2px solid #182578;
  transform: rotate(45deg);
}

@media screen and (max-width:1045px) {
 
#footer .footer-r,
#footer .footer-l{
    width:100%;
}
    
#footer .footer-l .footer-contact,
#footer #copyright{
    height: inherit;
    padding: 40px 0;
}
    
#footer .footer-r .map-area h2{
    width:5%;
}
   
#footer .footer-link{
    text-align: center;
}
    
}

@media screen and (max-width:768px) {
    #footer .footer-r{
        padding:0;
    }
    
    #footer .footer-r .map-area{
        margin: 0;
        font-size: 13px;
    }
    #footer .footer-link{
        display: none;
    }
    
#footer .footer-r .map-area h2{
    width:100%;
    height: inherit;
    margin: 0;
    -ms-writing-mode: lr-tb;
    -webkit-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
}

#footer .footer-r .map-address{
        width:48%;
}
    
#footer #page-top{
        width:60px;
        height: 60px;
}
#footer #copyright{
    padding: 0;
}
section{
  padding:8px;
}
}
/*フッター終了*/




















