@charset "utf-8";
/*初期値リセット*/
*{
  margin:  0;
  padding:  0;
}
body{
  font-family:  sans-serif;
  line-height:  1;
  color:  #333;
  position: relative;
}
ul{
  list-style:  none;
}
a{
  text-decoration:  none;
  color:  inherit;
  display: block;
}
img{
  max-width:  100%;
  height:  auto;
  vertical-align:  bottom;
}
.btn,.spnav{
  display: none;
}

/*共通CSS*/
.container{
  max-width:  960px;
  margin-inline: auto;
  padding-inline: 10px;
  display: flex;
  justify-content: 
    space-between;
}

/*header*/
header{
  color:  #fff;
  padding: 20px 0;
  background: 
   #000;
}
h1{
  font-size: 26px;
  margin-bottom: 5px;
}
/*SNS ICON*/
aside ul{
  display: flex;
  gap: 5px;
  align-items: flex-end;
}
aside li{
  width: 50px;
}

/*keyvisual*/
.keyVis{
  text-align: center;
  line-height:  200px;
  font-family: 'Rubik Puddles', cursive; 
  font-size:  50px;
  text-shadow: 3px 3px 3px #fff, /*同じのを重ねると色が濃くなる*/
  3px 3px 3px #fff;
  font-weight: bold;
  letter-spacing: 10px;
  background: url(../img/header2.jpg)
    no-repeat
    center center/cover;
    /*↑場所指定してる場合はショートハンドが使える↑*/
  /*background-size: cover;*/
  }

/*navigation*/
.pcnav {
  background: linear-gradient(/*to top,初期値で上からになってる*/#777, #000 );
}
.pcnav li{
  line-height: 50px;
  width: 20%;
  color:  #fff;
  text-align: center;
}
.pcnav li:first-child a{
  border-left:  1px solid #aaa;}
.pcnav a{
  border-right: 1px solid #aaa;
}
.pcnav a:hover{
  background: linear-gradient(#000,#777 ); 
}

/*2カラムレイアウト*/
.wrap{
  padding:  50px 0;
}
/*main*/
main{
  width: calc(600/960*100%);
}
main h2{
  font-size:  28px;
  padding-bottom:  10px;
  border-bottom: 1px solid #000;
} 
main{
overflow: hidden;
}
main time{
  padding:  20px;
  color:  #fff;
  background:  #0097b8;
  border-radius: 50%;
  float: right;
}
main p:first-of-type{
  font-size: 14px;
}
main p {
  line-height: 1.6;
  margin-top: 10px;
}
main img{
  border:  10px solid #0097b8;
  box-sizing: border-box;
}

/*sidebar*/
.sidebar{
  width: calc(300/960*100%);
}
.sidebar section:first-child{
  margin-bottom:  50px;
}
.sidebar h2{
  font-size: 28px;
  padding-bottom:  5px;
  color:  #0097d8; 
  border-bottom: 1px solid #ccc;
}
.sidebar li{
  line-height:  50px;
}
.sidebar a{
  padding-left:  20px;
  border-bottom: 1px solid #ccc;
}
.sidebar a:hover{
  background: url(../img/listmark.png) 
    no-repeat 
    left center;
}

/*footer*/
footer{
  padding:  30px 0;
  color:  #fff;
  background:  #000;
}
footer .container{
  display:  block;
}
footer p:first-child{
  margin-top:  10px;
}


/*メディアクエリ*/
@media screen and (max-width:743px) {
  .pcsns,.pcnav{
    display: none;
  }

  header {
    padding: 10px 0;
  }
  h1{
    font-size: 22px;
  }
  header p{
    font-size: 12px;
  }
  aside{
    position: absolute;
    /*bodyにposition: relative;*/
    bottom: 5px;
    right: 5px;
  }

  .spnav{
    display: block;
    position: absolute;
    width: 100%;
    top: 57px;
  }
  .spnav{
    line-height: 70px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
  }
  .spnav a{
    color: #fff;
    background: rgba(51, 51, 51, 0.8);
    border-bottom: 1px solid #fff;
  }

  .keyVis{
    line-height: 150px;
    font-size: 32px;
    letter-spacing: 5px;
  }

  .btn{
    display: block;
    width:50px;
    text-align: center;
    font-size: 35px;
    border: 1px solid #fff;
    border-radius: 5px;
    position: absolute;
    top: 5px;
    right: 5px;
    color: #fff
  }
  .btn i{
    line-height: 50px;
    display: block;
  }


  .container{
    display: block;
  }
  main{
    width: auto;
  }
  .sidebar{
    width: auto;
  }

  .wrap{
    padding: 20px 10px;
  }
  main{
    margin-bottom: 20px;
  }
  main h2{
    font-size: 20px;
  }
  main img{
    display: block;
    margin-inline: auto;
  }

  .sidebar section:first-child{
    margin-bottom:  20px;
  }
  .sidebar h2{
    border-bottom: none;
  }
  .sidebar a{
    padding-left: 30px;
    border: 1px solid #aaa;
    background: 
      url(../img/listmark.png) no-repeat left 10px center;
  }

  .sidebar li + li{
    margin-top: 5px;
  }

  footer{
    padding-bottom: 60px;    
  }
  footer p{
    padding-left: 10px;
  }
}
