@charset "utf-8";
@media screen and (min-width: 1021px) {
  /**************************************************PC メイン画像**************************************************/
  #h_main h2 img {
    width: 188px;
  }
#nav {
    text-align: center;
    margin-top: 110px;
}
#nav li {
    display: inline-block;
    margin-right: 50px;
    margin-left: 50px;
    font-size: 15px;
    line-height: 17px;
}
#nav li a .off {
    color: #cdcdcd;
}
#nav li a .on {
    color: #ff3800;
}
#block1 {
    position: relative;
    overflow: hidden;
}
#block1 h3 {
    color: #ff6033;
    font-weight: 300;
    text-align: center;
    background-image: url(../images/requirements/pc/title1.png);
    width: 223px;
    height: 198px;
    position: absolute;
    right: 0px;
    left: 0px;
    margin-right: auto;
    margin-left: auto;
    margin-top: 110px;
    padding-top: 40px;
}
#block1 .box{
    background-color: #f2efef;
    margin-top: 260px;
    padding-top: 120px;
    padding-bottom: 120px;
}
h4 {
    display: none;
}
.tab_content_description dl {

}
.tab_content_description dl dt {
    float: left;
    box-sizing: border-box;
    width: 199px;
    padding-left: 50px;
    padding-top: 20px;
    padding-bottom: 20px;
    border-top: 1px dashed #d6d3d3;
}
.tab_content_description dl dd {
    margin-left: 199px;
    padding-right: 30px;
    padding-top: 20px;
    padding-bottom: 20px;
    border-top: 1px dashed #d6d3d3;
}
.tab_content_description .list_table .no_border {
    border-top-style: none;
}
.tab_content_description dl .no_border {
    border-top-style: none;
}
/**************************************************PC contact**************************************************/
  #contact {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 150px;
    max-width: 1440px;
    text-align: center;
    position: relative;
  }
#contact h2 {
    color: #f73b09;
    font-size: 16px;
    line-height: 26px;
    font-weight: 300;
    background-image: url("../images/requirements/pc/entry.png");
    width: 79px;
    height: 190px;
    text-align: center;
    background-position: center top;
    padding-top: 28px;
    margin-right: auto;
    margin-left: auto;
    position: absolute;
    left: 0px;
    right: 0px;
}
#contact .c_wrap{
    padding-top: 150px;
}
#contact .contact {
    background-image: url("../images/requirements/pc/entry_bg.jpg");
    height: 243px;
    width: 100%;
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    background-position: center top;
    overflow: hidden;
    background-size: cover;
}
#contact .btn{
    margin-top: 110px;
}
#contact p a {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 270px;
    height: 44px;
    color: #ffffff;
    text-align: center;
/*    line-height: 44px;*/
    line-height: 250%;
    border: 1px solid #ff3800;
    background-color: #ff3800;
}
#contact p a:hover {
    color: #ff3800;
    text-align: center;
    background-color: #ffffff;
    opacity: 1 ;
}


/*タブ切り替え全体のスタイル*/
.tabs {
  
  background-color: #fff;
  width: 810px;
  margin: 0 auto;}
.space {
    border-right: 5px solid #f2efef;
}
/*タブのスタイル*/
.tab_item {
    width: 270px;
    background-color: #d7d7d7;
    line-height: 28px;
    font-size: 20px;
    text-align: center;
    color: #5e5e5e;
    display: block;
    float: left;
    text-align: center;
    transition: all 0.4s ease;
    padding-top: 20px;
    padding-bottom: 20px;
    cursor: pointer;
}
.tab_item:hover {
  opacity: 0.75;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
    display: none;
    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: #ffffff;
    color: #000;
    background-image: url(../images/requirements/pc/color.png);
    background-repeat: repeat-x;
    background-position: left top;
}
}

@media screen and (max-width:1020px) {
  /**************************************************SP メイン画像**************************************************/
  #h_main h2 img {
    width: 101px
  }
  #nav {
    text-align: center;
    margin-top: 65px;
  }
  #nav li {
    display: inline-block;
    margin-right: 20px;
    margin-left: 20px;
    font-size: 13px;
    line-height: 23px;
  }
  #nav li a .off {
    color: #cdcdcd;
  }
  #nav li a .on {
    color: #ff3800;
  }
  #block1 {
    position: relative;
    overflow: hidden;
  }
  #block1 h3 {
    color: #ff6033;
    font-weight: normal;
    text-align: center;
    background-image: url(../images/requirements/pc/title1.png);
    width: 223px;
    height: 198px;
    position: absolute;
    right: 0px;
    left: 0px;
    margin-right: auto;
    margin-left: auto;
    margin-top: 110px;
    padding-top: 40px;
  }
  #block1 .box {
    margin-top: 50px;
  }
 h4 {
    font-weight: normal;
    font-size: 15px;
    line-height: 17px;
    margin-top: 50px;
    text-align: center;
}
  .tab_content_description dl dt {
    background-color: #f2f2f2;
    padding-left: 10px;
    padding-right: 10px;
    margin-top: 30px;
}
.tab_content_description dl dd {
    padding-right: 10px;
    padding-left: 10px;
}
  /**************************************************SP contact**************************************************/
  #contact {
    margin-top: 50px;
    position: relative;
  }
  #contact h2 {
    color: #f73b09;
    font-size: 13px;
    line-height: 26px;
    font-weight: normal;
    background-image: url("../images/requirements/sp/entry.png");
    background-size: 60px 131px;
    width: 60px;
    height: 131px;
    text-align: center;
    background-position: center top;
    padding-top: 20px;
    margin-right: auto;
    margin-left: auto;
    position: absolute;
    left: 0px;
    right: 0px;
  }
  #contact .c_wrap {
    padding-top: 95px;
  }
  #contact .contact {
    background-image: url(../images/requirements/sp/entry_bg.jpg);
    background-size: cover;
    height: 195px;
    width: 100%;
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    background-position: center top;
    overflow: hidden;
    background-size: cover;
  }
  #contact p {
    margin-top: 80px;
  }
  #contact p a {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 50%;
    max-width: 200px;
    height: 36px;
    color: #ffffff;
    text-align: center;
/*    line-height: 36px;*/
    line-height: 250%;

    border: 1px solid #ff3800;
    background-color: #ff3800;
  }
  #contact p a:hover {
    color: #ff3800;
    text-align: center;
    background-color: #ffffff;
    opacity: 1;
  }

  /*タブ切り替え全体のスタイル*/
  .tabs {
    background-color: #fff;
    width: 84.6%;
    margin: 0 auto;
  }
  .space {
    margin-bottom: 10px;    
  }
  /*タブのスタイル*/
  .tab_item {
    width: 100%;
    background-color: #d7d7d7;
    line-height: 26px;
    font-size: 13px;
    text-align: center;
    color: #5e5e5e;
    display: block;
    text-align: center;
    transition: all 0.4s ease;
    margin-right: auto;
    margin-left: auto;
    height: 26px;
    border: 1px solid #d7d7d7;
  }
  .tab_item:hover {
    opacity: 0.75;
  }
  /*ラジオボタンを全て消す*/
  input[name="tab_item"] {
    display: none;
  }
  /*タブ切り替えの中身のスタイル*/
  .tab_content {
    display: none;
    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: #ffffff;
    color: #ff3800;
    border: 1px solid #ff3800;
  }
}

