@charset "utf-8";
/* CSS Document */

body{
    font-family: "Zen Antique", serif;
    /*font-weight: 400;*/
    font-style: normal;
    margin: 0 auto;
	font-size:1vw;
    color:#29392b;

}

h2{
    width: 20%;
    padding-left: 5%;
    font-size:3vw;
    background: url("../img/題名背景.png");
    background-repeat: no-repeat;
    background-size: contain;
    
}

header{
    width: 100%;
    font-size:1.5vw;
    z-index: 100;
    position: absolute;
 /*  z-index: 1;*/
}

header ul a{
    padding: 1% 5% 3% 5%;
    color:#fff;
       text-decoration: none;
    
}

header ul a:hover{
    background: url("../img/題名背景.png");
    background-size: 100%;
    background-repeat: no-repeat;
    text-shadow: #111 1px 0 10px;
    color:#FFFAD6;
    transform: scale(1.25);
    transition-duration: 0.5s;
    
}
#header_pc a img:hover{
        transform: scale(1.25);
        transition-duration: 0.5s;
    }
    
   footer a img:hover, footer a:hover{
        transform: scale(1.25);
        transition-duration: 0.5s;
    }
    

header img{
    width:20%;
}


#header_pc img{
   float:left;
}

#header_pc ul{
	display: flex;
	 justify-content: center;
    margin-left:40%;
}

.openbtn,#g-nav,#header_sp{
    display: none;
}





/*top*/
#top img{
  width:100%;
   
}

#top{
    position: relative;
}

#toptext{
		  position:absolute;
		  top:25%;
          right: 25%;
		  font-size:7vw;
          color:#fff;
          text-align: center;
         text-shadow: #FBE481 1px 0 10px;
         opacity: 0.8;
         line-height: 1.5;
        overflow: hidden;
		 
}

.toptext1{
    position:absolute;
    top:70%;
     right:40%;
    font-size:1.5vw;
     color:#fff;
    opacity: 0.8;
    font-family: serif;
}

.wrapper{
    background: url("../img/背景.png");
    background-size: cover;
    position: relative;
    width: 100%;
}

#main{
    width:57.8125%;
    margin: 0 auto;
}

#waku{
    width: 100%;
   
}

#waku_sp{
    display: none;
}

#contents{
      width: 80%;
      position: absolute;
       top:10%;
       padding-left:5%;
    margin:0 auto;
/*       height: auto;*/
}

#co_text1{
    margin-top:5%;
    font-size:1.3vw;
     line-height: 190%;
    font-weight:500;
}

#co_text2{
    line-height: 190%;
    margin-top:5%;
}

.box{
    display:flex;
}

.text_box{
    width:33%;
    padding-right:10%;
}

.img_box  img{
    width:100%;
}

.img_box{
    width:40%;
    display: flex;
}



#contents #co_img2{
    margin-top:13%;
}

#btn1{
    margin-top:-10%;
    margin-left: 20%;
}


#news{
    margin-top:40%;
}

.haikei{
    background: url("../img/肉球.png");
    background-size:20%;
    background-position: top left 0 -50px;
    background-repeat: no-repeat;
}

.haikei01{
    background: url("../img/肉球.png");
    background-size:20%;
    background-position:bottom right;
    background-repeat: no-repeat;
}

#gallery,#access{
    margin-top: 20%;
}

dl{
    width:55%;
    margin: 0 auto;
    margin-top:5%;
}

dt{
    float: left;
}

dd{
    padding: 0 0% 8% 38%; 
}

#btn2,#btn3,#btn4{
    margin-top:5%;
    margin-left:80%;
}

#conntents{
    
}

#gallery_tx{
  line-height: 180%;
  margin-left:50%;
  padding:2%;
  font-size:1.3vw;
}

#none{
    display: none;
}



#access img{
    width:40%;
    padding: 5%;
    margin-left: 13%;
    margin-top:5%;
}

.text_boxs{
    width:40%;
    padding: 5%;
    line-height: 220%;
    font-size:1.1vw;
    margin-top:5%;
}

#tx_2{
    margin-top:5%;
}

#tx_3{
    margin-left:22%;
}

#tx_4{
    margin-top:5%;
}


footer{
    width:100%;
    background-image: url("../img/footer_gazo.png");
    background-size:100%;
    background-repeat: no-repeat;
    color:#fff;
    padding-top:25%;
    height: auto;
    text-align: center;
}

#logo_ft{
    width:15%;
    padding: 2%;
}

.img_boxs{
    width:15%;
    margin: 0 auto;
    /*margin-left:43%;*/
    display: flex;
}

.img_boxs img{
 
     width:50%;
}

footer p{
    line-height: 180%;
    font-size:1.3vw;
}

/*ボタンアンダーライン*/
.underlineCenter a,.underlineCenter1 a,.underlineCenter2 a{
	position: relative;
	color: #29392b;
	text-decoration: none;
}

.underlineCenter a::after{
    width: 8%;
}

.underlineCenter1 a::after {
    width:28%;
}

.underlineCenter2 a::after {
    width:45%;
}

.underlineCenter a::after,.underlineCenter1 a::after,.underlineCenter2 a::after  {
	position: absolute;
	bottom: -3px;
	left: 0;
	content: '';
	height: 1px;
	background: #29392b;
	transform: scale(0, 1);
	transition: transform .3s;
}
 a:hover::after {
	transform: scale(1, 1);
}
/*アニメーション*/

/*top スライダー*/
.img-frame_sp{
    display: none;
}

.img-frame{
		text-align: center;
		position: relative;
		/*top:50px;*/
	   	width: 100%;
       padding-top: 49.5%;
	   	overflow: hidden;
	   /*	margin: 0 auto;*/
}

   .img-frame:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    display: block;
    background-color: rgba(100, 100, 100, .4);
    background-image: radial-gradient(#000 20%, transparent 0), radial-gradient(#000 20%, transparent 0);
    background-position: 0 0, 10px 10px;
    background-size: 4px 4px;
  }

@media screen and (min-width:300px){
.img-frame{
   width: 100%;
   
}
.img-01, .img-02, .img-03{
   position: absolute;
   width: 100%;
    height:auto;
     top:0;
    left: 0;
}
.img-01{
   animation: slide-animation-01 24s infinite;
}
.img-02{
   animation: slide-animation-02 24s infinite;
}
.img-03{
   animation: slide-animation-03 24s infinite;
}

@keyframes slide-animation-01 {
    0% {opacity: 1; transform: scale(1.0);}
  30% {opacity: 1;}
  40% {opacity: 0; transform: scale(1.15);}
  90% {opacity: 0}
100% {opacity: 1; transform: scale(1.0);}
}
@keyframes slide-animation-02 {
    0% {opacity: 0;}
  30% {opacity: 0; transform: scale(1.1);}
  40% {opacity: 1;}
  60% {opacity: 1;}
  70% {opacity: 0; transform: scale(1.0);}
100% {opacity: 0;}
}
@keyframes slide-animation-03 {
    0% {opacity: 0;}
  60% {opacity: 0;  transform: scale(1.0);}
  70% {opacity: 1;}
  90% {opacity: 1;}
100% {opacity: 0; transform: scale(1.1);}
}
    
/*スクロールダウンバーアニメーション*/
.scrolldown4{
    /*描画位置※位置は適宜調整してください*/
	position:absolute;
	bottom:1%;
	right:50%;
    /*矢印の動き1秒かけて永遠にループ*/
	animation: arrowmove 1s ease-in-out infinite;
    
    color:#fff;
  
}

@keyframes arrowmove{
      0%{bottom:1%;}
      50%{bottom:3%;}
     100%{bottom:1%;}
 }

/*Scrollテキストの描写*/
.scrolldown4 span{
    /*描画位置*/
	position: absolute;
	left:-20px;
	bottom:10px;
    /*テキストの形状*/
	color: #eee;
	font-size: 1em;
	letter-spacing: 0.05em;
	/*縦書き設定*/
	-ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

/* 矢印の描写 */
.scrolldown4:before {
    content: "";
    /*描画位置*/
    position: absolute;
    bottom: 0;
    right: -6px;
    /*矢印の形状*/
    width: 1px;
    height:20px;
    background: #eee;
    transform: skewX(-31deg);
}

.scrolldown4:after{
	content:"";
    /*描画位置*/
	position: absolute;
	bottom:0;
	right:0;
    /*矢印の形状*/
	width:1px;
	height: 50px;
	background:#eee;
}

    
   /* Loading背景画面設定　*/
#splash {
/*fixedで全面に固定*/
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 999;
  background:#29392b;
  text-align:center;
  color:#fff;
}

/* Loading画像中央配置　*/
#splash_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Loading アイコンの大きさ設定　*/
#splash_logo img {
  width:260px;
}

/*ロードゆらゆら*/    
.object{
  animation-name: swing;
  animation-duration: 1.0s;
  animation-timing-function: ease-out;
  animation-delay: 0;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

/* アニメーション */
@keyframes swing {
  0% {
    transform: translate(0, 0) rotate(5deg);
  }
  50% {
    transform: translate(0, 10px) rotate(0deg);
  }
  100% {
    transform: translate(0, 0) rotate(-5deg);
  }
}
    
/*ふわっと表示*/ 

    
.fadeUp_niku{
animation-name:fadeUpAnime;
animation-duration:2s;
animation-fill-mode:forwards;
opacity:0;
}
    
.fadeUp_niku01{
animation-name:fadeUpAnime;
animation-duration:2.5s;
animation-fill-mode:forwards;
opacity:0;
}        
    

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}
        

 .fadeIn{
animation-name:fadeInAnime;
animation-duration:4s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}   



/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.fadeUp_nikuTrigger,.fadeInTrigger,.fadeUp_niku01Trigger{
    opacity: 0;
}
  
/*一文字ずつスライドイン*/
/*========= 流れるテキスト ===============*/

/*全共通*/

.slide-in {
	overflow: hidden;
    display: inline-block;
}

.slide-in_inner {
	display: inline-block;

}

/*左右のアニメーション*/
.leftAnime{
    opacity: 0;/*事前に透過0にして消しておく*/
}

.slideAnimeLeftRight {
	animation-name:slideTextX100;
	animation-duration:8s;
	animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes slideTextX100 {
  from {
	transform: translateX(-100%); /*要素を左の枠外に移動*/
        opacity: 0;
  }

  to {
	transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}

.slideAnimeRightLeft {
	animation-name:slideTextX-100;
	animation-duration:15s;
	animation-fill-mode:forwards;
    opacity: 0;
}


@keyframes slideTextX-100 {
  from {
	transform: translateX(100%);/*要素を右の枠外に移動*/
    opacity: 0;
  }

  to {
	transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}
    

.slide-container {
    width:100%;
    display: flex;
    align-items: center;
    overflow: hidden;
    margin:10%;
}
.slide-wrapper {
  display: flex;
  animation: slide-flow 30s infinite linear 1s both;
}
.slide{
  width:40%;
  height: auto;
  object-fit:cover;
  border: 1px solid #ddd;
  margin-left:2%; 
}
@keyframes slide-flow {
     0% {transform: translateX(-100%);}
 100% {transform: translateX(0);}
}
  
/*ページトップ*/
    
#page-top a{
	
   background-color: rgba(168,229,165,0.7);
    border-radius: 30%;
	-webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
	
    white-space: nowrap;
	
}    
    
#page-top a::after{
     
	content:"";
	position: absolute;
	top:0;
	right:0;
	width:1px;
	height: 80px;
	background:#666;
    animation: arrowsmove 1s ease-in-out infinite;        
}

 #page-top a::before {
    content: "";
    position: absolute;
    top: 0;
   right:-6px;
    width: 1px;
    height: 20px;
    background: #666;
    transform: skewX(31deg);
}


#page-top a:hover{
	background-color: rgba(168,229,165,0.7);
    border-radius: 30%;
    padding:10% 0 10% 0;
    text-shadow: #111 1px 0 10px;
    color:#FFFAD6;
    transition-duration: 0.5s;
}

/*リンクを右下に固定*/
#page-top {
    
    position: fixed;
	right:5%;
	bottom:1%;
	z-index: 2;
	opacity: 0;
	transform: translateY(200);
    
}
    
@keyframes arrowsmove{
      0%{bottom:1%;}
      50%{bottom:3%;}
     100%{bottom:1%;}
 }


/*　上に上がる動き　*/

#page-top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(100);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

　下に下がる動き　

#page-top.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100);
  }
}

    
    
/*about.css*/ 
    
