.top_width {
  width: 980px;
  margin: 0 auto;
}

@media screen and (max-width:1024px) {
  .top_width {
    width: 100%;
  }
}

/* ヘッダーここから
.h1_li{overflow:hidden;}
.hd_title_box li{float:right;}
.hd_title_box li:nth-child(1){float:left;}
#header {width: 100%; height:173px; position: relative;}
#hd_font {float: right; margin: 10px 0px 3px 0px;}
#hd_font p {font-size:12px; margin-right:3px;}
#hd_title {margin-top:18px; padding:0; float:left;}
#hd_tel {margin-top:18px; padding: 0; float:right;}
#navi {line-height: 0; position: absolute; bottom: 0px;}
#navi table{border-collapse: collapse; border: none;}
#hd_sp_icon {width: 128px; float: right; display:none;}
#nav_sp {float:right; display:none; margin: 5px 5px 0px 0px; width: 56px;}
#hd_es_sp {float:right; display:none; margin: 5px 5px 0px; max-width:56px;}

@media screen and (max-width:1024px) {
#header {width: 100%; height:auto;}
#navi {display:none;}
#nav_sp {display:block;}
#hd_tel {display:none;}
#hd_font {display:none;}
#hd_sp_icon {display:block; position: absolute; top: 0; right: 0;}
#hd_es_sp {display:block;}
#hd_title {margin-top:0px; padding:5px 0 0 5px;}
#hd_title img{ width: auto; max-height:56px;}
}

@media screen and (max-width:480px) {
#hd_title {margin-top:0px; padding:5px 0 0 5px; width: 100%; max-width:80%;}
}
 */
/* ヘッダーここまで */

/* サイドＡここから */
#sub {
  width: 230px;
}

#sub_cnt01,
#sub_cnt02,
#sub_cnt03 {
  width: 100%;
}

#sub_cnt01 img,
#sub_cnt02 img,
#sub_cnt03 img,
#sub img {
  margin: 0 0 10px;
}

@media screen and (max-width:1024px) {
  #sub {
    display: none;
  }
}

/* left contentsB [ navigation ] */
.RSbNav1 {
  font-size: 13px;
  vertical-align: baseline;
  list-style: none;
}

.RSbNav1 li {
  zoom: 1;
  vertical-align: baseline;
  list-style: none;
}

.RSbNav1 li a.CA1 {
  margin-bottom: 5px;
  display: block;
  padding: 0px 0;
  color: #3e3d3d;
  text-decoration: none;
  border-bottom: 1px solid #999;
}

.RSbNav1 li a.CA1 .CS1 {
  display: block;
  padding: 4px 15px 4px 15px;
  letter-spacing: -1px;
}

.RSbNav1 li a.CA1:hover {
  color: #333;
}

.RSbNav1 li a.CA1:before {
  left: 4px;
  box-sizing: border-box;
  width: 4px;
  height: 4px;
  border: 4px solid transparent;
  border-left: 4px solid #7a0;
}

.CA1 {
  position: relative;
}

.CA1::after,
.cat-item a::after {
  position: absolute;
  top: 50%;
  left: .2em;
  content: '';
  margin-top: -5px;
  border: 7px solid transparent;
  border-top-width: 5px;
  border-bottom-width: 5px;
  border-left-color: #333;
  transition: all .2s;
}

.CA1:hover::after {
  left: .3em;
}

.RSbNav2 {
  padding-left: 15px;
}

/* サイドＡここまで */

/* フッターここから */
#RFtNav1 li {
  color: #333;
  display: inline-block;
  border-left: 1px solid #333;
  padding: 0px 0px 0px 12px;
  margin: 0px 10px 2px 0px;
  font-size: 93%;
}

#RFtNav1 a {
  color: #333;
}

#footer_cnt01 {
  width: 100%;
  overflow: hidden;
}

#footer_cnt01 ul {
  margin: 0 auto;
  width: 960px;
  list-style: none;
  overflow: hidden;
}

#footer {
  margin: 0 auto;
  padding-top: 40px;
  width: 940px;
}

#footer_cnt04 {
  width: 100%;
  text-align: left;
  margin: 10px 0;
  color: #333;
}

#footer_cnt04 br {
  display: none;
}

#footer_left {
  width: 64%;
  float: left;
}

#footer_info {
  width: 36%;
  text-align: center;
}

.footer_info_inner {
  width: 89%;
  float: right;
  border: solid 1px #000;
  padding: 6% 5% 15px 5%;
  box-sizing: border-box;
  background: #707070;
}

.footer_info_text {
  text-align: left;
  margin-bottom: 40px;
  font-size: 90%;
  padding: 6% 0 0 0;
  line-height: 1.3em;
  letter-spacing: -1px;
  color: #333;
}

#footer_area_description {
  margin: 5% 0 3%;
  color: #333;
}


@media screen and (max-width:1024px) {
  #footer_cnt01 img {
    width: 100%;
  }

  #footer_cnt01 ul {
    width: 100%;
  }

  #footer_cnt01 li {
    width: 33.3%;
    padding: 10px;
    margin: 0;
    box-sizing: border-box;
    float: left;
  }

  #footer {
    width: 96%;
    padding: 0 2%;
    box-sizing: border-box;
  }

  #footer_cnt04 {
    width: 100%;
    text-align: center;
    margin-bottom: 4%;
  }

  #footer_cnt04 ul {
    margin: 0 10px;
  }

  .footer_info_inner {
    padding: 5% 9% 15px 9%;
  }

  #RFtNav1 li {
    margin: 6px;
  }
}

@media only screen and (max-width: 750px) {
  #footer_cnt04 {
    margin-bottom: 9%;
    text-align: center;
  }

  #footer_info {
    width: 100%;
    margin-top: 5%;
    padding: 0 1%;
    box-sizing: border-box;
  }

  .footer_info_inner {
    width: 100%;
  }

  #footer_left {
    width: 100%;
  }

}

@media only screen and (max-width: 750px) {
  #footer_cnt04 {
    color: #fff;
  }

  #footer {
    width: 100%;
  }

  ul#RFtNav1 {
    padding: 5% 1%;
  }

  #footer_cnt01 {
    display: none;
  }
}

@media only screen and (max-width: 480px) {
  #footer_cnt04 br {
    display: block;
  }

  #footer {
    width: 100%;
    background: #707070;
    overflow: hidden;
  }

  #footer_cnt04 {
    color: #fff;
  }

  #RFtNav1 li {
    border-color: #fff;
  }

  #RFtNav1 a {
    color: #fff;
  }
}

/* フッターここまで */

/* スライダーｏｒキャッチここから */
/* スライダーｏｒキャッチここまで */

/* ＴＯＰコンテンツここから */
/* ＴＯＰ事例・声ここから */
/* フレームここから */
.works_box .pic_frame,
.pic_frame {
  /*box-shadow: 0 0 0 1px #29241e inset;*/
  margin-bottom: 3%;
  border: none;
  position: relative;
  height: 0;
  padding-bottom: 75%;
  overflow: hidden;
}

.works_wrapper .works_box .pic_frame,
.pic_frame {
  /* padding-bottom: 75%; */
}

.entry_voice_box_pic .pic_frame {
  height: auto;
  padding-bottom: 0;
}

.entry_voice_box_pic {
  float: left;
  margin: 0 2% 0 0;
  max-width: 50%;
}

.works_box .pic_frame2,
.pic_frame2 {
  /*box-shadow: 0 0 0 4px #fff inset;*/
  margin-bottom: 3%;
  border: none;
}

.pic_frame_img {
  z-index: -1;
  position: relative;
  vertical-align: bottom;
  -webkit-transform: translate3d(0, 0, 0);
}

/* フレームここまで */
.all_listbox {
  width: 100%;
  /*overflow: hidden;*/
}

.all_listbox:after {
  content: "";
  display: block;
  clear: both;
}


.works_block_top ul .works_block2 li {
  width: 100%;
  padding: 0px;
}

.works_block_top {
  float: left;
  margin: 0 0 2%;
  text-align: center;
  width: 33.3%;
}

.works_block_top2 ul li {
  padding: 0 1%;
}

.works_block_top2 ul .works_block2 li {
  width: 100%;
  padding: 0px;
}

.works_block_top2 {
  float: left;
  margin: 0 0 2%;
  text-align: center;
  width: 33.3%;
}

.works_block ul .works_block2 li {
  width: 98%;
  padding: 0px;
}

.works_block {
  width: 48%;
  float: left;
  margin: 1%;
  text-align: center;
}

.works_block ul {
  list-style: none;
  line-height: 1.5;
}

.works_box {
  margin: 3% auto 2%;
  width: 100%;
  max-width: 940px;
}

.works_box .h2_works_box {
  float: left;
  width: 220px;
  box-sizing: border-box;
}

.works_box .list_box {
  float: right;
  width: 720px;
  box-sizing: border-box;
}

.works_box .list_box2 {
  float: right;
  width: 100%;
}

.works_box .works_block2 p {
  color: #666;
}

.works_box .list_box2 .works_block_top {
  width: 220px;
  margin-left: 0px;
  margin-right: 20px;
}

.works_box .works_block_top {
  width: 220px;
  margin-left: 20px;
}

.works_box .works_block2 .works_box_client,
.works_box .works_block2 .works_box_category {
  margin: 2% 3%;
  width: 94%;
}

.works_box .works_box_category span {
  font-size: 107%;
}

.works_box .works_box_date {
  margin: 0 5px;
}

.works_box .works_box_ccomment a {
  color: #666;
}

.works_box .h2_voice_box {
  float: left;
  width: 220px;
  box-sizing: border-box;
}

.works_box .works_block_top2 {
  width: 220px;
  margin-left: 20px;
}

.works_block_top2 ul .works_block2 .works_box_client {
  margin: 3% 3%;
  font-size: 107%;
  width: 94%;
}

.dousen_top {
  margin: 1% 0;
}

.dousen_top_inner {
  width: 100%;
  max-width: 960px;
  margin: 0px auto;
}

.dousen_top img {
  width: 100%;
}

@media screen and (max-width:1024px) {
  .all_listbox {
    width: 100%;
    height: auto;
    margin: 0 0 0 0%;
    /*overflow: hidden;*/
  }

  .works_block_top {
    width: 33.3%;
  }

  .works_block_top img {
    width: 100%;
  }

  .works_block_top2 {
    width: 33.3%;
  }

  .works_block_top2 img {
    width: 100%;
  }

  .works_block_top ul li {
    width: 98%;
    margin: 0px 1%;
    padding: 0px;
    float: left;
  }

  .works_block_top ul .works_block2 li {
    width: 100%;
    padding: 0px;
    float: right;
  }

  .works_block_top2 ul li {
    width: 98%;
    margin: 0px 1%;
    padding: 0px;
    float: left;
  }

  .works_block_top2 ul .works_block2 li {
    width: 100%;
    padding: 0px;
    float: right;
  }

  .works_block2 p {
    padding: 0px 15px;
  }

  .works_box .h2_voice_box {
    float: left;
    width: 25%;
    box-sizing: border-box;
    padding: 0;
  }

  .works_box .works_block_top2 {
    width: 33.3%;
    margin-left: auto;
    padding: 0 0 0 2%;
    box-sizing: border-box;
  }

  .works_box .h2_works_box {
    float: left;
    width: 25%;
    box-sizing: border-box;
    padding: 0;
  }

  .works_box .list_box {
    float: right;
    width: 75%;
    box-sizing: border-box;
  }

  .works_box {
    width: 96%;
    margin: 2% auto;
  }

  .works_box .works_block_top {
    width: 33.3%;
    margin-left: auto;
    padding: 0 0 0 2%;
    box-sizing: border-box;
  }

  .works_box .list_box2 .works_block_top {
    width: 24%;
    margin-right: 1%;
  }
}

@media screen and (max-width:768px) {
  .works_block_top {
    width: 100%;
    margin: 0 0 4%;
  }

  .works_block_top2 {
    width: 100%;
    margin: 0 0 4%;
  }

  .works_block_top ul li {
    width: 48%;
  }

  .works_block_top2 ul li {
    width: 48%;
  }

  .works_dousen {
    display: none;
  }

  .works_block {
    width: 100%;
    float: left;
    margin: 1%;
    text-align: center;
  }

  .works_block ul {
    list-style: none;
  }

  .works_block ul li {
    width: 48%;
    float: left;
  }

  .works_block ul .works_block2 li {
    float: right;
    padding: 0 1%;
  }

  .works_block ul .works_block2 {
    width: 100%;
    float: right;
    margin: 0;
    text-align: center;
  }

  .works_box .works_block_top2 ul li {
    width: 98%;
  }

  .works_box .works_block_top ul li {
    width: 98%;
  }

  .works_box_ccomment {
    display: none;
  }
}

@media screen and (max-width:640px) {
  .works_box {
    width: 100%;
  }

  .works_box .h2_works_box {
    float: left;
    width: 100%;
    margin: 10px 0 2%;
  }

  .works_box .list_box {
    float: right;
    width: 100%;
  }

  .works_box .list_box2 .works_block_top {
    width: 98%;
    margin: 1%;
  }

  .works_box .works_block_top {
    width: 98%;
    margin: 0 1% 2%;
    padding: 0;
  }

  .works_box .works_block_top ul li {
    width: 48%;
  }

  .works_dousen {
    margin: 0 2px 5%;
  }

  .works_box_ccomment {
    display: block;
  }

  .works_box .works_block_top ul li .works_block2 li {
    width: 100%;
  }

  .works_block_top ul .works_block2 .works_box_client {
    margin: 3% 0%;
    font-size: 107%;
  }

  .works_box .h2_voice_box {
    float: left;
    width: 100%;
    margin: 0% 0 2%;
  }

  .works_box .works_block_top2 {
    width: 98%;
    margin: 0 1% 2%;
    padding: 0;
  }

  .works_box .works_block_top2 ul li {
    width: 48%;
  }

  .works_box .works_block_top2 ul li .works_block2 li {
    width: 100%;
  }

  .works_block_top2 ul .works_block2 .works_box_client {
    margin: 3% 0%;
    font-size: 107%;
  }
}

@media screen and (max-width:480px) {
  .works_block2 p {
    padding: 0px 5px;
  }

  .works_block ul .works_block2 {
    width: 100%;
    float: right;
    margin: 0;
    text-align: center;
  }

  .works_box .works_block_top ul li {
    width: 98%;
  }

  .works_box .works_block_top2 ul li {
    width: 98%;
  }
}

@media only screen and (max-width: 360px) {
  .all_listbox {
    width: 100%;
    height: auto;
    margin: 0 0.5%;
    /*overflow: hidden;*/
  }

  .works_block_top ul li {
    width: 98%;
    margin: 0 1%;
  }

  .works_block_top2 ul li {
    width: 98%;
    margin: 0 1%;
  }

  .works_block ul .works_block2 li {
    float: right;
    padding: 0 1%;
  }
}

@media only screen and (min-width: 0px) and (max-width: 320px) {
  .works_block ul .works_block2 {
    width: 50%;
  }
}

/*add*/
.works_block ul .works_block2 {
  padding: 5px 20px 13px;
  box-sizing: border-box;
  font-size: 16px !important;
}

.works_block ul .works_block2 p {
  font-size: 16px !important;
  line-height: 1.75em;
  color: #434343;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  letter-spacing: 0.01em;
  padding: 15px 0 5px 0 !important;
  font-weight: 400;
}

.works_block ul .works_block2 .works_dousen {
  display: none;
}

@media only screen and (max-width: 360px) {
  .works_block ul .works_block2 {
    padding: 5px 15px 13px;
  }
}

/* ＴＯＰ事例・声ここまで */

/* ＴＯＰコンテンツここまで */

/* フッター導線ここから */
#sub_r {
  position: absolute;
  top: 0px;
  width: 150px;
  height: 182px;
  margin: 220px 0px 0px 985px;
  z-index: 9999;
}

#sub_r p {
  width: 108px;
  height: 179px;
  background: url('../images/banner.png') no-repeat scroll 0px 0px transparent;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

#sub_ft table,
#sub_r table,
#sub_ft_sp table {
  border-collapse: collapse;
  border: none;
}

#sub_ft_box {
  width: 980px;
  margin: 0 auto;
}

#sub_ft {
  position: fixed;
  top: 100%;
  width: 970px;
  height: 102px;
  margin: -102px 0px 0px;
  z-index: 99;
  line-height: 0;
}

#sub_ft a:hover img {
  opacity: 1;
  filter: alpha(opacity=100);
  -ms-filter: "alpha( opacity=100 )";
}

#sub_ft_sp {
  position: fixed;
  bottom: 0px;
  width: 100%;
  height: auto;
  margin: 0px;
  z-index: 99;
  line-height: 0;
  display: none !important;
  left: 0;
}

#sub_ft_sp img {
  width: 100%;
}

#sub_ft img {
  width: 100%;
}


@media screen and (max-width:1024px) {
  #sub_r {
    display: none !important;
  }

  #sub_ft {
    display: none !important;
    width: 100%;
  }

  #sub_ft_sp {
    display: block !important;
  }

  #sub_ft,
  #sub_ft_box {
    width: 100%;
  }

  #sub_ft {
    height: 10.1%;
    margin: -10.1% 0px 0px;
  }
}

/* フッター導線ここまで */

/* 下層コンテンツここから */
/* 下層共通部分ここから */
/* ぱんくずここから */
.top_infoarea {
  margin-top: 10px;
  overflow: hidden;
}

#RCrumb1 {
  margin-top: 5px;
  margin-bottom: 5px;
}

#RCrumb1 li {
  display: inline;
  margin-right: 6px;
  padding-left: 12px;
  background: url(../img/base/BgRCrumb1.gif) 0 50% no-repeat;
}

#RCrumb1 .RFirst {
  background: none;
  padding-left: 0px;
}

@media screen and (max-width:1024px) {
  #RCrumb1 {
    margin-left: 5px;
  }
}

@media screen and (max-width:640px) {
  .top_infoarea {
    margin-top: 0;
  }
}

/* ぱんくずここまで */

/* ３点バナーここから */
#three_banner {
  overflow: hidden;
  width: 100%;
  margin: 0px 0px 3%;
}

#three_banner ul {
  margin-left: 0px;
  padding: 0px;
  list-style: none outside none;
  width: 732px;
  line-height: 0;
}

#three_banner ul li {
  float: left;
  margin: 15px 4px 0px 0px;
  width: 240px;
}

#three_banner_970 {
  width: 100%;
  overflow: hidden;
}

#three_banner_970 ul {
  margin: 1% auto;
  padding: 0px;
  list-style: none outside none;
  line-height: 0;
  width: 984px;
}

#three_banner_970 ul li {
  float: left;
  margin: 1% 4px 0px 0px;
  width: 324px;
}

@media screen and (max-width:1024px) {
  #three_banner ul {
    width: 100%;
  }

  #three_banner ul li {
    margin: 0 0px 5px 1%;
    width: 32%;
    float: left;
  }

  #three_banner_970 ul {
    width: 100%;
  }

  #three_banner_970 ul li {
    margin: 1% 0px 0px 1%;
    width: 32%;
  }
}

@media only screen and (max-width: 360px) {
  #three_banner ul li {
    margin: 1% 1% 0px;
    width: 98%;
  }

  #three_banner_970 ul li {
    margin: 1% 1% 0px;
    width: 98%;
  }
}

/* ３点バナーここまで */

/*SNSボタン ここから*/

.Socialbtn {
  text-align: right;
  margin: 0px 0px 0px 0px;
  float: right;
}

.Socialbtn iframe,
.Socialbtn a,
.Socialbtn img,
.Socialbtn div {
  vertical-align: bottom !important;
}

.Socialbtn .Line {
  position: relative;
  float: left;
  width: 82px;
}

.Socialbtn .Gree {
  position: relative;
  float: left;
  width: 60px;
}

.Socialbtn .HatenaBookmark {
  position: relative;
  float: left;
}

.Socialbtn .Evernote {
  position: relative;
  float: left;
  width: 51px;
}

.Socialbtn .GooglePlus {
  position: relative;
  float: left;
  width: 55px;
}

.Socialbtn .Tweet {
  position: relative;
  float: left;
  width: 85px;
}

/*.Socialbtn .Facebook { position:relative; top:0px; float:left; width:100px;}*/
.Socialbtn span {
  margin: 5px;
}

/*.Socialbtn .Facebook iframe{width:100px;}*/
.Socialbtn .social_line01 {
  display: inline;
}

.Socialbtn .social_line02 {
  display: inline;
}

@media screen and (max-width:640px) {
  .Socialbtn {
    float: none;
  }

  .Socialbtn .social_line01 {
    display: block;
  }

  .Socialbtn:after {
    content: "";
    display: block;
    clear: both;
  }
}

.fb-like iframe {
  max-width: none;
}

.fb_iframe_widget_lift {
  right: 0;
}

.Socialbtn span {
  margin: 0;
}

.Socialbtn .Facebook {
  position: relative;
  float: left;
  width: 100px;
  margin: 5px !important;
}

.Socialbtn .Tweet,
.Socialbtn .Line {
  margin: 5px !important;
}

#main .Socialbtn .Facebook {
  margin: 0 5px;
}

/*.Socialbtn .Tweet{padding-top:1px;}*/
/*SNSボタン ここまで*/

.table-style01 {
  margin: 5px 0;
}

.table-style01 th,
.table-style01 td {
  padding: 5px;
}

.table-style02 {
  margin: 5px 0;
}

.table-style02 th,
.table-style02 td {
  padding: 5px;
}

.table-style02 th {
  width: 20%;
  max-width: 220px;
}

@media screen and (max-width:640px) {

  .table-style01 th,
  .table-style01 td {
    display: block;
  }

  .table-style01 th {
    text-align: left;
  }

  .table-style02 th,
  .table-style02 td {
    display: block;
  }

  .table-style02 tr {
    float: left;
    width: 49%;
  }

  .table-style02 th {
    width: 100%;
    text-align: left;
  }

  .table-style02 th img,
  .table-style02 td img {
    width: 100%;
  }

  .table-style02 td {
    width: 100%;
    max-width: 310px;
    padding: 0 10px;
  }
}

/* 下層共通部分ここまで*/


/* 会社案内ここから */
#gaiyou {
  table-layout: fixed;
}

#gaiyou th {
  width: 29%;
  height: auto;
}

@media screen and (max-width:640px) {
  #gaiyou th {
    width: 96%;
    height: auto;
    padding: 1% 2%;
  }
}

/* 会社案内ここまで */

/* 事例ページネーションここから */
.btn {
  display: inline-block;
  padding: 10px;
  border-radius: 5px;
  /*optional*/
  color: #aaa;
  font-size: .875em;
}

.pg_list {
  padding: 0px;
  margin-bottom: 10px;
}

.link_page,
.link_next,
.current_page,
.link_before {
  font: 14px/24px;
  margin-top: 5px;
  display: inline-block;
  padding: 0.5% 1%;
  margin-right: 4px;
  border-radius: 3px;
  border: solid 1px #c0c0c0;
  background: #e9e9e9;
  box-shadow: inset 0px 1px 0px rgba(255, 255, 255, .8), 0px 1px 3px rgba(0, 0, 0, .1);
  font-size: .875em;
  font-weight: bold;
  text-decoration: none;
  color: #717171;
  text-shadow: 0px 1px 0px rgba(255, 255, 255, 1);
}

.link_page:hover,
.link_next:hover,
current_page:hover,
link_before:hover {
  background: #fefefe;
  background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#FEFEFE), to(#f0f0f0));
  background: -moz-linear-gradient(0% 0% 270deg, #FEFEFE, #f0f0f0);
}

.current_page {
  margin-top: 5px;
  padding: 0.5% 1%;
  border: none;
  background: #616161;
  box-shadow: inset 0px 0px 8px rgba(0, 0, 0, .5), 0px 1px 0px rgba(255, 255, 255, .8);
  color: #f0f0f0;
  text-shadow: 0px 0px 3px rgba(0, 0, 0, .5);
}

.link_page,
.link_next,
.link_before {
  background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#f8f8f8), to(#e9e9e9));
  background: -moz-linear-gradient(0% 0% 270deg, #f8f8f8, #e9e9e9);
}

/* 事例ページネーションここまで */

/* 下層事例・声ここから */
/* 事例下層インデックスここから */
#main_cnt02 .works_block {
  width: 48%;
  float: left;
  margin: 0px 1% 4% 1%;
  text-align: center;
  overflow: hidden;
  border-radius: 25px;
  box-shadow: 3px 6px 3px rgb(0 0 0 / 15%), -3px 6px 3px rgb(0 0 0 / 10%);
  /*border: solid 1px #E4E4E4;*/
  box-sizing: border-box;
  transition: .3s;
}

#main_cnt02 .works_block:nth-child(2n) {
  margin-right: 0;
}

#main_cnt02 .works_block_top {
  float: left;
  margin: 0px 0px 0px 4%;
  text-align: center;
}

#main_cnt02 .works_block_top2 {
  float: left;
  margin: 0px 0px 0px 4%;
  text-align: center;
}

/*add*/
#main_cnt02 .works_block:hover {
  transform: translate(3px, 6px);
  box-shadow: 0 0 0 rgb(0 0 0 / 20%);
}

@media screen and (max-width: 767px) {
  #main_cnt02 .works_block:hover {
    transform: initial;
    box-shadow: 2px 4px 2px rgb(0 0 0 / 20%);
  }
}


#main_cnt02 .works_block .works_block2 li {
  font-size: 18px;
  line-height: 1.75em;
  letter-spacing: 0.01em;
  padding-bottom: 0;
  margin: 4px auto !important;
  position: relative;
}

#main_cnt02 .works_block .works_block2 li[data-mh="works_box_client"],
#main_cnt02 .works_block .works_block2 li[data-mh="works_box_category"] {
  text-align: left;
  font-weight: 500;
  padding-right: 45px;
  box-sizing: border-box;
  -webkit-line-clamp: 2;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  min-height: 46px;
}

#main_cnt02 .works_block .works_block2 li:first-child:before {
  /*content: "\f138";
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 20px;
  color: #434343;
  font-family: FontAwesome;*/
  display: flex;
  justify-content: center;
  align-items: baseline;
  line-height: 2.5em;
  letter-spacing: -0.17em;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  content: "\f054";
  font-weight: 800;
  width: 45px;
  height: 45px;
  border-radius: 40px;
  background: #434343;
  font-size: 18px;
  color: #fff;
  font-family: FontAwesome;
}

/*.voice_wrapper #main_cnt02 .works_block .works_block2 li:first-child:before {
  top: 60%;
}*/

@media screen and (max-width:1024px) {
  #main_cnt02 .all_listbox>a .works_block {
    width: 49%;
    margin: auto;
  }

  #main_cnt02 .all_listbox>a:not(:nth-of-type(2n)) .works_block {
    margin-right: 2%;
  }

  #main_cnt02 .all_listbox>a:nth-of-type(n+3) .works_block {
    margin-top: 2%;
  }
}

@media screen and (max-width:640px) {
  #main_cnt02 .works_block {
    width: 90%;
    margin: 0 auto 5%;
    float: none;
  }

  #main_cnt02 .all_listbox>a .works_block {
    width: 90%;
    margin: 0 auto 5%;
    float: none;
  }

  #main_cnt02 .all_listbox>a:not(:nth-of-type(2n)) .works_block {
    margin-right: auto;
  }

  #main_cnt02 .all_listbox>a:nth-of-type(n+3) .works_block {
    margin-top: 0;
  }

  #main_cnt02 .works_block .works_block2 li {
    width: 100%;
  }
}

@media screen and (max-width:480px) {
  #main_cnt02 .works_block ul .works_block2 li {
    width: 100%;
    float: right;
    margin: 0px;
  }
}

@media only screen and (max-width: 320px) {
  #main_cnt02 .works_block .works_block2 li {
    width: 100%;
  }

  #main_cnt02 .works_block ul .works_block2 {
    width: 100%;
    float: right;
    margin: 0;
    text-align: center;
  }
}

/* 事例下層インデックスここまで */

.works_block2 p {
  text-align: left;
  padding: 0px 5px;
  font-size: 130%;
}

#entry_textbox {
  width: 100%;
  margin: 0 auto;
  max-width: 980px;
}

#entry_textbox img {
  width: 100%;
  height: auto;
  vertical-align: middle;
  font-size: 0%;
}

#entry_textbox table {
  width: 100%;
  height: auto;
  vertical-align: middle;
  font-size: 0%;
}

#entry_textbox .table-style01 {
  margin: 0;
}

#entry_textbox .table-style01 th,
#entry_textbox .table-style01 td {
  padding: 0px;
}

#jirei_entry .table-style01 img {
  max-width: 150px;
}

#main #jirei_entry .table-style01 th {
  width: 150px;
}

#jirei_entry .table-style02 img {
  max-width: 140px;
}

#jirei_entry table {
  width: 100%;
  height: auto;
}

#jirei_entry table img {
  width: 100%;
  height: auto;
}

#jirei_entry .jirei-top {
  width: 98%;
  margin: 0 auto;
}

.jirei-top {
  text-align: center;
}

#jirei_entry .jirei-top img {
  border: 1px solid #cccccc;
  padding: 4px;
  width: 100%;
  height: auto;
  max-width: 710px;
  margin-left: -4px;
}

.uc td img {
  width: 100% !important;
  height: auto !important;
}

.after img {
  width: 100% !important;
  height: auto !important;
}

.after td {
  width: 49%;
  margin: 0 0.5%;
}

.jirei-top {
  width: 100%
}

.jirei-top img {
  width: 100% !important;
  height: auto !important;
}

.ichiran {
  width: 98%;
  max-width: 350px;
  float: right;
}

.ichiran img {
  width: 100%;
  max-width: 350px;
}

@media screen and (max-width:1024px) {
  .ichiran {
    margin: 0px 1%;
  }
}

@media screen and (max-width:768px) {
  #main_cnt02 li {
    width: 48%;
    margin: 0px 1%;
  }

  #main #jirei_entry table img {
    width: 100% !important;
  }

  #main #jirei_entry .table-style02 th img {
    width: auto !important;
  }

  #main #jirei_entry .table-style01 th img {
    width: auto !important;
  }
}

@media screen and (max-width:480px) {
  #main #jirei_entry .table-style02 th img {
    width: auto !important;
  }

  #main #jirei_entry .table-style01 th img {
    width: auto !important;
  }
}

/* Phone Portrait (360px) */
@media only screen and (max-width: 360px) {
  #main_cnt02 li {
    width: 98%;
    margin: 0 1%;
  }
}

/* 下層事例・声ここまで */
/* 下層コンテンツここまで */


/* 構造ここから */
#root {
  max-width: 100%;
  margin: 0 auto;
}

#wrapper {
  width: 100%;
}

#layout01 {
  max-width: 980px;
  margin: 0 auto;
}

/* 
#layout01_bg {width: 100%; height:173px; background: url("../images/hd_bg.png") repeat-x scroll 0px 0px transparent; position:absolute; z-index:9999; top: 0px; left: 0px; background-color: #fff;}
#layout01_box {width: 100%; height: 173px;}
#layout01_box_sp {width: 100%; height: 70px;}
*/

#layout01_bg {
  width: 100%;
  position: fixed;
  z-index: 9999;
  top: 0px;
  left: 0px;
  background-color: #fff;
}

#layout01_box {
  width: 100%;
}

#layout01_box_sp {
  width: 100%;
}

#layout02 {
  max-width: 100%;
  margin: 0 auto 1%;
  min-height: 20px;
}

#layout03 {
  max-width: 980px;
  margin: 1% auto 0;
  width: 100%;
}

#layout04 {
  max-width: 100%;
  margin: 0px auto;
  background: #fff;
  padding: 0 0 80px;
}

.top_h2 {
  display: block;
}

.top_h2_sp {
  display: none;
}

@media screen and (max-width:1024px) {

  /* 
    #layout01_bg {top:0; left:0; height:66px; background:#fff; border-bottom: 4px solid #666; position:fixed;}
        */
  .top_h2 {
    display: none;
  }

  .top_h2_sp {
    display: block;
  }
}

#main_top {
  width: 100%;
}

#main_top_cnt02 {
  width: 940px;
  margin: 0 auto;
}

#main_top_cnt03 {
  width: 940px;
  margin: 0 auto;
}

@media screen and (max-width:1024px) {
  #layout04 {
    padding: 0 0 6%;
  }

  #main_top_cnt02 {
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }

  #main_top_cnt03 {
    width: 100%;
    margin: 0 auto;
    padding: 0px;
  }
}

@media only screen and (max-width: 670px) {
  #layout04 {
    padding: 0 0 15%;
  }
}

@media screen and (max-width:640px) {
  #layout04 {
    color: #fff;
    margin-top: 2%;
  }
}

#main {
  width: 730px;
  float: right;
  overflow: hidden;
  margin-right: 5px;
}

#main_cnt01 {
  width: 100%;
  margin: 0 0 0 0;
}

#main_cnt01 ul {
  margin: 0;
  padding: 0;
  list-style: none;
  /*overflow: hidden;*/
  line-height: 1.5;
}

#main_cnt01 li {
  margin: 0 5px 2px 0;
  padding: 0;
  float: left;
}

#main_cnt02 {
  width: 100%;
  margin: 0 0 5px 0;
}

#main_cnt02 ul {
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
  line-height: 1.5;
}

#main_cnt02 li {
  margin: 0;
  padding: 0px 0px 4px;
  float: left;
  text-align: center;
  width: 100%;
}

#main_cnt03 {
  width: 100%;
}

#main_cnt03 ul {
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
  line-height: 0;
}

#main_cnt03 li {
  margin: 0 5px 5px 0;
  padding: 0;
  float: left;
}

/* add */
/*#main_cnt02 img{overflow: hidden; border-radius: 10px; box-shadow: 2px 4px 2px rgb(0 0 0 / 20%);}*/

@media screen and (max-width:1024px) {
  #main .box h2 {
    width: 100%;
  }

  #main {
    width: 100%;
    margin: 0 auto;
  }

  #main_cnt01 {
    width: 100%;
  }

  #main_cnt01 li {
    width: 100%;
  }

  #main_cnt01 img {
    width: 100%;
  }

  #main_cnt02 {
    width: 100%;
  }

  #main_cnt02 img {
    width: 100%;
  }

  #main_cnt03 {
    width: 100%;
  }

  #main_cnt03 li {
    width: 100%;
  }

  #main_cnt03 img {
    width: 100%;
  }
}

/* 構造ここまで */

/* 導線共通部分ここから */
.cnt_box_inner {
  max-width: 960px;
  width: 100%;
  height: auto;
  overflow: hidden;
  margin: 0px auto;
  padding: 10px 0;
}

.is_1per1 div {
  box-sizing: border-box;
  width: 100%;
  padding: 10px;
}

.is_1per2 li {
  box-sizing: border-box;
  width: 50%;
  float: left;
  padding: 10px;
}

.is_1per3 li {
  box-sizing: border-box;
  width: 33.3%;
  float: left;
  padding: 10px;
}

.is_1per4 li {
  box-sizing: border-box;
  width: 25%;
  float: left;
  padding: 10px;
}

@media screen and (max-width: 1024px) {
  .cnt_box_inner {
    padding: 0;
  }
}

@media screen and (max-width: 640px) {
  .is_1per1 div {
    padding: 2%;
  }

  .is_1per2 li {
    padding: 2%;
  }

  .is_1per3 li {
    padding: 2%;
  }

  .is_1per4 li {
    width: 50%;
    padding: 2%;
  }
}

/* TOP事例導線共通部分ここから */
.is_eq li {
  float: left;
  box-sizing: border-box;
  padding: 10px;
}

@media screen and (max-width: 1024px) {
  .is_eq li {
    padding: 10px 2%;
  }
}

@media screen and (max-width: 640px) {
  .is_eq li {
    padding: 2%;
  }
}

/* one item */
.is_eq li:first-child:nth-last-child(1) {
  width: 100%;
}

/* two items */
.is_eq li:first-child:nth-last-child(2),
.is_eq li:first-child:nth-last-child(2)~li {
  width: 480px;
}

/* three items */
.is_eq li:first-child:nth-last-child(3),
.is_eq li:first-child:nth-last-child(3)~li {
  width: 320px;
}

/* four items */
.is_eq li:first-child:nth-last-child(4),
.is_eq li:first-child:nth-last-child(4)~li {
  width: 240px;
}

/* five items */
.is_eq li:first-child:nth-last-child(5),
.is_eq li:first-child:nth-last-child(5)~li {
  width: 192px;
}

/* six items */
.is_eq li:first-child:nth-last-child(6),
.is_eq li:first-child:nth-last-child(6)~li {
  width: 160px;
}

@media screen and (max-width: 1024px) {

  /* one item */
  .is_eq li:first-child:nth-last-child(1) {
    width: 100%;
  }

  /* two items */
  .is_eq li:first-child:nth-last-child(2),
  .is_eq li:first-child:nth-last-child(2)~li {
    width: 50%;
  }

  /* three items */
  .is_eq li:first-child:nth-last-child(3),
  .is_eq li:first-child:nth-last-child(3)~li {
    width: 33.3%;
  }

  /* four items */
  .is_eq li:first-child:nth-last-child(4),
  .is_eq li:first-child:nth-last-child(4)~li {
    width: 25%;
  }

  /* five items */
  .is_eq li:first-child:nth-last-child(5),
  .is_eq li:first-child:nth-last-child(5)~li {
    width: 20%;
  }

  /* six items */
  .is_eq li:first-child:nth-last-child(6),
  .is_eq li:first-child:nth-last-child(6)~li {
    width: 16.6%;
  }
}

/* 新着情報ここから */
#news_box {
  width: 96%;
  max-width: 940px;
  margin: 0% auto;
  border: 1px solid #bbb;
}

#news_box h4 {
  border-bottom: 4px solid #707070;
  width: 95%;
  margin: 0px auto 10px;
  padding: 1% 0 0 1%;
  letter-spacing: 0.2em;
  color: #707070;
}

#news_box ul {
  width: 96%;
  margin: 0px auto;
  padding-bottom: 1%;
}

#news_box li {
  border-bottom: 1px solid #ddd;
  padding: 5px 5px 5px 5px;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

#news_box li .news_point {
  color: #707070;
  padding: 5px 5px 5px 10px;
}

@media screen and (max-width:640px) {
  #news_box {
    font-size: 80%;
  }

  #news_box li .news_point {
    padding: 5px 5px 5px 0px;
  }

  #news_box li .news_date {
    display: block;
  }
}

/* 新着情報ここまで */

/* 会社案内ここから */
#cnt_about_box {
  background: transparent url("../images/about_bg_pc.jpg") no-repeat scroll 50% 0px;
  width: 100%;
  padding-top: 380px;
  overflow: hidden;
  position: relative;
  z-index: 1;
  margin: 1.5% 0;
}

#cnt_about_box p {
  width: 940px;
  margin: 1% auto;
  font-size: 120%;
}

.cnt_about_btn {
  position: absolute;
  z-index: 2;
  top: 270px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 960px;
  overflow: hidden;
}

.cnt_about_btn ul {
  width: 960px;
}

.cnt_about_btn li {
  width: 25%;
  float: left;
  margin: 0;
  padding: 0 10px;
  box-sizing: border-box;
}

.cnt_about_btn img {
  width: 100%;
  height: auto;
}

@media screen and (max-width:1024px) {
  #cnt_about_box {
    background: transparent url("../images/about_bg_tb.jpg") no-repeat scroll 50% 0px;
    background-size: 100% auto;
    width: 100%;
    padding-top: 39%;
    margin: 0;
  }

  #cnt_about_box p {
    width: 96%;
    margin: 1% auto;
  }

  .cnt_about_btn {
    top: 0px;
    margin-top: 28%;
    width: 100%;
  }

  .cnt_about_btn ul {
    width: 100%;
  }

  .cnt_about_btn li {
    width: 25%;
    margin: 0;
    text-align: center;
  }
}

@media screen and (max-width:640px) {
  #cnt_about_box {
    background: transparent url("../images/about_bg_sp.jpg") no-repeat scroll 50% 0px;
    background-size: 100% auto;
    width: 100%;
    padding-top: 57%;
  }

  #cnt_about_box p {
    margin: 2% auto;
    font-size: 100%;
  }

  .cnt_about_btn {
    position: static;
    margin: 0;
  }

  .cnt_about_btn ul {
    width: 98%;
    margin: 0 auto;
  }

  .cnt_about_btn li {
    width: 50%;
    margin: 0%;
    padding: 1%;
  }
}

/* 会社案内ここまで */

/* grid */
#root .grid_end {
  margin-right: 0;
}

/* LP用ヘッダーここから */
.lp_top #root #layout01_bg {
  overflow: hidden;
  height: 150px;
}

.lp_top #root #layout01_box {
  height: 150px;
}

.lp_top #root .anchor {
  padding-top: 0px;
  margin-top: 0px;
}

@media screen and (max-width:1024px) {
  .lp_top #root #layout01_bg {
    overflow: visible;
    height: 65px;
    position: fixed;
  }

  .lp_top #root .anchor {
    padding-top: 69px;
    margin-top: -69px;
  }
}

/*---フォーム用フッター導線ここから---*/
.form_root #sub_ft_box #sub_ft,
.form_root #sub_ft_box #sub_ft_sp .d1024-360 {
  display: none;
}

/*---フォーム用フッター導線ここまで---*/

/*---フォーム用フッター導線ここから---*/
.form_root #sub_ft_box #sub_ft,
.form_root #sub_ft_box #sub_ft_sp .d1024-360 {
  display: none;
}

/*---フォーム用フッター導線ここまで---*/


/*
Wysiwygエディタ テーブル内画像 caption 170606
------------------------------------------------------------*/
td .wp-caption {
  width: 100% !important;
}

/*ギャラリー tinymce と 実際の表示調整 170615
------------------------------------------------------------*/
.wp-caption-text {
  text-align: left;
}