/* general */
a{
  color: #377aaf;
  font-weight: bold;
}
span.yem {
  background:linear-gradient(transparent 60%, #ff6 60%);
}
span.m_fix {
  display: block;
  padding-left: 1em;
  margin-top:-2em;
}
span.p_fix {
  margin-bottom: -65px;
  display: block;
}
.mv_top_message{
  font-size: calc((100vw - 320px) / 96 + 24px);
  line-height: 1.8em;
  display: block;
  margin: 0px 0 45px 0px;
  font-weight: 600;
  letter-spacing: 0.03em;
}
#mv_wrap_inner p{
  font-size: 1.6em;
  letter-spacing: 0.03em;
}
span.mv_top_bold{
  font-size: 1.3em;
}
.headerarea .header_wrap nav ul li.headbtn01 a:hover {
  padding: 0;
}
.headerarea .header_wrap nav ul li.headbtn02 a:hover {
  padding: 0;
}
.headerarea .header_wrap nav ul li > a {
  padding: 0px 1vw 4px;
}
#header_sub .headerarea .header_wrap nav ul li > a {
  padding: 0 1vw 2px;
}
.headerarea .header_wrap nav ul li.headbtn01 {
  padding: 0 10px 7px 12px;
}
.headerarea .header_wrap nav ul li.headbtn02 {
  padding: 0 10px 7px 0;
}
#header_sub .headerarea .header_wrap nav ul li.headbtn02 {
  padding: 0 10px 6px 0;
}
.headerarea .header_wrap nav ul li.headbtn03 {
  letter-spacing: -.4em;
  padding: 0 0 12px 0;
}
.headerarea .header_wrap nav ul li.headbtn03 a{
  display: inline-block;
  padding: 0;
  line-height: 2.9em;
  background: #2D2D2D;
  color: #FFF;
  font-size: 1.1em;
  letter-spacing: 1px;
  font-weight: 500;
  min-width: 11em;
  box-shadow: 0px 3px 6px #00000029;
}
.headerarea .header_wrap nav ul li.headbtn03 a:hover{
  -webkit-filter:opacity(0.8);
  -moz-filter:opacity(0.8);
  -ms-filter:opacity(0.8);
  filter:opacity(0.8);
  border: none;
}
#header_sub .headerarea .header_wrap nav ul li.headbtn03 {
  padding: 0 0 8px 0;
}
#header_sub .headerarea .header_wrap nav ul li.headbtn03 a{
  padding: 0;
  border: none;
}
.under header .headerarea{
  background: #fff;
}
.under header .headerarea .header_wrap nav ul li.headbtn03 {
  padding-bottom: 22px;
}
#list_recommend a.recbox01:nth-last-child(n+5){
  display: none!important;
}


/* header footer*/
.headerarea .header_wrap .logo div, .ol-menu-header .ol-menu-header-logo div {
  display: block;
  font-size: 0;
  line-height: 0;
}
.headerarea .header_wrap .logo div a, .ol-menu-header .ol-menu-header-logo div a {
  transition: all .2s;
}
.headerarea .header_wrap .logo div img, .ol-menu-header .ol-menu-header-logo div img {
  width: 170px;
}

@media screen and (max-width: 520px){
  .headerarea .header_wrap .logo div img, .ol-menu-header .ol-menu-header-logo div img {
    width: 105px;
  }
  .mv_top_message{
margin: 0px 0 0px 0px;
}

}

.headerarea .header_wrap .logo div, .ol-menu-header .ol-menu-header-logo div {
  display: block;
  font-size: 0;
  line-height: 0;
}
.headerarea .header_wrap .logo div a, .ol-menu-header .ol-menu-header-logo div a {
  transition: all .2s;
}
#header_sub .headerarea .header_wrap .logo div img, #header_sub .ol-menu-header .ol-menu-header-logo div img {
  width: 135px;
}
ul.newslist .wp-pagenavi{
  display: none;
}

@media screen and (max-width: 520px){
  #header_sub .headerarea .header_wrap .logo div img, #header_sub .ol-menu-header .ol-menu-header-logo div img {
    width: 105px;
  }
}

/* modal */
.ol-menu .ol-menu-wrap .ol-menubox .ol-menubox-left .ol-headbtn02 {
  margin: 0 0 17px 0;
}

.ol-menu .ol-menu-wrap .ol-menubox .ol-menubox-left .ol-headbtn03{
  padding: 0 12px 0 0;
}
.ol-menu .ol-menu-wrap .ol-menubox .ol-menubox-left .ol-headbtn03 a{
  display: block;
  padding: 0;
  line-height: 2.9em;
  background: #2D2D2D;
  color: #FFF;
  font-size: 1.1em;
  letter-spacing: 1px;
  font-weight: 500;
  width: 16em;
  text-decoration: none;
  text-align: center;
  margin: 0 auto;
}
.ol-menu .ol-menu-wrap .ol-menubox .ol-menubox-left .ol-headbtn03 a:hover{
  -webkit-filter:opacity(0.8);
  -moz-filter:opacity(0.8);
  -ms-filter:opacity(0.8);
  filter:opacity(0.8);
}
#career{
  margin: 0 0 12vh;
}
#career .wrap a img:hover{
  -webkit-filter:opacity(0.8);
  -moz-filter:opacity(0.8);
  -ms-filter:opacity(0.8);
  filter:opacity(0.8);
  cursor: pointer;
}

/* blockquote */
#columnwrap blockquote.gray {
  position: relative;
  color: #3F3F3F;
  margin-top: 2rem;
  padding: 40px 20px 20px 50px;
  color: #191919;
  background-color: #f2f2f2;
  border:none;
}
#columnwrap blockquote.gray::before {
  position: absolute;
  top: 5px;
  left: 15px;
  content: " “ ";
  font-size: 5rem;
  color: #d8d8d8;
}
#columnwrap blockquote.gray div.source {
  margin-top: 2rem;
  text-align: right;
  font-size: 1.3em;
}
#columnwrap blockquote.gray div.source a{
  text-decoration: none;
}

/* サービス一覧ページ */
.viewall #mv01 .wrap .mv_inner h1 {
  display: block;
  color: #111;
  line-height: 62px;
  font-size: 52px;
  letter-spacing: 2px;
  font-weight: bold;
  margin: 15px 0 20px;
}
.viewall #list_body .wrap02 .viewall_head h2 {
  display: block;
  font-size: 28px;
  font-weight: bold;
  margin: 0 0 30px 0;
  padding-top: 3vh;
}
.viewall #list_body .wrap02 .list_body_inner .servicebox01.box_uncategorized {
  display: none;
}
.sdetail #mv #mv_cover .wrap .mv_inner h1 {
  display: block;
  color: #FFF;
  line-height: 62px;
  font-size: 52px;
  letter-spacing: 2px;
  font-weight: bold;
  text-shadow: #666 1px 0 6px;
  margin: 15px 0 20px;
  background-size: cover;
}
.floatbnr01 img{
  max-width: 300px;
}
.sdetail #step .step_body .step_img_box img{
  max-width: 100%;
}

@media screen and (max-width: 520px){
  .viewall #mv01 .wrap .mv_inner h1 {
    line-height: 34px;
    font-size: 24px;
    margin: 10px 0 15px;
  }
  .sdetail #mv #mv_cover .wrap .mv_inner h1 {
    line-height: 38px;
    font-size: 28px;
    letter-spacing: 1px;
    margin: 8px 0 15px;
  }
  .viewall #list_body .wrap02 .viewall_head h2 {
    font-size: 22px;
    margin: 0 0 20px 0;
  }
  .floatbnr01 {
    width: 60%;
  }
}


/* コラム一覧ページ */
.detail #mv .wrap .mv_inner h1 {
  display: block;
  color: #111;
  line-height: 62px;
  font-size: 52px;
  letter-spacing: 2px;
  font-weight: bold;
  margin: 15px 0 20px;
}
.viewall #mv .wrap .mv_inner h1 {
  display: block;
  color: #111;
  line-height: 62px;
  font-size: 52px;
  letter-spacing: 2px;
  font-weight: bold;
  margin: 15px 0 20px;
}
#columnlist h2 {
  display: block;
  font-size: 28px;
  line-height: 30px;
  letter-spacing: 1px;
  font-weight: bold;
  margin: 0 0 30px 0;
}
#columnlist .columnbox01 .cb_inner dl dd p:nth-of-type(3){
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  height: 5.5em;
}
#columnlist .columnbox01 .cb_inner{
  height: 480px;
  position: relative;
}
#columnlist .columnbox01 .cb_inner .catbox{
  position: absolute;
  bottom: 14px;
  right: 14px;
}

.detail #mv .wrap .mv_inner h2 {
  display: block;
  color: #111;
  line-height: 62px;
  font-size: 52px;
  letter-spacing: 2px;
  font-weight: bold;
  /* text-shadow: #aaa 1px 0 6px; */
  margin: 15px 0 20px;
}
.detail .detail_body .worksttl01 h2 {
  display: block;
  font-size: 32px;
  line-height: 52px;
  font-weight: 800;
  letter-spacing: 2px;
}
.detail .detail_body .worksttl02 h3 {
  display: block;
  font-size: 28px;
  line-height: 42px;
  font-weight: 800;
  letter-spacing: 2px;
  position: relative;
  padding: 0 0 0 37px;
}
.detail .detail_body .worksttl02 h3:before {
  content: "";
  background: #387bb0;
  margin: 0 0 0 0;
  width: 24px;
  height: 4px;
  font-size: 0;
  line-height: 0;
  position: absolute;
  left: 0;
  top: 20px;
}
.detail .detail_body .worksttl03 h4 {
  display: block;
  font-size: 20px;
  line-height: 34px;
  font-weight: 800;
  letter-spacing: 2px;
}


@media screen and (max-width: 520px){

  .detail #mv .wrap .mv_inner h1 {
    line-height: 34px;
    font-size: 24px;
    margin: 15px 0 10px;
  }
  .viewall #mv .wrap .mv_inner h1 {
    line-height: 34px;
    font-size: 24px;
    margin: 15px 0 10px;
  }
  .detail .detail_body .worksttl01 h2 {
    display: block;
    font-size: 24px;
    line-height: 36px;
    letter-spacing: 2px;
  }
  .detail .detail_body .worksttl02 h3 {
    display: block;
    font-size: 22px;
    line-height: 36px;
    padding: 0 0 0 30px;
  }
  .detail .detail_body .worksttl02 h3:before {
    width: 20px;
    height: 4px;
    top: 18px;
  }
  .detail .detail_body .worksttl03 h4 {
    display: block;
    font-size: 18px;
    line-height: 28px;
  }

}

/* サービス詳細ページ */
#mv {
  background-size: cover;
}
.detail .workdetail{
  clear: both;
}
picture img{
  display: block;
  width: 100%;
}
/* ダウンロード */
.viewall .list_body .wrap02 .viewall_head h2 {
  display: block;
  font-size: 28px;
  font-weight: bold;
  margin: 0 0 40px 0;
}
.wrap .iframe_box{
  padding: 2vh 3vw 10vh !important;
}

@media screen and (max-width: 520px){
  .viewall .list_body .wrap02 .viewall_head h2 {
    font-size: 22px;
    margin: 0 0 20px 0;
  }
  .wrap .iframe_box{
    padding: 2vh 5vw 6vh !important;
  }

}


/* 追加タイトル */
.wp-block-group__inner-container p.has-text-align-center{
  text-align: center;
  font-size: 16px;
  letter-spacing: 2px;
  line-height: 24px;
  color: #387bb0;
  margin: 0 0 5px 0;
}
.wp-block-group__inner-container h2.has-text-align-center{
  text-align: center;
  font-size: 31px;
  letter-spacing: 2px;
  line-height: 38px;
  position: relative;
  margin: 0 0 48px 0;
}
.wp-block-group__inner-container h2.has-text-align-center::after {
  content: '';
  width: 80px;
  height: 2px;
  display: inline-block;
  background-color: #387bb0;
  position: absolute;
  bottom: -22px;
  left: calc(50% - 40px);
}

/* 導入事例 */
.viewall #list_body .wrap02 .viewall_head{
  padding: 0;
}
.viewall #list_body .wrap02 .viewall_head ul{
  margin-bottom: 1vh;
}
.viewall #list_body .wrap02 .viewall_head ul.itout{
  margin-bottom: 3vh;
}
p.cot_list_title{
  font-size: 1.6em;
  font-weight: bold;
  margin-bottom: 0.3em;
}
p.uppercat{
  position: relative;
  top: 0;
  left: 0;
  line-height: 2em;
  background-color: #57a9ea;
  text-align: center;
  width: 6em;
  font-size: 1.4em;
  font-weight: 100;
  border-radius: 6px 6px 0 0;
  z-index: 2;
  color: #fff;
}
.detail #mv .wrap .mv_inner h1 {
  display: block;
  color: #111;
  line-height: 62px;
  font-size: 52px;
  letter-spacing: 2px;
  font-weight: bold;
  margin: 15px 0 20px;
}
.workdetail .worksttl01 h2 {
  display: block;
  font-size: 32px;
  line-height: 52px;
  font-weight: 800;
  letter-spacing: 2px;
}
.workdetail .worksttl02 h3 {
  display: block;
  font-size: 28px;
  line-height: 42px;
  font-weight: 800;
  letter-spacing: 2px;
  position: relative;
  padding: 0 0 0 37px;
}
.workdetail .worksttl02 h3:before {
  content: "";
  background: #387bb0;
  margin: 0 0 0 0;
  width: 24px;
  height: 4px;
  font-size: 0;
  line-height: 0;
  position: absolute;
  left: 0;
  top: 20px;
}
.workdetail .worksttl03 h4 {
  display: block;
  font-size: 20px;
  line-height: 34px;
  font-weight: 800;
  letter-spacing: 2px;
}
.workdetail .workstxt01_img_r .img_r span {
  text-align: right;
}
.c_logo{
  width: auto;
  max-width: 500px;
}
.c_logo img{
  width: 100%;
}

@media screen and (max-width: 520px){
  .detail #mv .wrap .mv_inner h1 {
    line-height: 38px;
    font-size: 28px;
    margin: 10px 0 15px;
  }
  .workdetail .worksttl01 h2 {
    display: block;
    font-size: 24px;
    line-height: 36px;
    letter-spacing: 2px;
  }
  .workdetail .worksttl02 h3 {
    display: block;
    font-size: 22px;
    line-height: 36px;
    padding: 0 0 0 30px;
  }
  .workdetail .worksttl02 h3:before {
    width: 20px;
    height: 4px;
    top: 18px;
  }
  .workdetail .worksttl03 h4 {
    display: block;
    font-size: 18px;
    line-height: 28px;
  }

}

/* ユースケース */
.wp-show-posts-entry-header{
  text-align: center;
}
.wp-show-posts-entry-header h5{
  font-size: clamp(1rem, 2vw + 1rem, 1.714rem);
}
.wp-show-posts-entry-summary{
  display: none;
}
.wp-show-posts-single img{
  width: 100% !important;
}
.wp-show-posts-inner a:hover{
  -webkit-filter:opacity(0.5);
  -moz-filter:opacity(0.5);
  -ms-filter:opacity(0.5);
  filter:opacity(0.5);
}
.workdetail #works_icon dl{
  border: none!important;
  box-shadow: rgb(100 100 111 / 20%) 0px 7px 29px 0px;
}

main.detail.usecase .workdetail #about #aboutimg {
  width: 48%;
}
main.detail.usecase .wp-block-group__inner-container{
  width: 26%;
}
.under header,.wp-container-2.wp-block-group.alignfull.has-text-color.has-background{
  background: none!important;
}


/* スマートシティまとめ */
#usecase{
  background-color: #fff;
}
#usecase a{
  text-decoration: none;
  color: #2d2d2d;
}

/* DXコラム */
#columnwrap .workstxt01 p, #columnwrap .wrap>p, #columnwrap .txt01>p{
  font-size: clamp(1.083rem, 1vw + 1rem, 1.333rem);
  line-height: 28px;
}
#related_article a{
  text-decoration: none;
  color: #2d2d2d;
  font-size: .8em;
}
#columnwrap .wp-block-table table{
  box-sizing: border-box;
  font-size: clamp(12px, 1vw, 13px);
}
#columnwrap .wp-block-table {
  overflow-x: visible;
}




@media screen and (max-width: 520px){
  main.detail.usecase .workdetail #about #aboutimg {
    width: 100%;
    display: block;
    margin: 0 0 20px 0;
  }
  main.detail.usecase .wp-block-group__inner-container{
    width: 100%;
  }


}
