@charset "utf-8";
/*reset
----------------*/
html,body,h1,h2,h3,p,ul,li,dl,dt,dd{
  margin:0;
  padding:0;
  line-height: 1.0;   
}
ul{
  list-style:none;
}
a{
  text-decoration:none;
  color:#222;
}
img{
  vertical-align: bottom;
}
html { font-size: 62.5%; }
body{
  background: #fff;
  color: #333;
}
.st0{fill:#FFFFFF;}
:root {
--main-color: #85cbbf;
--point-color: #877999;
}

/*TOPへ戻るボタン
----------------*/
#to-top{
  width: 60px;
  height: 60px;
  position: fixed;
  right: 10px;
  bottom: 10px;
  background: rgba(133,203,191,0.7);
  border-radius: 60px;
  border:1px solid #fff;
  color: #fff;
}
#to-top .up{
  font-size:4em;
  line-height: 50px;
  color: #fff;
}
#to-top:hover#to-top .up{
  color: var(--point-color);
}
/*ヘッダー
----------------*/
.header{
  width:100%;
  padding:6px 0;
  background:rgba(133,203,191,0.7);
}
.headerinner{
  width:100%;
  box-sizing: border-box;
  margin: 0 auto;
}

h1{
  padding:10px;
  margin-right: auto;
}
svg#rogo{
  width:170px;
}
a:hover path{
  fill:var(--point-color);
}
/*メインビジュアル
----------------*/
.visual{
  width:100%;
  height:20px;
  background: #e0e0e0;
}
/*コンテナ
----------------*/
.container{
  max-width:100%;
  padding:2%;
  margin:0 auto;
  box-sizing: border-box;
  text-align: center;
}
#works{
  width:100%;
  box-sizing: border-box;
  padding:30px 0 50px;
  margin: 0 auto;
}
#works{
  padding-bottom:100px;
}
h2{
  font-size:3.8rem;
  font-family: 'Courgette', cursive;
  margin-bottom: 50px;
  color: var(--point-color);
}

/*シャッフル ボタン
----------------*/
.sort ul{
  display:flex;
  justify-content:space-around;
  flex-wrap:wrap;
  margin:0 auto 30px;
}
.sort li a{
  display:block;
  line-height: 20px;
  margin: 4px;
  padding:4px 8px;
  border:1px solid #ccc;
  border-radius:3px;
  font-size:1.5rem;
  color:#999;
}
.sort li a:hover,.sort li.active a{
  background:var(--main-color);
  color:#fff;
}
/*シャッフル
----------------*/
.grid{
  width:330px;
  margin: 0 auto;
}
.grid li{
  width:150px;
  margin: 10px;
  
}
.grid img{
  width:100%;
  margin: 0 auto;
  box-sizing: border-box;
  border:5px solid #fff;
  box-shadow: 5px 5px 5px rgba(20,20,20,0.2);
}
.grid li:hover img{
  opacity: 0.7;
  transition:0.5s;
}




/*フッター
----------------*/
#wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
footer{
  max-width:100%;
  padding:20px;
  font-size:12px;
  text-align: center;
  background: var(--point-color);
  color: #fff;
  margin-top: auto;
}
/*TB以上
----------------*/
@media screen and (min-width:768px){
.header{
  padding:10px;
  box-sizing:border-box;
}
.headerinner{
   width:100%;
  margin: 10px auto 10px;
    box-sizing:border-box;
  align-items: flex-end;
  }
h1{
  padding:0 10px;
}
svg#rogo{
  width:240px;
}
h2{
  font-size:5rem;
  margin-bottom: 20px;
}
/*タブレットコンテナ
----------------*/
.container{
  max-width:1200px;
  padding:20px 10px;
  box-sizing: border-box;
}
.sort ul{
  width:500px;
}
/*シャッフル
----------------*/
.grid{
  width:720px;
  margin: 0 auto;
}
.grid li{
  width:300px;
  margin:40px;
}
.box{
  width:17%;
}
h3{
  width:320px;
}
}
@media screen and (min-width:1024px){
h1 img{
  width:320px;
}

.grid{
  width:1020px;
  margin: 0 auto;
}
.grid li{
  width:300px;
  margin:30px;
}
}