@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Oswald');
/*==general==*/
* {
  box-sizing: border-box;
}
/*==general終了==*/
.pager {
  overflow: hidden;
}
.pager ul {
  list-style: none;
  position: relative;
  left: 50%;
  float: left;
}
.pager ul li {
  margin: 0 1px;
  position: relative;
  left: -50%;
  float: left;
}
.pager ul li span, .pager ul li a {
  display: block;
  font-size: 1em;
  padding: 0.6em 1em;
  border-radius: 3px;
}
.pager ul li a {
  background: #EEE;
  color: #000;
  text-decoration: none;
}
.pager ul li a:hover {
  background: #333;
  color: #FFF;
}
.top04 a, .top05 a, .top06 a {
  color: gray;
}
.tabs input:checked + .tab_item01 {
  background-color: #70C439;
  color: #fff;
}
.tabs input:checked + .tab_item02 {
  background-color: #7BAFEF;
  color: #fff;
}
.tabs input:checked + .tab_item03 {
  background-color: #F7B063;
  color: #fff;
}
/*==PC用記述==*/
@media screen and (min-width: 1367px) {
  /*==general==*/
  body {
    line-height: 1.5;
    font-family: "Open Sans";
    font-size: calc(112.5%+0.25vw);
    width: 100%;
    height: 100%;
  }
  img {
    width: 100%;
  }
  .midashi {
    font-size: 1.2em;
    font-weight: bold;
  }
  /*==general終了==*/
  /*book*/
  .book {
    width: 800px;
    height: 900px;
    min-height: 900px;
    margin: 0 auto;
    padding: 5px 5px 10px 0;
    background: url(../img/book_img.jpg) no-repeat;
    background-size: contain;
    border-collapse: separate;
    border-spacing: 0px 0px;
  }
  .center {
    width: 98%;
    margin-bottom: 52px;
    display: flex;
    justify-content: space-around;
  }
  .book .book_item {
    width: 190px;
    position: relative;
    z-index: 100;
  }
  .book_item img {
    width: 100%;
    z-index: 100;
  }
  /*タブ切り替え全体のスタイル*/
  .tabs {
    margin-top: 0;
    padding-bottom: 40px;
    width: 800px;
    margin: 0 auto;
  }
  /*タブのスタイル*/
  .tab_item {
    width: calc(100%/3);
    height: 50px;
    border-bottom: 3px solid #000;
    background-color: #d9d9d9;
    line-height: 50px;
    font-size: 16px;
    text-align: center;
    color: #565656;
    display: block;
    float: left;
    text-align: center;
    font-weight: bold;
    transition: all 0.2s ease;
  }
  .tab_item:hover {
    opacity: 0.75;
  }
  /*ラジオボタンを全て消す*/
  input[name="tab_item"] {
    display: none;
  }
  /*タブ切り替えの中身のスタイル*/
  .tab_content {
    display: none;
    padding: 0;
    clear: both;
    overflow: hidden;
  }
  /*選択されているタブのコンテンツのみを表示*/
  #all:checked ~ #all_content, #programming:checked ~ #programming_content, #design:checked ~ #design_content {
    display: block;
  }
  /*選択されているタブのスタイルを変える*/
  .tabs input:checked + .tab_item {
    background-color: #70C439;
    color: #fff;
  }
  /*選択されているタブのスタイルを変える*/
  .tabs input:checked + .tab_item01 {
    background-color: #70C439;
    color: #fff;
  }
  .tabs input:checked + .tab_item02 {
    background-color: #7BAFEF;
    color: #fff;
  }
  .tabs input:checked + .tab_item03 {
    background-color: #F7B063;
    color: #fff;
  }
  /*==header==*/
  header {
    position: relative;
    width: 100%;
    height: 80px;
    background: #fff;
  }
  .head {
    display: flex;
    align-items: center;
    z-index: 10000;
  }
  .head h1 {
    width: 60%;
    margin: 1% 50% 1% 3%;
  }
  .head h1 img {
    width: 80%;
  }
  .menuicon {
    width: 30%;
    padding: 1% 0% 0.5% 3%;
  }
  .menuicon img {
    width: 40%;
  }
  .snsicon {
    display: flex;
    width: 38%;
    justify-content: flex-end;
    padding: 0.5% 0 0 0;
  }
  .snsicon img {
    width: 80%;
  }
  .snsicon figure {
    padding: 1% 10%;
  }
  .fixed {
    position: fixed;
    top: 0;
    left: 0;
  }
  /*メニュー部分*/
  nav {
    display: none;
    position: absolute;
    top: 80px;
    width: 100%;
    background: #70c439;
    left: 0;
  }
  header nav ul {
    display: block;
    margin: 0 auto;
    width: 90%;
    list-style: none;
  }
  header nav ul li {
    margin: 0 auto;
    text-align: center;
  }
  header nav ul li:last-child {
    border: none;
  }
  header nav ul li a {
    display: block;
    color: white;
    font-size: 1em;
    padding: 25px;
  }
  /*開閉ボタン*/
  #nav_toggle {
    display: block;
    width: 50px;
    height: 50px;
    position: relative;
    top: 6px;
    left: 49.7%;
    z-index: 100;
  }
  #nav_toggle div {
    position: relative;
  }
  #nav_toggle span {
    display: block;
    height: 5px;
    background: black;
    position: absolute;
    width: 100%;
    left: 0;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
  }
  #nav_toggle span:nth-child(1) {
    top: 0px;
  }
  #nav_toggle span:nth-child(2) {
    top: 14px;
  }
  #nav_toggle span:nth-child(3) {
    top: 28px;
  }
  /*開閉ボタンopen時*/
  .open #nav_toggle span:nth-child(1) {
    top: 12px;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  .open #nav_toggle span:nth-child(2) {
    width: 0;
    left: 50%;
  }
  .open #nav_toggle span:nth-child(3) {
    top: 12px;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
  /*==header終了==*/
  /*==タイピングアニメーション==*/
  @-webkit-keyframes typing {
    from {
      width: 0;
    }
  }
  /*
  @-webkit-keyframes blink-caret {
  50% {
  border-color: #fff;
}
}*/
  .type-js {
    width: 40%;
  }
  .type-js02 {
    width: 80%;
  }
  .text-js {
    /*border-right: .1em solid black;*/
    width: 4em;
    width: 13ch;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    -webkit-animation: typing 5s steps(7, end), blink-caret .5s step-end infinite alternate;
  }
  .text-js02 {
    /*border-right: .1em solid black;*/
    width: 13ch;
    margin: 0 10px;
    white-space: nowrap;
    overflow: hidden;
    -webkit-animation: typing 5s steps(11, end), blink-caret .5s step-end infinite alternate;
  }
  /*==トップ画==*/
  .text-js, .text-js02 {
    padding: 0;
    font-size: 7em;
    letter-spacing: 20px;
    display: block;
    text-align: left;
    flex-grow: 1.;
    font-family: 'Oswald', sans-serif;
    color: #fff;
  }
  .top01, .top02, .top03 {
    margin: 0 auto;
    width: 90%;
    padding: 0%;
    display: flex;
    align-items: center;
  }
  .gif01 {
    padding-top: 5px;
    width: 10%;
  }
  .top01 {
    justify-content: space-between;
  }
  .top03 {
    justify-content: flex-start;
    margin-bottom: 1em;
  }
  .top04 {
    padding: 1em 5% 0;
    color: gray;
    display: flex;
    width: 90%;
    margin: 0 auto;
    font-size: 1em;
    letter-spacing: 1px
  }
  .top06 {
    padding: 0 5% 0em;
    color: gray;
    display: flex;
    width: 90%;
    margin: 0 auto;
    font-size: 1em;
    letter-spacing: 1px
  }
  .top05 {
    padding: 0 5% 1em;
    color: gray;
    display: flex;
    width: 90%;
    margin: 0 auto;
    font-size: 1em;
    letter-spacing: 1px
  }
  .top04 p, .top05 p, .top06 p {
    padding: 0.2em;
    margin: 0.6em 0;
    font-weight: 600;
  }
  .top06 p {
    padding: 0.2em;
    margin: 0.6em 0;
  }
  .news01 {
    border-right: 1px solid gray;
    width: 12%;
    text-align: left;
    white-space: nowrap;
  }
  .news0 {
    width: 18%;
  }
  .info {
    border: solid black 3px;
    width: 90%;
    height: 30vh;
    margin: 2em auto;
    overflow-y: scroll;
    /*縦方向はスクロール可*/
    overflow-x: scroll;
    /*横方向はスクロール不可*/
  }
  .video {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
  }
  .video iframe {
    position: absolute;
    top: 0;
    left: 2%;
    width: 35%;
    height: 35%;
  }
  .sec000_box_contents01 {
    position: relative;
    height: 300px;
    width: 71.5%;
    min-width: 820px;
    margin: 2em auto;
    border: 3px solid black;
    padding: 1em;
    display: flex;
  }
  .c000_box_contents_p {
    width: 40%;
    position: absolute;
    font-size: 1em;
    top: 0;
    right: 20%;
    font-weight: 600;
    color: gray;
  }
  #sec01 figure {
    margin: 10px;
  }
  .news03 {
    background-color: #c11e95;
    color: white;
    width: 8%;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .news04 {
    width: 80%;
    text-align: left;
  }
  /*==2P==*/
  #sec02, #sec04 {
    width: 100%;
    background: #fff;
    position: relative;
    display: block;
  }
  .btn {
    width: 15%;
    margin-left: 70%;
  }
  .left_img {
    width: 70%;
  }
  .right_img {
    width: 40%;
    position: absolute;
    top: 4em;
    right: 0;
    z-index: 2;
  }
  .sec02_box_p {
    width: 50%;
    padding: 14% 0 0 0.5em;
    font-size: 1em;
    margin: 0 auto;
    line-height: 2em;
  }
  /*==3P==*/
  #sec03 {
    margin: 3em 0;
    width: 100%;
  }
  .sec03_title {
    width: 20%;
    padding-left: 10%;
  }
  .sec03_box {
    display: flex;
    justify-content: space-around;
    width: 80%;
    margin: 0 auto;
  }
  .fb_box {
    width: 48%;
    max-width: 600px;
    border: 3px solid black;
  }
  .youtube_box_mini {
    border: 3px solid black;
  }
  .youtube_box {
    width: 48%;
    max-width: 600px;
  }
  .movie-wrap {
    position: relative;
    padding-bottom: 56.25%;
    /*アスペクト比 16:9の場合の縦幅*/
    height: 0;
    overflow: hidden;
  }
  .movie-wrap iframe {
    position: absolute;
    top: 10px;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .sec03_box_contents_title {
    width: 100%;
    text-align: center;
    margin-top: 1.8em;
    font-size: 2em;
    font-weight: bold;
  }
  .sec03_box_contents_title02 {
    width: 100%;
    text-align: center;
    font-size: 1em;
    font-weight: bold;
  }
  .sec03_box_contents_title02 img {
    width: 3%;
  }
  .sec03_box_contents_logo {
    width: 60%;
    padding: 5px;
    margin: 0 auto;
  }
  .sec03_box_contents_logo img {
    width: 100%;
  }
  .fb_box_mini, .twitter_box {
    width: 100%;
    overflow: hidden;
    margin: 0 auto;
  }
  .twitter_page {
    border: solid 3px black;
  }
  .sec_title {
    width: 50%;
    margin: 0 auto;
  }
  .sec03_box01 {
    display: flex;
    width: 90%;
    margin: 1em auto;
    padding: 0 16%;
    justify-content: space-between;
  }
  .sec03_box01 img {
    width: 80%;
  }
  .sec03_box02 {
    margin-left: 41%;
  }
  .title {
    width: 16%;
    margin: 2em auto;
  }
  .sec03_box_contents01 {
    position: relative;
    height: 300px;
    width: 71.5%;
    min-width: 820px;
    margin: 2em auto;
    border: 3px solid black;
    padding: 1em;
  }
  .sec03_box_contents01 figure {
    width: 12%;
    border: 1px solid gray;
  }
  .sec03_box_contents01 figure img {
    width: 100%;
  }
  .sec03_box_contents01 figcaption {
    width: 28%;
    display: block;
    position: absolute;
    bottom: 20px;
    right: 60px;
  }
  .font {
    color: #70c439;
    font-weight: bold;
  }
  .sec03_p p {
    margin-bottom: 0.5em;
  }
  .sec03_p {
    position: absolute;
    top: 20px;
    left: 19%;
  }
  .fb_box_mini, .twitter_page {
    padding: 5% 15%;
  }
  /*==4P==*/
  .sec04_right_img {
    width: 40%;
    position: absolute;
    padding-top: 4em;
    top: 0;
    z-index: 2;
  }
  #sec04 {
    width: 100%;
    height: 380px;
    margin-top: 8em;
    position: relative;
  }
  .sec04_left_img {
    width: 70%;
    position: absolute;
    right: 0;
  }
  /*==5P==*/
  #sec05 {
    width: 90%;
    display: flex;
    justify-content: space-around;
    margin: 0 auto;
  }
  .PT40 {
    padding-top: 40%;
  }
  .sec05_box img {
    width: 100%;
  }
  .sec05_box02 {
    border: solid 1px;
    padding: 0.5em 1em 1em 1em;
    width: 350px;
    padding: 0.5em;
    height: 200px;
    display: block;
    color: white;
  }
  .sec05_box {
    width: 300px;
    height: 50px;
  }
  /*==profilepage==*/
  .profile{
    margin: 5em auto;
    width: 80%;
  }
  .profile_wrap {
    margin: 5em auto;
    width: 80%;
  }
  .profile_wrap_inner{
    border-bottom: 1px solid #ddd;
    margin: 5em auto;
  }
  .profile_wrap_inner h2{
    margin: 0 auto 2rem;
  }
  .profile_wrap_inner h3{
    margin: 0 auto 1.0rem;
  }
  .profile_wrap_inner p{line-height: 2;}
  .profile_c {
    margin: 0 auto 3rem;
    width: 100%;
  }
  .profile02 {
    width: 80%;
    margin: 5em auto;
  }
  .profile_left {
    float: left;
    width: 58%;
    padding-right: 4%;
    margin-bottom: 5rem;
  }
  .profile_right {
    float: right;
    width: 42%;
  }
  .profile_p_txt{
    display: block;
    margin-top: 1rem;
    font-size: 0.88rem;
  }
.tableBox table{
  border-top: 1px #646464 solid;
	border-left: 1px #646464 solid;
  margin: 0 auto;
  width: 100%;
  border-collapse: collapse;
    border-spacing: 0;
}
.tableBox tr{
  border-bottom: 1px #646464 solid;
  font-size: .88rem;
}
.tableBox th{
	border-right: 1px #646464 solid;
	font-weight: 300;
	padding: 0.6rem 1rem;
}
.tableBox td{
	border-right: 1px #646464 solid;
  padding: 0.6rem 1rem;
}

.tableBox01 tr{ text-align: left;}
.tableBox01 th{	width: 20%;}
.tableBox01 td{ width: 40%;}

.tableBox02 th {
  text-align: center;
  vertical-align: top;
  background: #3f3f3f;
  color: #fff;
}
.tableBox02 td {
  vertical-align: top;
}
  .profile_left02 {
    width: 100%;
  }
  .retu {
    display: flex;
    width: 100%;
  }
  .retu_p {
    width: 10%;
  }
  .retu > div {
    width: 90%;
    padding-left: 10px;
  }
  .retu figure {
    width: 30%;
  }
  .profile_right02 {
    width: 100%;
  }
  .profile_right02 img {
    width: 100%;
    display: block;
    margin: 0 0 3em 60%;
  }
  .retu_img {
    display: flex;
  }

  /*==footer==*/
  footer {
    width: 100%;
    background-color: azure;
    margin: 2% 0 0 0;
    text-align: center;
    padding: 0.5em;
  }
  footer p {
    margin: 0;
  }
  .sponly {
    display: none;
  }
  .TABnone {
    display: none;
  }
}
/*==TAB用記述==*/
@media screen and (max-width: 1366px) and (min-width: 768px) {
  /*==general==*/
  .TABnone {
    display: none;
  }
  body {
    line-height: 1.5;
    font-family: "Open Sans";
    font-size: calc(112.5%+0.25vw);
    width: 100%;
    height: 100%;
  }
  img {
    width: 100%;
  }
  .midashi {
    font-size: 1.2em;
    font-weight: bold;
  }
  /*==general終了==*/
  /*book*/
  .book {
    width: 800px;
    height: 900px;
    min-height: 900px;
    margin: 0 auto;
    padding: 5px 5px 10px 0;
    background: url(../img/book_img.jpg) no-repeat;
    background-size: contain;
    border-collapse: separate;
    border-spacing: 0px 0px;
  }
  .center {
    width: 98%;
    margin-bottom: 52px;
    display: flex;
    justify-content: space-around;
  }
  .book .book_item {
    width: 190px;
    position: relative;
    z-index: 100;
  }
  .book_item img {
    width: 100%;
    z-index: 100;
  }
  /*タブ切り替え全体のスタイル*/
  .tabs {
    margin-top: 0;
    padding-bottom: 40px;
    width: 800px;
    margin: 0 auto;
  }
  /*タブのスタイル*/
  .tab_item {
    width: calc(100%/3);
    height: 50px;
    border-bottom: 3px solid #000;
    background-color: #d9d9d9;
    line-height: 50px;
    font-size: 16px;
    text-align: center;
    color: #565656;
    display: block;
    float: left;
    text-align: center;
    font-weight: bold;
    transition: all 0.2s ease;
  }
  .tab_item:hover {
    opacity: 0.75;
  }
  /*ラジオボタンを全て消す*/
  input[name="tab_item"] {
    display: none;
  }
  /*タブ切り替えの中身のスタイル*/
  .tab_content {
    display: none;
    padding: 0;
    clear: both;
    overflow: hidden;
  }
  /*選択されているタブのコンテンツのみを表示*/
  #all:checked ~ #all_content, #programming:checked ~ #programming_content, #design:checked ~ #design_content {
    display: block;
  }
  /*==header==*/
  header {
    position: relative;
    width: 100%;
    height: 80px;
    background: #fff;
  }
  .head {
    display: flex;
    align-items: center;
    z-index: 10000;
  }
  .head h1 {
    width: 60%;
    margin: 1% 50% 1% 3%;
  }
  .head h1 img {
    width: 80%;
  }
  .menuicon {
    width: 30%;
    padding: 1% 0% 0.5% 3%;
  }
  .menuicon img {
    width: 40%;
  }
  .snsicon {
    display: flex;
    width: 38%;
    justify-content: flex-end;
    padding: 0.5% 0 0 0;
  }
  .snsicon img {
    width: 80%;
  }
  .snsicon figure {
    padding: 1% 10%;
  }
  .fixed {
    position: fixed;
    top: 0;
    left: 0;
  }
  /*メニュー部分*/
  nav {
    display: none;
    position: absolute;
    top: 80px;
    width: 100%;
    background: #70c439;
    left: 0;
  }
  header nav ul {
    display: block;
    margin: 0 auto;
    width: 90%;
    list-style: none;
  }
  header nav ul li {
    margin: 0 auto;
    text-align: center;
  }
  header nav ul li:last-child {
    border: none;
  }
  header nav ul li a {
    display: block;
    color: white;
    font-size: 1em;
    padding: 25px;
  }
  /*開閉ボタン*/
  #nav_toggle {
    display: block;
    width: 50px;
    height: 50px;
    position: relative;
    top: 6px;
    left: 49.7%;
    z-index: 100;
  }
  #nav_toggle div {
    position: relative;
  }
  #nav_toggle span {
    display: block;
    height: 5px;
    background: black;
    position: absolute;
    width: 100%;
    left: 0;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
  }
  #nav_toggle span:nth-child(1) {
    top: 0px;
  }
  #nav_toggle span:nth-child(2) {
    top: 14px;
  }
  #nav_toggle span:nth-child(3) {
    top: 28px;
  }
  /*開閉ボタンopen時*/
  .open #nav_toggle span:nth-child(1) {
    top: 12px;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  .open #nav_toggle span:nth-child(2) {
    width: 0;
    left: 50%;
  }
  .open #nav_toggle span:nth-child(3) {
    top: 12px;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
  /*==header終了==*/
  #sec01 {
    width: 100%;
    background: #333;
    padding: 2%;
  }
  /*==タイピングアニメーション==*/
  @-webkit-keyframes typing {
    from {
      width: 0;
    }
  }
  /*
  @-webkit-keyframes blink-caret {
  50% {
  border-color: #fff;
}
}*/
  .type-js {
    width: 40%;
  }
  .type-js02 {
    width: 60%;
  }
  .text-js {
    /*border-right: .1em solid black;*/
    width: 4em;
    width: 13ch;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    -webkit-animation: typing 5s steps(7, end), blink-caret .5s step-end infinite alternate;
  }
  .text-js02 {
    /*border-right: .1em solid black;*/
    width: 13ch;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    -webkit-animation: typing 5s steps(11, end), blink-caret .5s step-end infinite alternate;
  }
  /*==トップ画==*/
  .text-js, .text-js02 {
    padding: 0;
    font-size: 5em;
    letter-spacing: 10px;
    display: block;
    text-align: left;
    flex-grow: 1.;
    font-family: 'Oswald', sans-serif;
    color: #fff;
  }
  .top01, .top02, .top03 {
    margin: 0 auto;
    width: 95%;
    padding: 0%;
    display: flex;
    align-items: center;
  }
  .gif01 {
    padding-top: 5px;
    width: 18%;
  }
  .top01 {
    justify-content: space-between;
  }
  .top03 {
    justify-content: flex-start;
    margin-bottom: 1em;
  }
  .top04 {
    padding: 2em 5% 0;
    color: gray;
    display: flex;
    width: 100%;
    margin: 0 auto;
    font-size: 1em;
    letter-spacing: 1px
  }
  .top04 p {
    padding: 0.5em;
    margin: 0;
    font-weight: 600;
  }
  .top05 {
    padding: 0 5% 2em;
    color: gray;
    display: flex;
    width: 100%;
    margin: 0 auto;
    font-size: 1em;
    letter-spacing: 1px
  }
  .top05 p {
    padding: 0.5em;
    margin: 0;
    font-weight: 600;
  }
  .top06 {
    padding: 0 5% 0;
    color: gray;
    display: flex;
    width: 100%;
    margin: 4px auto;
    font-size: 1em;
    letter-spacing: 1px
  }
  .top06 p {
    padding: 0.5em;
    margin: 0;
    font-weight: 600;
  }
  .info {
    border: solid black 3px;
    width: 90%;
    height: 30vh;
    margin: 2em auto;
    overflow-y: scroll;
    /*縦方向はスクロール可*/
    overflow-x: scroll;
    /*横方向はスクロール不可*/
  }

  .news01 {
    border-right: 1px solid gray;
    width: 20%;
    text-align: center;
    width: 20%;
  }
  .news0 {
    width: 20%;
  }
  #sec01 figure {
    margin: 10px;
  }
  .news03 {
    background-color: #c11e95;
    color: white;
    width: 10%;
    height: 40px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .news04 {
    width: 60%;
    text-align: left;
  }
  .video {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
  }
  .video iframe {
    position: absolute;
    top: 0;
    left: 2%;
    width: 40%;
    height: 38%;
  }
  .sec000_box_contents01 {
    position: relative;
    height: 300px;
    width: 95%;
    min-width: 820px;
    margin: 2em auto;
    border: 3px solid black;
    padding: 1em;
    display: flex;
  }
  .c000_box_contents_p {
    width: 40%;
    position: absolute;
    font-size: 1em;
    top: 0;
    right: 10%;
    font-weight: 600;
    color: gray;
  }
  /*==2P==*/
  #sec02, #sec04 {
    width: 100%;
    background: #fff;
    position: relative;
    display: block;
  }
  .btn {
    width: 15%;
    margin-left: 70%;
  }
  .left_img {
    width: 70%;
  }
  .right_img {
    width: 40%;
    position: absolute;
    top: 4em;
    right: 0;
    z-index: 2;
  }
  .sec02_box_p {
    width: 50%;
    padding: 14% 0 0 0.5em;
    font-size: 1em;
    margin: 0 auto;
    line-height: 2em;
  }
  /*==3P==*/
  #sec03 {
    margin: 3em 0;
    width: 100%;
  }
  .sec03_title {
    width: 20%;
    padding-left: 10%;
  }
  .sec03_box {
    display: flex;
    justify-content: space-around;
    width: 98%;
    margin: 0 auto;
  }
  .fb_box {
    width: 48%;
    max-width: 600px;
    border: 3px solid black;
  }
  .youtube_box_mini {
    border: 3px solid black;
  }
  .youtube_box {
    width: 48%;
    max-width: 600px;
  }
  .movie-wrap {
    position: relative;
    padding-bottom: 56.25%;
    /*アスペクト比 16:9の場合の縦幅*/
    height: 0;
    overflow: hidden;
  }
  .movie-wrap iframe {
    position: absolute;
    top: 10px;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .sec03_box_contents_title {
    width: 100%;
    text-align: center;
    margin-top: 1.6em;
    font-size: 2em;
    font-weight: bold;
  }
  .sec03_box_contents_title02 {
    width: 100%;
    text-align: center;
    font-size: 1em;
    font-weight: bold;
  }
  .sec03_box_contents_title02 img {
    width: 3%;
  }
  .sec03_box_contents_logo {
    width: 60%;
    padding: 5px;
    margin: 0 auto;
  }
  .sec03_box_contents_logo img {
    width: 100%;
  }
  .fb_box_mini, .twitter_box {
    width: 100%;
    overflow: hidden;
    margin: 0 auto;
  }
  .twitter_page {
    border: solid 3px black;
  }
  .sec_title {
    width: 50%;
    margin: 0 auto;
  }
  .sec03_box01 {
    display: flex;
    width: 90%;
    margin: 1em auto;
    padding: 0 16%;
    justify-content: space-between;
  }
  .sec03_box01 img {
    width: 80%;
  }
  .sec03_box02 {
    margin-left: 41%;
  }
  .title {
    width: 16%;
    margin: 2em auto;
  }
  .sec03_box_contents01 {
    position: relative;
    height: 300px;
    width: 95%;
    min-width: 820px;
    margin: 2em auto;
    border: 3px solid black;
    padding: 1em;
  }
  .sec03_box_contents01 figure {
    width: 12%;
    border: 1px solid gray;
  }
  .sec03_box_contents01 figure img {
    width: 100%;
  }
  .sec03_box_contents01 figcaption {
    width: 28%;
    display: block;
    position: absolute;
    bottom: 20px;
    right: 60px;
  }
  .font {
    color: #70c439;
    font-weight: bold;
  }
  .sec03_p p {
    margin-bottom: 0.5em;
  }
  .sec03_p {
    position: absolute;
    top: 20px;
    left: 19%;
  }
  .fb_box_mini, .twitter_page {
    padding: 5% 13%;
  }
  /*==4P==*/
  .sec04_right_img {
    width: 40%;
    position: absolute;
    padding-top: 4em;
    top: 0;
    z-index: 2;
  }
  #sec04 {
    width: 100%;
    height: 380px;
    margin-top: 8em;
    position: relative;
  }
  .sec04_left_img {
    width: 70%;
    position: absolute;
    right: 0;
  }
  /*==5P==*/
  #sec05 {
    width: 90%;
    display: flex;
    justify-content: space-around;
    margin: 0 auto;
  }
  .PT40 {
    padding-top: 40%;
  }
  .sec05_box img {
    width: 100%;
  }
  .sec05_box02 {
    border: solid 1px;
    padding: 0.5em 1em 1em 1em;
    width: 200px;
    padding: 0.5em;
    height: 200px;
    display: block;
    color: white;
  }
  .sec05_box {
    width: 200px;
    height: 50px;
  }
  /*==profilepage==*/
  .profile {
    margin: 5em auto;
    width: 80%;
    display: flex;
  }
  .profile02 {
    width: 80%;
    margin: 5em auto;
  }
  .profile_wrap {
    margin: 5em auto;
    width: 90%;
  }
  .profile_wrap_inner{
    border-bottom: 1px solid #ddd;
    margin: 5em auto;
  }
  .profile_c {
    margin: 0 auto 3rem;
    width: 100%;
  }
  .profile_left {
    float: left;
    width: 58%;
    padding-right: 4%;
  }
  .profile_right {
    float: right;
    width: 42%;
  }
  .profile_p_txt{
    display: block;
    margin-top: 3rem;
    font-size: 0.88rem;
  }
  .tableBox table{
    border-top: 1px #646464 solid;
  	border-left: 1px #646464 solid;
    margin: 0 auto;
    width: 100%;
    border-collapse: collapse;
      border-spacing: 0;
  }
  .tableBox tr{
    border-bottom: 1px #646464 solid;
    font-size: .88rem;
  }
  .tableBox th{
  	border-right: 1px #646464 solid;
  	font-weight: 300;
  	padding: 0.6rem 1rem;
  }
  .tableBox td{
  	border-right: 1px #646464 solid;
    padding: 0.6rem 1rem;
  }

  .tableBox01 tr{ text-align: left;}
  .tableBox01 th{	width: 20%;}
  .tableBox01 td{ width: 40%;}

  .tableBox02 th {
    text-align: center;
    vertical-align: top;
    background: #3f3f3f;
    color: #fff;
  }
  .tableBox02 td {
    vertical-align: top;
  }
  .profile_left02 {
    width: 100%;
  }
  .retu {
    display: flex;
    width: 100%;
  }
  .retu_p {
    width: 20%;
  }
  .retu > div {
    width: 80%;
    padding-left: 10px;
  }
  .retu figure {
    width: 25%;
  }
  .profile_right02 {
    width: 100%;
  }
  .profile_right02 img {
    width: 100%;
    display: block;
    margin: 0 0 3em 60%;
  }
  .retu_img {
    display: flex;
  }
  /*==footer==*/
  footer {
    width: 100%;
    background-color: azure;
    margin: 2% 0 0 0;
    text-align: center;
    padding: 0.5em;
  }
  footer p {
    margin: 0;
  }
  .sponly {
    display: none;
  }
}
/*==SP用記述==*/
@media screen and (max-width: 767px) {
  /*==general==*/
  body {
    wisdth: 100%;
    min-width: 360px;
  }
  img {
    width: 100%;
  }
  .PConly {
    display: none;
  }
  .midashi {
    font-size: 1.2em;
    font-weight: bold;
  }
  /*==general終了==*/
  /*book*/
  .book {
    height: 60vh;
    padding: 0;
    margin: 0 auto;
    background: url(../img/book_img.jpg) no-repeat top center;
    background-size: contain;
  }
  .center {
    width: 95%;
    margin: 20px auto 0;
    padding: 10px 0 0 0;
    display: flex;
    justify-content: space-around;
  }
  .book .book_item {
    width: 22%;
    position: relative;
    z-index: 100;
  }
  .book_item img {
    width: 100%;
    z-index: 100;
  }
  /*タブ切り替え全体のスタイル*/
  .tabs {
    width: 100%;
    margin: 0 auto;
  }
  /*タブのスタイル*/
  .tab_item {
    width: calc(100%/3);
    height: 30px;
    border-bottom: 3px solid #000;
    background-color: #d9d9d9;
    font-size: 0.6em;
    text-align: center;
    color: #565656;
    display: block;
    float: left;
    text-align: center;
    transition: all 0.2s ease;
    padding: 8px 0 0 0;
  }
  .tab_item:hover {
    opacity: 0.75;
  }
  /*ラジオボタンを全て消す*/
  input[name="tab_item"] {
    display: none;
  }
  /*タブ切り替えの中身のスタイル*/
  .tab_content {
    display: none;
    padding: 0;
    clear: both;
  }
  /*選択されているタブのコンテンツのみを表示*/
  #all:checked ~ #all_content, #programming:checked ~ #programming_content, #design:checked ~ #design_content {
    display: block;
  }
  /*==header==*/
  header {
    position: relative;
    width: 100%;
    height: 50px;
    background: #fff;
  }
  .head {
    display: flex;
    z-index: 10000;
  }
  .head h1 {
    width: 50%;
    margin-top: -5px;
  }
  .head h1 img {
    width: 100%;
  }
  .menuicon {
    width: 20%;
    margin-left: 50px;
    margin-top: 10px;
  }
  .menuicon img {
    width: 50%;
  }
  .snsicon {
    display: flex;
    width: 20%;
    justify-content: flex-end;
    margin-top: 10px;
  }
  .snsicon img {
    width: 100%;
  }
  .snsicon figure {
    padding: 1% 8%;
  }
  .fixed {
    position: fixed;
    top: 0;
    left: 0;
  }
  /*メニュー部分*/
  nav {
    display: none;
    position: absolute;
    top: 50px;
    width: 100%;
    background: #70c439;
    left: 0;
  }
  header nav ul {
    display: block;
    margin: 0 auto;
    width: 100%;
    list-style: none;
    padding: 0;
  }
  header nav ul li {
    margin: 0 auto;
    text-align: center;
  }
  header nav ul li:last-child {
    border: none;
  }
  header nav ul li a {
    display: block;
    color: white;
    font-size: 1em;
    padding: 25px;
  }
  /*開閉ボタン*/
  #nav_toggle {
    display: block;
    width: 34px;
    height: 34px;
    position: relative;
    top: 10px;
    left: 70%;
    z-index: 100;
  }
  #nav_toggle div {
    position: relative;
  }
  #nav_toggle span {
    display: block;
    height: 5px;
    background: black;
    position: absolute;
    width: 100%;
    left: 0;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
  }
  #nav_toggle span:nth-child(1) {
    top: 0px;
  }
  #nav_toggle span:nth-child(2) {
    top: 10px;
  }
  #nav_toggle span:nth-child(3) {
    top: 22px;
  }
  /*開閉ボタンopen時*/
  .open #nav_toggle span:nth-child(1) {
    top: 12px;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  .open #nav_toggle span:nth-child(2) {
    width: 0;
    left: 50%;
  }
  .open #nav_toggle span:nth-child(3) {
    top: 12px;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
  /*==header終了==*/
  /*==トップ画==*/
  /*==タイピングアニメーション==*/
  @-webkit-keyframes typing {
    from {
      width: 0;
    }
  }
  #sec01 {
    width: 100%;
    min-width: 360px;
    background: #333;
    position: relative;
  }
  .text-js {
    /*border-right: .1em solid black;*/
    margin: 0 4px;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    -webkit-animation: typing 5s steps(7, end), blink-caret .5s step-end infinite alternate;
  }
  .text-js02 {
    /*border-right: .1em solid black;*/
    margin: 0 4px;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    -webkit-animation: typing 5s steps(11, end), blink-caret .5s step-end infinite alternate;
  }
  .text-js, .text-js02 {
    padding: 0 0 0 2px;
    font-size: 4.8em;
    letter-spacing: 2px;
    display: block;
    text-align: left;
    font-family: 'Oswald', sans-serif;
    color: #fff;
  }
  .item001 {
    position: absolute;
    right: 1em;
    top: 20%;
    width: 20%;
  }
  .item002 {
    margin: 10px 0 0 180px;
    width: 50%;
  }
  .item003 {
    position: absolute;
    top: -210%;
    left: 2%;
    width: 22%;
  }
  .item004 {
    width: 22%;
    margin: 0 0 0 72%;
  }
  .item005 {
    position: absolute;
    top: 120px;
    left: 10px;
    width: 26%;
  }
  .item006 {
    position: absolute;
    top: -38%;
    left: 36%;
    width: 22%;
  }
  .item007 {
    margin: 0 0 0 10px;
    width: 80%;
    padding: 2em 0;
  }
  .top01, .top02, .top03 {
    position: relative;
  }
  .top04 {
    padding: 0;
    color: gray;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    font-size: 0.8em;
  }
  .top04 p {
    padding: 0;
    margin: 0 auto;
    font-weight: 600;
  }
  .top05 {
    padding: 0 0 10px;
    color: gray;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 0.5em;
    font-size: 0.8em;
  }
  .top05 p {
    padding: 0;
    margin: 0 auto;
    font-weight: 600;
  }
  .top06 {
    padding: 0 0 10px;
    color: gray;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 0.5em;
    font-size: 0.8em;
  }
  .top06 p {
    padding: 0;
    margin: 0 auto;
    font-weight: 600;
  }
  .top04 .news01 {
    border-bottom: 1px solid gray;
    text-align: center;
    align-content: center;
    font-size: 1.2em;
    width: 100%;
    margin: 0.5em;
  }
  .news01 {
    text-align: center;
    align-content: center;
    width: 100%;
  }
  .news02 {
    height: 1em;
    width: 20%
  }
  .news03 {
    background-color: #c11e95;
    color: white;
    padding-top: 1em;
    width: 10%;
    height: 2.5vh;
    text-align: center;
    font-size: 0.8em;
	display: flex;
    justify-content: center;
    align-items: center;
  }
   .info {
    border: solid black 3px;
    width: 90%;
    height: 30vh;
    margin: 2em auto;
    overflow-y: scroll;
    /*縦方向はスクロール可*/
    overflow-x: scroll;
    /*横方向はスクロール不可*/
  }
  .news04 {
    width: 70%;
    text-align: left;
  }
  .video {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
  }
  .video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50%;
  }
  .sec000_box_contents01 {
    margin: 2em auto;
    border: 3px solid black;
    padding: 1em;
  }
  .c000_box_contents_p {
    font-size: 1em;
    font-weight: 600;
    color: gray;
  }
  /*==2P==*/
  #sec02, #sec04 {
    width: 100%;
    background: #fff;
    position: relative;
  }
  .left_img img {
    width: 100%;
  }
  .left_img {
    width: 100%;
  }
  .right_img {
    width: 45%;
    z-index: 2;
    position: absolute;
    top: 9em;
  }
  .sec02_box_p {
    width: 100%;
    padding: 9em 5px 0;
    font-size: 0.8em;
    margin: 0 auto;
    line-height: 1.5;
  }
  /*==3P==*/
  #sec03 {
    margin: 0;
    width: 100%;
  }
  .sec03_title {
    width: 20%;
  }
  .sec03_box {
    width: 100%;
    margin: 0 auto;
  }
  .fb_box {
    width: 100%;
    max-width: 600px;
    height: 500px;
    border: 2px solid black;
    overflow: hidden;
  }
  .youtube_box_mini {
    border: 2px solid black;
  }
  .youtube_box {
    width: 100%;
    max-width: 600px;
  }
  .movie-wrap {
    position: relative;
    padding-bottom: 56.25%;
    /*アスペクト比 16:9の場合の縦幅*/
    height: 0;
    overflow: hidden;
  }
  .movie-wrap iframe {
    position: absolute;
    top: 10px;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .sec03_box_contents_title {
    width: 100%;
    text-align: center;
    margin-top: 0.8em;
    font-size: 1.2em;
    font-weight: bold;
  }
  .sec03_box_contents_title02 {
    width: 100%;
    text-align: center;
    font-size: 0.8em;
    font-weight: bold;
  }
  .sec03_box_contents_title02 img {
    width: 3%;
  }
  .sec03_box_contents_logo {
    width: 70%;
    margin: 0 auto;
  }
  .sec03_box_contents_logo img {
    width: 100%;
  }
  .fb_box_mini, .twitter_box {
    width: 100%;
    overflow: hidden;
    margin: 0 auto;
  }
  .twitter_page {
    border: solid 2px black;
  }
  .sec_title {
    width: 50%;
    margin: 0 auto;
  }
  .sec03_box01 {
    width: 50%;
    margin: 0.5em auto;
  }
  .sec03_box01 img {
    width: 100%;
  }
  .sec03_box02 {
    margin-left: 41%;
  }
  .title {
    width: 16%;
    margin: 2em auto;
  }
  .sec03_box_contents01 {
    position: relative;
    width: 100%;
    margin: 1em auto;
    border: 2px solid black;
    padding: 5px;
    font-size: 0.8em;
  }
  .sec03_box_contents01 figure {
    width: 30%;
    border: 1px solid gray;
    margin: 10px auto;
  }
  .sec03_box_contents01 figure img {
    width: 100%;
  }
  .sec03_box_contents01 figcaption {
    width: 60%;
    display: block;
    margin: 1em auto;
  }
  .font {
    text-align: center;
    color: #70c439;
    font-weight: bold;
  }
  .sec03_p p {
    margin: 0 auto;
    width: 60%;
  }
  .fb_box_mini, .twitter_page {
    padding: 1% 2%;
  }
  /*==4P==*/
  .sec04_right_img {
    width: 50%;
    position: absolute;
    top: -80px;
    right: 10px;
    z-index: 2;
    overflow: hidden;
  }
  #sec04 {
    width: 100%;
    height: 380px;
    margin-top: 7em;
    position: relative;
    padding-bottom: 180px;
  }
  .sec04_left_img {
    width: 120%;
    position: absolute;
    right: 0;
  }
  /*==5P==*/
  #sec05 {
    width: 95%;
    margin: 0 auto;
  }
  .sec05_box02 {
    margin: 0 auto;
    width: 50%;
    display: block;
  }
  .sec05_box {
    width: 50%;
    margin: 1em auto;
  }
  /*==profilepage==*/
  .profile {
    margin: 3em auto;
    width: 90%;
    font-size: 0.7em;
  }
  .profile h2 {
    white-space: nowrap;
  }
  .profile02 {
    width: 100%;
    margin: 3em auto;
    font-size: 0.7em;
  }

  .profile_wrap {
    margin: 5em auto;
    width: 90%;
  }
  .profile_wrap_inner{
    border-bottom: 1px solid #ddd;
    margin: 5em auto;
  }
  .profile_c {
    margin: 0 auto 3rem;
    width: 100%;
  }
  .profile_left {
    float: none;
    width: 100%;
    padding-right: 0%;
  }
  .profile_right {
    float: none;
    margin: 0 auto;
    width: 80%;
  }

  .tableBox table{
    border-top: 1px #646464 solid;
    border-left: 1px #646464 solid;
    margin: 0 auto;
    width: 100%;
    border-collapse: collapse;
      border-spacing: 0;
  }
  .tableBox tr{
    border-bottom: 1px #646464 solid;
    font-size: .88rem;
  }
  .tableBox th{
    border-right: 1px #646464 solid;
    font-weight: 300;
    padding: 0.6rem 1rem;
  }
  .tableBox td{
    border-right: 1px #646464 solid;
    padding: 0.6rem 1rem;
  }

  .tableBox01 tr{ text-align: left;}
  .tableBox01 th{	width: 20%;}
  .tableBox01 td{ width: 40%;}

  .tableBox02 th {
    text-align: center;
    vertical-align: top;
    background: #3f3f3f;
    color: #fff;
  }
  .tableBox02 td {
    vertical-align: top;
  }
  .profile_left02 {
    width: 100%;
  }
  .profile_left02 {
    width: 100%;
  }
  .retu {
    display: flex;
    width: 100%;
  }
  .retu_p {
    width: 20%;
    margin-left: 4px;
  }
  .retu > div {
    width: 80%;
    padding-left: 5px;
  }
  .retu figure {
    width: 60%;
  }
  .profile_right02 {
    width: 100%;
  }
  .profile_right02 img {
    width: 100%;
    display: block;
    margin: 0 0 3em 30%;
  }
  .retu_img {
    display: flex;
  }

  /*ボックス全体*/
  .accbox {
      margin: 0 0 0.5rem;
      padding: 0;
      max-width: 100%;/*最大幅*/
  }

  /*ラベル*/
  .accbox label {
    display: block;
    margin: 1.5px 0;
    color: #2f8fcf;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.5s;
    width: 100%;
  }

  /*ラベルホバー時*/
  .accbox label:hover {
    color: #85baef;
  }

  /*チェックは隠す*/
  .accbox input {
      display: none;
  }

  /*中身を非表示にしておく*/
  .accbox .accshow {
      height: 0;
      padding: 0;
      overflow: hidden;
      opacity: 0;
      transition: 0.8s;
  }

  /*クリックで中身表示*/
  .cssacc:checked + .accshow {
    height: auto;
    padding: 1rem;
    background: #f2f2f2;
    opacity: 1;
  }


  /*==footer==*/
  footer {
    width: 100%;
    background-color: azure;
    margin: 2% 0 0 0;
    text-align: center;
    padding: 0.5em;
  }
  footer p {
    margin: 0;
  }
  .sponly {
    display: none;
  }
  .TABnone {
    display: none;
  }

  /*==footer==*/
  footer {
    width: 100%;
    background-color: azure;
    text-align: center;
    padding: 0.5em;
  }
  footer p {
    margin: 0;
  }
}
