@charset "UTF-8";
:root {
  --txt-col-wh: #fff;
  --txt-col-bk1: #333;
  --txt-col-bk2: #000;
}
html {
  overflow-y: scroll;
}
body {
  color: var(--txt-col-bk1);
  /*background: #111;*/
  line-height: 1.5;
}
a {
  color: var(--txt-col-bk1);
  text-decoration: none;
}

.wrapper {
  max-width: 900px;
  margin: 0 auto;
}
.flexArea {
  display: flex;
  justify-content: space-between;
}
header h1 {
  margin-bottom: 20px;
}
header h1 a {
    display: flex;
    justify-content: center;
    align-items: center;
}
header h1 a img {
  box-sizing: border-box;
  height: auto;
}

header h1 a img:first-child {
  margin-right: 40px;
  max-width: 105px;
  width: 15%;
}
header h1 a img:last-child {
  max-width: 257px;
  width: 45%;
}
main.small {
  width: 70%;
  margin: 10px auto;
}
.small h2 {
  margin-top: 30px;
  margin-bottom: 20px;
  border-top: 1px solid;
  border-bottom: 1px solid;
  padding: 10px 0;
  text-align: center;
}
ul.flexArea li {
  width: 16.7%;
}
ul.flexArea li a {
  display: block;
  width: 100%;
  text-align: center;
  height: 55px;
  line-height: 55px;
  transition: 0.2s linear;
}
nav li a:hover {
  background: url(../images/btn_on.png);
  font-weight: bold;
  color: #fff;
  transition: 0.2s linear;
}



footer ul {
  text-align: center;
  margin: 50px 0px 30px;
}
footer ul li {
  display: inline-block;
}
footer li+li::before {
  content: " ・ ";
}
footer p {
  text-align: center;
  font-size: 0.75rem;
  margin-bottom: 10px;
}


#home footer .menu1 a,
#coding footer .menu2 a,
#graphic footer .menu3 a,
#script footer .menu4 a,
#contact footer .menu5 a,
#works footer .menu6 a,
footer ul li a:hover {
  text-decoration: underline;
  color: var(--txt-col-bk2);
}
#home nav .menu1 a,
#coding nav .menu2 a,
#graphic nav .menu3 a,
#script nav .menu4 a,
#contact nav .menu5 a,
#works nav .menu6 a {
  background: url(../images/btn_on.png);
  font-weight: bold;
  color: #fff;
}
.center {
  text-align: center;
}
section {
  width: 80%;
  margin: 0 auto;
  position: relative;
}

/*スマホ対応*/
header label,
#menu_checkbox {
  display: none;
}
@media screen and (max-width: 767px) {
  footer ul{
    margin-top: 0;
  }
  header label {
    display: block;
    position: fixed;
    top: 11px;
    right: 10px;
    z-index: 3;
  }
  #menu_checkbox ~ nav {
    height: 0;
    overflow: hidden;
  }
  #menu_checkbox:checked ~ nav {
    height: auto;
  }
  #menu_checkbox:checked ~ nav .flexArea.menu {
    flex-wrap: wrap;
    background: #33333336;
    position: fixed;
    top:0;
    z-index: 1;
  }
  #menu_checkbox:checked ~ nav ul.menu li {
      width: 100%;
  }
  main.small,
  section {
    width: 100%;
  }
}



.menu_btn {
  display: inline-block;
  position: relative;
  width: 26px;/*ボタン全体の幅を変えたいならここを調整*/
  height: 21px;/*ボタン全体の高さを変えたいならここを調整*/
  cursor: pointer;
}
 
.menu_btn span {
  display: inline-block;
  width: 100%;
  height: 3px;/*ボタン内の三本線の太さを変えたいならここを調整*/
  background-color: #000;/*ボタン内の三本線の色を変えたいならここを調整*/
  transition: .4s;/*アニメーション時間*/
  box-sizing: border-box;
  position: absolute;
  left: 0;
}
 
/*ボタン全体の高さか線の太さを調整したらここも調整しないときれいに表示されませぬ*/
.menu_btn span:nth-of-type(1) {
  top: 0;
}
 
.menu_btn span:nth-of-type(2) {
  top: 9px;
}
 
.menu_btn span:nth-of-type(3) {
  bottom: 0;
}
#menu_checkbox:checked ~ #menu_label .menu_btn span:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
}
 
#menu_checkbox:checked ~ #menu_label .menu_btn span:nth-of-type(2) {
  opacity: 0;
}
 
#menu_checkbox:checked ~ #menu_label .menu_btn span:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
}