html{margin: 0px;padding: 0px;}
body {
background-color:#cccccc;
font-family: 'Josefin Slab', serif;　
font-weight: 400;
font-style: normal;
width:100%;
height:100%;
padding:0;
margin:0;
}
.img{border:0;}
.pc {display:block;}
.mobile {display:none;}

.state {text-align: justify;text-justify:inter-ideograph;font-size:12px;}

.box{width:80vw;margin:auto;text-align:left;padding:15vh 0 30vh 0;}
.box2{width:80vw;margin:auto;text-align:center;padding:10vh 0 20vh 0;}

.subtitle {font-size:40px;color:#fff;padding-top:16vh;}
.menuimg {height:16vh;padding-bottom:20px;cursor: pointer;}
.nyaphy {width:26vw;padding-top:32vh;}
.newstext { 
	background:rgba(255,255,255,0.8);
	padding:14px 30px 14px 30px;margin-top:50px;width:26vw;
	border-radius:40px;font-size:11px;}

.circle{display:inline-block;width:18px;height:18px;border-radius: 50%;background:#000;margin:8px;}

.pd{height:150px;}

.top {
	background-repeat:repeat;
	background-image: url("image/clear.png");background-position:center; text-align:center;height:100vh;}

.news {background:#ccc;height:100vh;text-align:center;}

.newsimg{width:140px;padding:20vh 0 50px 0;}

.work {background:#ccc;height:100vh;text-align:center;
}
.frame{height:46vh;padding:23vh 0 8vh 0;}

.cv {background:#ccc;text-align:center;
}
.cvimg {width:130px;padding-top:10vh;}
.cvline { 
	background:rgba(255,255,255,0.6);
	padding:60px;width:60%;
	border-radius:40px;
	border-top:solid 2px #000;
	border-bottom:solid 6px #000;
	border-left:solid 2px #000;
	border-right:solid 4px #000;}


.footer {background:#ccc;height:100vh;text-align:center;
}
.sns {width:70px;margin:14px;}
.snsline { width:240px;border-style:solid;border-width:1px;border-color:#f3ef66;margin-top:-4px;}
.copyright{letter-spacing:0.07em;font-size:13px;color:#fff;}

.center{margin:auto;text-align:center;padding-bottom:60px;font-size:12px;}


ul {list-style: none;font-size:13px;}
li {margin-left: 1.4em;text-indent: -1.4em;line-height:1.8em;}
.exb{display:inline-block;}
.place{display:inline;font-size:10px;}
.year{padding:8px 0 0 0;}

a:link {
text-decoration:underline;
color:#000;
border:none;
outline:none;
}

a:visited {
color:#000;
border:none;
outline:none;
}

a:hover {
text-decoration:none;
color:#ccc;
border:none;
outline:none;
}

a:active {
color:#ccc;
background:none;
border:none;
outline:none;
}

.light:hover{
  animation: flash 1.8s linear infinite;
}

@keyframes flash {
  0%,100% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }
}

.logo{position:absolute;bottom:0;left:50%;transform: translate(-50%, -100%);height:60px;}

@charset "utf-8";


/*リンクの形状*/
#page-top a{
  display: flex;
  justify-content:center;
  align-items:center;
  background:#f3ef66;
  border-radius: 60px;
  width: 60px;
  height: 60px;
  color: #999999;
  text-align: center;
  text-transform: uppercase; 
  text-decoration: none;
  font-size:0.6rem;
  transition:all 0.3s;
}

#page-top a:hover{
  background: #fff;
}

/*リンクを右下に固定*/
#page-top {
  position: fixed;
  right: 10px;
  bottom:10px;
  z-index: 2;
    /*はじめは非表示*/
  opacity: 0;
  transform: translateX(100px);
}

/*　左の動き　*/

#page-top.LeftMove{
  animation: LeftAnime 0.5s forwards;
}

@keyframes LeftAnime{
  from {
    opacity: 0;
  transform: translateX(100px);
  }
  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/*　右の動き　*/

#page-top.RightMove{
  animation: RightAnime 0.5s forwards;
}
@keyframes RightAnime{
  from {
    opacity: 1;
  transform: translateX(0);
  }
  to {
    opacity: 1;
  transform: translateX(100px);
  }
}

.button{width:240px;
	height:30px;
	background:#fff;
	text-align:center;
	margin:auto;
	display:inline-block;
	border-radius:40px;
	border-top:solid 2px #000;
	border-bottom:solid 6px #000;
	border-left:solid 2px #000;
	border-right:solid 3px #000;
}
.button:hover{
	width:240px;height:30px;
	background:#f3ef66;
	text-align:center;
	margin:auto;color:#000;
	display:inline-block;
	border-radius:40px;
	border-top:solid 2px #000;
	border-bottom:solid 6px #000;
	border-left:solid 2px #000;
	border-right:solid 3px #000;}
.buttontext {padding:20px 0 0 0px;}



@charset "utf-8";
/*========= LoadingのためのCSS ===============*/

/* Loading背景画面設定　*/
#splash {
    /*fixedで全面に固定*/
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 999;
  background:#f3ef66;
  text-align:center;
  color:#fff;
}

/* Loading画像中央配置　*/
#splash_logo {
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -45%);
}

/* Loading アイコンの大きさ設定　*/
#splash_logo svg{
    width:400px;
}

/*=============== SVGアニメーション内の指定 =================*/

/*アニメーション前の指定*/
#mask path {
    fill-opacity: 0;/*最初は透過0で見えない状態*/
    transition: fill-opacity .5s;/*カラーがつく際のアニメーション0.5秒で変化*/
    fill: none;/*塗りがない状態*/
    stroke: #666;/*線の色*/
  }

/*アニメーション後に.doneというクラス名がで付与された時の指定*/
#mask.done path{
    fill: #666;/*塗りの色*/
    fill-opacity: 1;/*透過1で見える状態*/
    stroke: none;/*線の色なし*/
  }


.scrolldown4{
    /*描画位置※位置は適宜調整してください*/
  position:absolute;
  bottom:3%;
  right:50%;
  animation: arrowmove 1.4s ease-in-out infinite;
}

/*下からの距離が変化して全体が下→上→下に動く*/
@keyframes arrowmove{
      0%{bottom:3%;}
      50%{bottom:5%;}
     100%{bottom:3%;}
 }

/*Scrollテキストの描写*/
.scrolldown4 span{
    /*描画位置*/
  position: absolute;
  left:-20px;
  bottom:10px;
    /*テキストの形状*/
  color:#999;
  font-size: 13px;
font-weight: 600;
  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: 2px;
    height: 20px;
    background:#999;
    transform: skewX(-31deg);
}

.scrolldown4:after{
  content:"";
    /*描画位置*/
  position: absolute;
  bottom:0;
  right:0;
    /*矢印の形状*/
  width:2px;
  height: 50px;
  background:#999;
}

.fadeup{
  opacity : 0;
  transition: opacity 2s;}
 
.fadeup.view{
  opacity: 1;}



/*メニュー*/
#g-nav{
    /*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
    position:fixed;
	z-index: -1;
	opacity: 0;/*はじめは透過0*/
    /*ナビの位置と形状*/
	top:0;
	width:100%;
    height: 100vh;/*ナビの高さ*/
	background:#f3ef66;
    /*動き*/
	transition: all 0.3s;
}

/*アクティブクラスがついたら透過なしにして最前面へ*/
#g-nav.panelactive{
	opacity: 1;
	z-index:10;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 10; 
    width: 100%;
    height: 80vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
    display: none;
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 3;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
}

#g-nav.panelactive ul {
    display: block;
}

/*リストのレイアウト設定*/

#g-nav li{
	list-style: none;
    text-align: center; 
}

#g-nav li a{
	color: #333;font-size:20px;
	text-decoration: none;
	padding:20px;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: bold;
}

/*========= ボタンのためのCSS ===============*/
.openbtn{
	position:fixed;
    z-index: 100;/*ボタンを最前面に*/
	top:10px;
	right: 10px;
	cursor: pointer;
    width: 50px;
    height:50px;
}
	
/*×に変化*/	
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
	background-color: #666;
  	width: 45%;
  }

.openbtn span:nth-of-type(1) {
	top:15px;	
}

.openbtn span:nth-of-type(2) {
	top:23px;
}

.openbtn span:nth-of-type(3) {
	top:31px;
}

.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}