@charset "UTF-8";

/**
 *
 * 下層ページ（トップページ以外）
 *
 */

main.default_padding{
  padding: 100px 0;
}
body:not(.home) .ruby + .h2_ttl{
  margin-top: 5px;
}
@media all and (max-width: 768px) {
  main.default_padding{
    padding: 50px 0;
  }
  body:not(.home) .ruby + .h2_ttl{
    margin-top: 2px;
  }
}

#gallery-1.gallery img,
#gallery-2.gallery img,
#gallery-3.gallery img,
#gallery-4.gallery img,
#gallery-5.gallery img {
  border: none;
}

/**
 * ページタイトル部分
 */
.under_h1_box{
  background: url('../images/under_h1_box_bg.jpg') no-repeat center center/cover;
}
.under_h1_box .wrapper{
  height: 160px;
  position: relative;
  padding-top: 40px;
  background: url('../images/under_h1_box_img.png') no-repeat right bottom/contain;
}
.under_h1_box h1{
  font-size: 36px;
  line-height: 1.15;
  font-weight: 700;
  text-align: center;
}
.under_h1_box h1 .en{
  font-size: 16px;
  color: #808080;
  display: block;
  margin-bottom: 15px;
  letter-spacing: 0;
}
.under_h1_box .breadcrumb{
  position: absolute;
  bottom: 15px;
  left: 0;
  width: calc(100% - 160px);
}
.under_h1_box .breadcrumb a{
  text-decoration: none;
}
.under_h1_box .breadcrumb span{
  color: #808080;
}
.under_h1_box .breadcrumb a,
.under_h1_box .breadcrumb span{
  font-size: 13px;
  letter-spacing: .01em;
  white-space: nowrap;
  font-weight: 400;
}
.under_h1_box .breadcrumb a:nth-child(n+2),
.under_h1_box .breadcrumb span:nth-child(n+2){
  margin-left: 25px;
  position: relative;
}
.under_h1_box .breadcrumb a:nth-child(n+2)::before,
.under_h1_box .breadcrumb span:nth-child(n+2)::before{
  content: "";
  width: 6px;
  height: 6px;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #a9a9a9;
  position: absolute;
  top: 50%;
  left: -19px;
  -webkit-transform: translateY(-50%) rotate(45deg);
  -ms-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

@media all and (max-width: 768px) {
  .under_h1_box .wrapper{
    min-height: 150px;
    height: auto;
    padding: 15px 0;
    background: none;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  _:lang(x)::-ms-backdrop, .under_h1_box .wrapper{
    min-height: inherit;
    padding: 50px 0;
  }
  .under_h1_box h1{
    font-size: 25px;
  }
}




/**
 * 投稿一覧（すべりの基礎知識 / 防滑事例） & ボックスリストデザインページ（施工実績 / サービス / 大阪セーフティについて）
 */
.archive main:not(#blog),
main.box_list{
  padding: 60px 0 150px;
}

main ul.productList{
  margin: 60px auto 80px;
}

.archive main:not(#blog) .wrapper2 > p:first-child,
main.box_list .wrapper2 > p:first-child{
  margin-bottom: 80px;
  text-align: center;
  font-size: 15px;
}
.archive main:not(#blog) ul,
main.box_list ul{
  display: flex;
  flex-wrap: wrap;
}
.archive main:not(#blog) ul li,
main.box_list ul li{
  width: 31.8%;
  margin-bottom: 35px;
  margin-left: 2.3%;
}

main.box_list ul.plain.slipout li{
  width: auto;
  margin-bottom: auto;
  margin-left: 0;
}

.archive main:not(#blog) ul li:nth-child(3n+1),
main.box_list ul li:nth-child(3n+1){
  margin-left: 0;
}
.archive main:not(#blog) ul li a,
main.box_list ul li a{
  display: block;
  height: 100%;
  padding: 8% 8% 7%;
  background-color: #fff;
  text-decoration: none;
  -webkit-transition: background-color .3s;
  -o-transition: background-color .3s;
  transition: background-color .3s;
}
.archive main#knowledge ul li a,
main.box_list ul li a{
  border: 1px solid #ddd;
}


.archive main#case ul li a,
main ul.productList li {
  border: 4px solid #f5e840;
}

.archive main#knowledge ul li a:hover,
main.box_list ul li a:hover{
  background-color: #dae5e8;
  color: #1a1a1a;
}
.archive main#case ul li a:hover{
  background-color: #f5e840;
  color: #1a1a1a;
}
.archive main:not(#blog) ul li .thumb,
main.box_list ul li .thumb,
main ul.productList li .thumb{
  padding-bottom: 66.67%;
  background-position: center center;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  background-size: cover;
}

.archive main:not(#blog) ul li .thumb.noimg{
  background: #ddd;
  position: relative;
}
.archive main:not(#blog) ul li .thumb.noimg span {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  text-align: center;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .1em;
}
.archive main:not(#blog) ul li .title,
main.box_list ul li .title,
main ul.productList li .title{
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}
.archive main#knowledge ul li .title,
main.box_list ul li .title{
  margin-top: 20px;
}
main ul.productList li .title{
  margin-top: 0;
}
.archive main#case ul li .title,
main ul.productList li .title{
  margin-bottom: 15px;
}
.archive main#case ul li .outline,
main ul.productList li .outline{
  font-size: 14px;
  line-height: 1.4;
  margin-bottom: 10px;
  margin-top: 0;
}
.archive main#knowledge ul li .detail,
main.box_list ul li .detail{
  font-size: 15px;
  line-height: 1.9;
  margin-top: 15px;
}
.archive main#case ul li .detail{
  font-size: 14px;
  line-height: 1.4;
  margin-top: 15px;
}
.archive main#case ul li .detail span{
  display: block;
}
.archive main#case ul li .detail span:nth-child(n+2){
  margin-top: 3px;
}
.archive main#case ul li .detail b{
  font-weight: 500;
}
.archive main#case ul li .detail b::after{
  content: "：";
  padding: 0 5px;
}

/* product page */
.container.product .img_box img {
  max-width: 100%;
  margin-right: 4%;
}
main ul.productList li .thumb{
  padding-bottom: 100%;
  margin-bottom: 1.5rem;
}
main ul.productList li.double{
  width: 63%;
}
main ul.productList li.double .thumb{
  width: 50%;
  padding-bottom: 35%;
  float: left;
}
main ul.productList li{
  padding: 2% 2% 1%;
  background: #FFF;
}
main ul.productList li dl {
    font-size: 14px;
}
main ul.productList li dl dt {
    font-weight: 600;
    font-size: 14px;
}
main ul.productList li dl dd {
    margin-bottom: .7rem;
    font-size: 14px;
    line-height: 1.6;
}
@media all and (max-width: 768px) {
  main ul.productList li.double{
    width: 100%;
  }
  main ul.productList li.double .thumb{
    width: 100%;
    padding-bottom: 60%;
    float: none;
  }
}


.wp-pagenavi{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.wp-pagenavi a,
.wp-pagenavi span{
  font-size: 16px;
  font-weight: 700;
  min-width: 50px;
  line-height: 48px;
  text-align: center;
  border-radius: 3px;
  padding: 0 7px;
}
.wp-pagenavi a:nth-child(n+2),
.wp-pagenavi span:nth-child(n+2){
  margin-left: 10px;
}
.wp-pagenavi a{
  color: #007c86;
  background-color: rgba(119,185,190,0);
  border: 1px solid rgba(214,214,214,0);
  text-decoration: none;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
}
.wp-pagenavi a:not(.nextpostslink):not(.previouspostslink):hover{
  background-color: rgba(119,185,190,1);
  color: #fff;
  border-color: rgba(214,214,214,1);
}
.wp-pagenavi span.current{
  background-color: #007c86;
  border: 1px solid #d6d6d6;
  color: #fff;
}
.wp-pagenavi a.nextpostslink{
  padding-right: 18px;
  position: relative;
}
.wp-pagenavi a.previouspostslink{
  padding-left: 18px;
  position: relative;
}
.wp-pagenavi a.nextpostslink::after,
.wp-pagenavi a.previouspostslink::before{
  content: "";
  width: 6px;
  height: 6px;
  border-style: solid;
  border-color: #007c86;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
  -ms-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  -webkit-transition: border-color .3s;
  -o-transition: border-color .3s;
  transition: border-color .3s;
}
.wp-pagenavi a.nextpostslink::after{
  right: 8px;
  border-width: 2px 2px 0 0;
}
.wp-pagenavi a.previouspostslink::before{
  left: 8px;
  border-width: 0 0 2px 2px;
}
.wp-pagenavi a.nextpostslink:hover,
.wp-pagenavi a.previouspostslink:hover{
  color: #77B9BE;
}
.wp-pagenavi a.nextpostslink:hover::after,
.wp-pagenavi a.previouspostslink:hover::before{
  border-color: #77B9BE;
}

@media all and (max-width: 768px) {
  .archive main:not(#blog),
  main.box_list{
    padding: 25px 0 50px;
  }
  .archive main:not(#blog) .wrapper2 > p:first-child,
  main.box_list .wrapper2 > p:first-child{
    margin-bottom: 15px;
    text-align: left;
  }
  .archive main:not(#blog) ul,
  main.box_list ul{
    flex-direction: column;
  }
  .archive main:not(#blog) ul li,
  main.box_list ul li{
    width: 100%;
    margin-left: 0;
    margin-bottom: 25px;
  }
  .archive main:not(#blog) ul li a,
  main.box_list ul li a{
    padding: 15px 5%;
  }
  .archive main:not(#blog) ul li .title,
  main.box_list ul li .title{
    font-size: 18px;
  }
  .archive main#case ul li .title{
    margin-bottom: 10px;
  }

  .wp-pagenavi a,
  .wp-pagenavi span {
    font-size: 14px;
    font-weight: 700;
    min-width: 30px;
    line-height: 28px;
    text-align: center;
    border-radius: 2px;
    padding: 0 4px;
  }
  .wp-pagenavi a:nth-child(n+2),
  .wp-pagenavi span:nth-child(n+2) {
    margin-left: 5px;
  }
}


/**
 * ブログ一覧
 */
#blog .wrapper{
  display: grid;
  display: -ms-grid;
  grid-template-columns: 1fr 300px;
  -ms-grid-columns: 1fr 6.25% 300px;
  grid-template-rows: auto;
  -ms-grid-rows: auto;
  grid-column-gap: 6.25%;
  column-gap: 6.25%;
}
.archive #blog .main{
  grid-column: 1;
  -ms-grid-column: 1;
  grid-row: 1;
  -ms-grid-row: 1;
}
.archive #blog .main h2 + ul{
  margin-top: 25px;
}
.archive #blog .main ul li{
  padding-bottom: 20px;
  border-bottom: 1px solid #d7d7d7;
}
.archive #blog .main ul li:nth-child(n+2){
  margin-top: 20px;
}
.archive #blog .main .date{
  font-size: 16px;
  letter-spacing: 0;
}
.archive #blog .main h3{
  margin-top: 10px;
}
.archive #blog .main h3 a{
  display: inline-block;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.6;
  text-decoration: none;
  -webkit-transition: color .3s;
  -o-transition: color .3s;
  transition: color .3s;
}
.archive #blog .main h3 a:hover{
  color: #007C86;
}
.archive #blog .main p.detail{
  font-size: 14px;
  color: #666;
  margin-top: 15px;
  word-break: break-all;
}
.archive #blog .main p.more{
  margin-top: 20px;
}
.archive #blog .main p.more a{
  display: inline-block;
  font-weight: 700;
  color: #007C86;
  text-decoration: none;
  padding-left: 23px;
  position: relative;
}
.archive #blog .main p.more a:hover{
  text-decoration: underline;
}
.archive #blog .main p.more a::before{
  content: "";
  width: 16px;
  height: 16px;
  background: url('../images/arrow_right_alt_green.svg') no-repeat center center/contain;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto 0;
}
.archive #blog .main .wp-pagenavi{
  margin-top: 100px;
}
#blog aside{
  grid-column: 2;
  -ms-grid-column: 3;
  grid-row: 1;
  -ms-grid-row: 1;
}
#blog aside dl:nth-child(n+2){
  margin-top: 30px;
}
#blog aside dl dt{
  background-color: #007C86;
  color: #fff;
  padding: 10px 20px;
}
#blog aside dl dd ul li{
  border-style: solid;
  border-width: 0 1px 1px;
  border-color: #d6d6d6;
}
#blog aside dl dd ul li.no_recommend{
  text-align: center;
  padding: 10px;
  background-color: #fff;
  color: #a9a9a9;
}
#blog aside dl dd ul li a{
  display: block;
  padding: 10px 20px;
  background-color: #fff;
  font-size: 15px;
  text-decoration: none;
  -webkit-transition: background-color .3s;
  -o-transition: background-color .3s;
  transition: background-color .3s;
}
#blog aside dl dd ul li a:hover{
  background-color: #DAE5E8;
  color: #1a1a1a;
}
#blog aside dl dd ul li a span{
  display: block;
  line-height: 1.5;
}
#blog aside dl dd ul li a span.title{
  margin-top: 5px;
  font-weight: 400;
}
#blog aside .monthly_archive{
  margin-top: 30px;
}
#blog aside .monthly_archive select{
  width: 100%;
  border: none;
  background: #f2f2f2 url('../images/arrow_drop_down.svg') no-repeat right 15px center/10px 10px;
  border-radius: 4px;
  padding: 8px 20px;
  font-size: 16px;
  cursor: pointer;
}
#blog aside .search{
  margin-top: 30px;
}
#blog aside .search form{
  position: relative;
}
#blog aside .search form input[type="text"]{
  width: 100%;
  border: 4px solid #ddd;
  background-color: #fff;
  font-size: 16px;
  padding: 9px 36px 9px 15px;
}
#blog aside .search form button{
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 40px;
  background: none;
  border: none;
  cursor: pointer;
}
#blog aside .search form button .material-icons{
  vertical-align: middle;
}


@media all and (max-width: 768px) {
  #blog .wrapper{
    grid-template-columns: auto;
    -ms-grid-columns: 100%;
    grid-template-rows: auto auto;
    -ms-grid-rows: auto 50px auto;
    grid-row-gap: 50px;
    row-gap: 50px;
    grid-column-gap: 0;
    column-gap: 0;
  }
  .archive #blog .main h2 + ul{
    margin-top: 20px;
  }
  .archive #blog .main h3{
    margin-top: 5px;
  }
  .archive #blog .main h3 a{
    line-height: 1.4;
  }
  .archive #blog .main p.detail{
    margin-top: 10px;
  }
  .archive #blog .main p.more{
    margin-top: 10px;
  }
  .archive #blog .main .wp-pagenavi{
    margin-top: 50px;
  }
  #blog aside {
    grid-column: 1;
    -ms-grid-column: 1;
    grid-row: 2;
    -ms-grid-row: 3;
  }
  #blog aside dl dd ul li a{
    font-size: 16px;
    font-weight: 400;
  }
}


/**
 * 投稿詳細（すべりの基礎知識 / 防滑事例）
 */
.single main{
  padding: 60px 0 120px;
}
.single main .post_thumbnail{
  margin-bottom: 50px;
  background-color: #ff0;
}
.single main .wp-post-image{
  display: block;
  margin: 0 auto;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 400px;
}

@media all and (max-width: 768px) {
  .single main{
    padding: 25px 0 50px;
  }
  .single main .post_thumbnail{
    margin-bottom: 15px;
  }
  .single-knowledge main .post_thumbnail{
    background: none;
  }
  .single main .wp-post-image{
    width: 100%;
    max-height: none;
  }
}


/**
 * ブログ詳細
 */
.single main#blog{
  position: relative;
  font-size: 16px;
  line-height: 1.9;
}
.single main#blog .main h2.title{
  font-size: 36px;
  font-weight: 700;
  line-height: 1.4;
}
.single main#blog .main .blog_element{
  margin-top: 20px;
}
.single main#blog .main .blog_element time{
  letter-spacing: 0;
  display: inline-block;
  margin-right: 15px;
}
.single main#blog .main .blog_element .cat{
  display: inline-block;
}
.single main#blog .main .blog_element .cat a{
  text-decoration: none;
  color: #007C86;
}
.single main#blog .main .blog_element .cat a:hover{
  text-decoration: underline;
}
.single main#blog .main .blog_element .cat a:nth-of-type(n+2){
  margin-left: 5px;
}
.single main#blog .main .share{
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 60px;
  left: 30px;
}
.single main#blog .main .share > span{
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 10px;
}
.single main#blog .main .share a{
  width: 40px;
  height: auto;
}
.single main#blog .main .share a:not(:last-child){
  margin-bottom: 15px;
}
.single main#blog .main .share a img{
  display: block;
  width: 100%;
  height: auto;
}
.single main#blog .main .share.fixed{
  position: fixed;
}
.single main#blog .main .post_thumbnail{
  background: none;
  margin-top: 35px;
}
.single main#blog .main .post_thumbnail .wp-post-image{
  width: 100%;
  max-height: none;
}
.single main#blog .main .controller{
  margin: 100px auto 0;
  width: 283px;
  position: relative;
}
.single main#blog .main .controller a{
  text-decoration: none;
  color: #007C86;
  height: 49px;
  border: 1px solid #d6d6d6;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  font-size: 16px;
  font-weight: 700;
  border-radius: 4px;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
}
.single main#blog .main .controller a:hover{
  color: #fff;
  background-color: #007C86;
}
.single main#blog .main .controller a[rel="prev"],
.single main#blog .main .controller a[rel="next"]{
  width: 49px;
  position: absolute;
  top: 0;
}
.single main#blog .main .controller a[rel="prev"]{
  left: 0;
}
.single main#blog .main .controller a[rel="next"]{
  right: 0;
}
.single main#blog .main .controller .to_archive{
  width: 150px;
  margin: 0 auto;
}
.single main#blog .main .author,
.single main#blog .main .related_post{
  margin-top: 80px;
  padding-top: 40px;
  border-top: 1px solid #d6d6d6;
}
.single main#blog .main .author .title,
.single main#blog .main .related_post .title{
  font-size: 24px;
  font-weight: 700;
  padding-left: 0;
}
.single main#blog .main .author .title::before,
.single main#blog .main .related_post .title::before{
  content: none;
}
.single main#blog .main .author .author_info{
  display: grid;
  display: -ms-grid;
  grid-template-columns: 80px 1fr;
  -ms-grid-columns: 80px 30px 1fr;
  grid-template-rows: 80px auto;
  -ms-grid-rows: 80px 10px auto;
  grid-column-gap: 30px;
  column-gap: 30px;
  grid-row-gap: 10px;
  row-gap: 10px;
  margin-top: 20px;
}
.single main#blog .main .author .author_info .thumb{
  grid-column: 1;
  -ms-grid-column: 1;
  grid-row: 1;
  -ms-grid-row: 1;
}
.single main#blog .main .author .author_info .name{
  margin-top: 0;
  grid-column: 2;
  -ms-grid-column: 3;
  grid-row: 1;
  -ms-grid-row: 1;
  display: flex;
  align-items: center;
}
.single main#blog .main .author .author_info .description{
  grid-column: 2;
  -ms-grid-column: 3;
  grid-row: 2;
  -ms-grid-row: 3;
}
.single main#blog .main .author .author_info .description p{
  font-size: 14px;
  color: #666;
  line-height: 1.7;
  margin-top: -20px;
  font-weight: 400;
}
.single main#blog .main .related_post ul:not(.children),
.single main#blog .main .related_post ul:not(.children):nth-child(n+2){
  margin-top: 15px;
  padding: 0;
}
.single main#blog .main .related_post ul:not(.children) li{
  border-style: solid;
  border-color: #d6d6d6;
  border-width: 0 1px 1px;
  padding-left: 0;
}
.single main#blog .main .related_post ul:not(.children) li::before{
  content: none;
}
.single main#blog .main .related_post ul:not(.children) li:nth-child(n+2){
  margin-top: 0;
}
.single main#blog .main .related_post ul:not(.children) li:first-child{
  border-top-width: 1px;
}
.single main#blog .main .related_post ul:not(.children) li a{
  text-decoration: none;
  display: block;
  background-color: #fff;
  padding: 10px 15px;
  line-height: 1.5;
}
.single main#blog .main .related_post ul:not(.children) li a time{
  display: block;
  letter-spacing: 0;
  margin-bottom: 5px;
}
.single main#blog .main .related_post ul:not(.children) li a:hover{
  background-color: #DAE5E8;
  color: #000;
}



@media all and (max-width: 1249px) {
  .single main#blog .main .share{
    flex-direction: row;
    position: relative;
    top: auto;
    left: auto;
    margin-top: 20px;
  }
  .single main#blog .main .share span{
    display: none;
  }
  .single main#blog .main .share a:not(:last-child){
    margin-bottom: 0;
    margin-right: 10px;
  }
}




@media all and (max-width: 768px) {
  .single main#blog .main h2.title{
    font-size: 25px;
  }
  .single main#blog .main .blog_element{
    margin-top: 10px;
  }
  .single main#blog .main .blog_element time{
    margin-bottom: 5px;
  }
  .single main#blog .main .post_thumbnail{
    margin-top: 20px;
  }

  .single main#blog .main .author,
  .single main#blog .main .related_post{
    margin-top: 50px;
    padding-top: 35px;
  }
  .single main#blog .main .author .title,
  .single main#blog .main .related_post .title{
    font-size: 20px;
  }
  .single main#blog .main .author .author_info{
    grid-template-columns: 80px 1fr;
    -ms-grid-columns: 80px 15px 1fr;
    grid-template-rows: 80px auto;
    -ms-grid-rows: 80px 15px auto;
    grid-column-gap: 15px;
    column-gap: 15px;
    grid-row-gap: 15px;
    row-gap: 15px;
    margin-top: 15px;
  }
  .single main#blog .main .author .author_info .thumb{
    grid-column: 1;
    -ms-grid-column: 1;
    grid-row: 1;
    -ms-grid-row: 1;
  }
  .single main#blog .main .author .author_info .name{
    grid-column: 2;
    -ms-grid-column: 3;
    grid-row: 1;
    -ms-grid-row: 1;
  }
  .single main#blog .main .author .author_info .description{
    margin-top: 1rem;
    grid-column: 1 / 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
    grid-row: 2;
    -ms-grid-row: 3;
  }
  .single main#blog .main .author .author_info .description p{
    font-size: 15px;
  }
}







/* ブログ詳細用 エディターcss */
.single main#blog .main h1{
  font-size: 30px;
  text-align: center;
}
.single main#blog .main h1:nth-child(n+2){
  margin-top: 60px;
}
.single main#blog .main h2{
  font-size: 26px;
  border-left: 7px solid #007c86;
  padding-left: 15px;
  line-height: 1.5;
}
.single main#blog .main h2:nth-child(n+2){
  margin-top: 50px;
}
.single main#blog .main h3{
  font-size: 24px;
  padding-left: 22px;
  position: relative;
  line-height: 1.5;
}
.single main#blog .main h3:nth-child(n+2){
  margin-top: 45px;
}
.single main#blog .main h3::before{
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #007c86;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto 0;
}
.single main#blog .main h4{
  font-size: 22px;
}
.single main#blog .main h4:nth-child(n+2){
  margin-top: 40px;
}
.single main#blog .main h5{
  font-size: 18px;
}
.single main#blog .main h6{
  font-size: 16px;
}
.single main#blog .main ul:not(.children){
  padding: 0 3%;
}
.single main#blog .main ul:not(.children):nth-child(n+2){
  margin-top: 30px;
}
.single main#blog .main ul:not(.children) > li{
  font-size: 17px;
  line-height: 1.4;
  padding-left: 15px;
  position: relative;
}
.single main#blog .main ul:not(.children) > li:nth-child(n+2){
  margin-top: 10px;
}
.single main#blog .main ul:not(.children) > li::before{
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: #1a1a1a;
  position: absolute;
  top: 7px;
  left: 0;
}
.single main#blog .main ol:not(.commets-list){
  padding: 0 3%;
  counter-reset: item;
}
.single main#blog .main ol:not(.commets-list):nth-child(n+2){
  margin-top: 30px;
}
.single main#blog .main ol:not(.commets-list) > li{
  font-size: 16px;
  line-height: 1.4;
  padding-left: 30px;
  position: relative;
}
.single main#blog .main ol:not(.commets-list) > li:nth-child(n+2){
  margin-top: 10px;
}
.single main#blog .main ol:not(.commets-list) > li::before{
  counter-increment: item;
  content: counter(item);
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #f5e840;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
}

.single main#blog .main blockquote{
  background-color: #dae5e8;
  padding: 70px 5.5%;
  position: relative;
  margin: 0 auto;
}
.single main#blog .main blockquote p{
  margin-top: 0;
}
.single main#blog .main blockquote:nth-child(n+2){
  margin-top: 30px;
}
.single main#blog .main blockquote::before,
.single main#blog .main blockquote::after{
  content: "";
  width: 36px;
  height: 26px;
  background: url('../images/icon_blockquote.svg') no-repeat center center/contain;
  position: absolute;
}
.single main#blog .main blockquote::before{
  top: 28px;
  left: 4%;
}
.single main#blog .main blockquote::after{
  bottom: 28px;
  right: 4%;
}

.single main#blog .main hr{
  margin-top: 25px;
}

.single main#blog .main img.alignleft{
  display: block;
  margin: 0 auto 0 0;
}
.single main#blog .main img.aligncenter{
  display: block;
  margin: 0 auto;
}
.single main#blog .main img.alignright{
  display: block;
  margin: 0 0 0 auto;
}

@media all and (max-width: 768px) {
  .single main#blog .main h1,
  .single main#blog .main h2{
    font-size: 25px;
  }
  .single main#blog .main h1:nth-child(n+2){
    margin-top: 50px;
  }
  .single main#blog .main h2{
    font-size: 22px;
    padding-left: 12px;
    border-width: 3px;
  }
  .single main#blog .main h2:nth-child(n+2){
    margin-top: 45px;
    line-height: 1.5;
  }
  .single main#blog .main h3{
    font-size: 20px;
  }
  .single main#blog .main h3:nth-child(n+2){
    margin-top: 40px;
  }
  .single main#blog .main h3::before{
    width: 8px;
    height: 8px;
  }
  .single main#blog .main h4{
    font-size: 18px;
  }
  .single main#blog .main h4:nth-child(n+2){
    margin-top: 25px;
  }
  .single main#blog .main h5{
    font-size: 17px;
  }

  .single main#blog .main ul:not(.children),
  .single main#blog .main ol:not(.commets-list){
    padding: 0 4%;
  }
  .single main#blog .main ul:not(.children):nth-child(n+2),
  .single main#blog .main ol:not(.commets-list):nth-child(n+2){
    margin-top: 15px;
  }
  .single main#blog .main ul:not(.children) > li::before{
    top: 6px;
  }

  .single main#blog .main blockquote{
    padding: 50px 5%;
  }
  .single main#blog .main blockquote::before{
    top: 18px;
  }
  .single main#blog .main blockquote::after{
    bottom: 18px;
  }
  .single main#blog .wp-caption {
    width: 100% !important;
  }
}




/**
 * コメント（blog 詳細に実装）
 */
#comments{
  margin-top: 60px;
  padding: 45px;
  background-color: #fff;
  border: 1px solid #d6d6d6;
}
#comments #reply-title{
  display: none !important;
}
#blog .main #comments p:first-child{
  font-size: inherit;
  margin-top: inherit;
}
#comments .comment-body p{
  margin-top: 20px;
  font-size: 16px;
}
#comments .comment-author{
  display: flex;
  align-items: center;
}
#comments img.avatar{
  border-radius: 50%;
  width: 50px;
  height: 50px;
  margin-right: 10px;
}
#comments cite,
#comments cite a,
#comments .says{
  font-size: 16px;
  font-weight: 500;
  color: #808080;
  font-style: normal;
}
#comments cite a{
  text-decoration: none;
}
#comments cite a:hover{
  text-decoration: underline;
}
#comments .comment-meta a{
  font-size: 15px;
  font-weight: 500;
  color: #808080;
  text-decoration: none;
}
#comments .comment-meta a:hover{
  text-decoration: underline;
}
#comments .comment-meta + p{
  margin-top: 15px;
}
#comments .reply{
  margin-top: 10px;
}
#comments .reply a.comment-reply-link{
  display: block;
  font-size: 15px;
  line-height: 1;
  font-weight: 700;
  color: #fff;
  background-color: #baced3;
  border: 1px solid #baced3;
  border-radius: 3px;
  text-decoration: none;
  width: 69px;
  text-align: center;
  padding: 8px 0;
  margin: 0 0 0 auto;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
}
#comments .reply a.comment-reply-link:hover{
  border-color: #d6d6d6;
  background-color: #007c86;
}
#comments .commets-list ul.children{
  margin-top: 25px;
  padding-left: 30px;
}
#comments .commets-list ul.children li:nth-child(n+2),
#comments .commets-list li:nth-child(n+2){
  margin-top: 30px;
}
#comments .commets-list + #respond{
  margin-top: 35px;
}
#comments .comment_item:nth-child(n+2){
  margin-top: 15px;
}
#comments .comment_item label{
  display: block;
  color: #808080;
  font-weight: 500;
  margin-bottom: 5px;
}
#comments .comment_item label.required i{
  font-size: 13px;
  color: #fff;
  font-weight: 700;
  font-style: normal;
  background-color: #5d2896;
  line-height: 1;
  padding: 3px 6px;
  border-radius: 3px;
  margin: 0 7px;
  display: inline-block;
}
#comments .comment_item label small{
  font-size: 13px;
  color: #969696;
  display: inline-block;
}
#comments .comment_item input,
#comments .comment_item textarea {
  display: block;
  background-color: #f6f6f6;
  border: 1px solid #dcdcdc;
  font-size: 16px;
  padding: 16px 15px;
  width: 100%;
  -webkit-transition: border-color .3s;
  -o-transition: border-color .3s;
  transition: border-color .3s;
}
#comments .submit{
  text-decoration: none;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  color: #fff;
  background: #007c86 url('../images/arrow_right_alt_white.svg') no-repeat right 14px center/16px 16px;
  border-radius: 3px;
  width: 214px;
  max-width: 100%;
  height: 45px;
  margin: 30px auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
  border: none;
  cursor: pointer;
}
#comments .submit:hover{
  color: #007c86;
  background-color: #baced3;
  background-image: url('../images/arrow_right_alt_green.svg');
}


@media all and (max-width: 768px) {
  #comments{
    padding: 20px 20px 40px;
  }
  #comments .comment_item input,
  #comments .comment_item textarea {
    padding: 8px 3%;
  }
}




/**
 * 施工実績リスト（case_index/list）
 */
.case_list{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 70px;
}
.case_list dl{
  width: 48%;
  margin-bottom: 90px;
}
.case_list dl dt{
  font-size: 26px;
  font-weight: 700;
}
.case_list dl dd{
  margin-top: 20px;
}
.case_list dl dd li{
  padding: 11px 0;
  border-bottom: 1px dotted #a9a9a9;
}

@media all and (max-width: 768px) {
  .case_list{
    flex-direction: column;
    margin-top: 40px;
  }
  .case_list dl{
    width: 100%;
    margin-bottom: 30px;
  }
  .case_list dl dt{
    font-size: 22px;
  }
  .case_list dl dd{
    margin-top: 10px;
  }
  .case_list dl dd li{
    padding: 10px 0;
  }
}


/**
 * 無料デモ施工のご相談（demo / contact）
 */
.contact header{
  padding: 10px 0;
}
.contact header .logo{
  display: block;
  margin: 0 auto;
}
.contact header .logo img{
  display: block;
  width: 100%;
  height: auto;
}
.contact footer{
  padding-top: 0;
}
.contact footer .copyright{
  margin-top: 0;
}

.mw_wp_form.mw_wp_form_input .conf_only,
.mw_wp_form.mw_wp_form_confirm .input_only{
  display: none !important;
}

body.contact main article.note{
  border: 4px solid #baced3;
  background-color: #fff;
  padding: 30px 40px 30px 90px;
  position: relative;
  margin-bottom: 85px;
  line-height: 1.7;
  font-weight: 400;
}
body.contact main article.note::before{
  content: "";
  width: 39px;
  height: 39px;
  background: url('../images/report_problem.svg') no-repeat center center/contain;
  position: absolute;
  top: 30px;
  left: 40px;
}
body.contact main article.note p{
  line-height: 1.4;
}
body.contact main article.note ul{
  margin-top: 10px;
}
body.contact main article.note ul li{
  padding-left: 16px;
  position: relative;
}
body.contact main article.note ul li:nth-child(n+2){
  margin-top: 0px;
}
body.contact main article.note ul li::before{
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: #1a1a1a;
  position: absolute;
  top: 9px;
  left: 0;
}
body.contact main .step{
  padding: 25px 0;
  border-style: solid;
  border-width: 1px 0;
  border-color: #d4d4d4;
  display: flex;
  justify-content: center;
}
body.contact main .step li{
  color: #969696;
  position: relative;
}
body.contact main .step li:nth-child(n+2){
  margin-left: 90px;
}
body.contact main .step li:nth-child(n+2)::before{
  content: "";
  width: 6px;
  height: 6px;
  border-style: solid;
  border-width: 2px 2px 0 0;
  border-color: #969696;
  position: absolute;
  top: 50%;
  left: -50px;
  -webkit-transform: translateY(-50%) rotate(45deg);
  -ms-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}
body.contact main .mw_wp_form_input .step li:nth-child(1),
body.contact main .mw_wp_form_confirm .step li:nth-child(2),
body.contact main .mw_wp_form_complete .step li:nth-child(3){
  color: #000;
}

body.contact main h3{
  font-size: 30px;
  font-weight: 700;
  text-align: center;
  margin-top: 80px;
}
body.contact main h3 + p{
  margin-top: 60px;
  font-size: 15px;
}
body.contact main .mw_wp_form_complete p{
  font-size: 15px;
}
body.contact main h4{
  font-size: 20px;
  margin-top: 40px;
  font-weight: 700;
}
.form_box{
  border: 1px solid #d4d4d4;
  margin-top: 40px;
  background-color: #fff;
  padding: 40px 45px;
}
body.contact main h4 + .form_box{
  margin-top: 10px;
}
.form_box li:nth-child(n+2){
  margin-top: 30px;
}
.mw_wp_form_confirm .form_box li:nth-child(n+2){
  margin-top: 50px;
}
.form_box dt{
  font-size: 16px;
  font-weight: 700;
}
.form_box dt small{
  display: inline-block;
  color: #969696;
  font-size: 13px;
  margin-left: 10px;
  font-weight: 400;
}
.mw_wp_form_confirm .form_box dt small{
  display: none !important;
}
.form_box dt .required{
  font-size: 13px;
  color: #fff;
  font-weight: 700;
  background-color: #5d2896;
  line-height: 1;
  padding: 3px 6px;
  border-radius: 3px;
  margin-left: 7px;
  display: inline-block;
}
.form_box dd{
  margin-top: 15px;
}
.mw_wp_form_confirm .form_box dd{
  font-size: 16px;
}

.form_box input::placeholder{
  color: #c2c2c2;
  font-size: 16px;
  font-weight: 500;
}
.form_box input:-ms-input-placeholder{
  color: #c2c2c2;
  font-size: 16px;
  font-weight: 500;
}
.form_box input::-ms-input-placeholder{
  color: #c2c2c2;
  font-size: 16px;
  font-weight: 500;
}
.form_box input:not([type="file"]),
.form_box textarea{
  background-color: #f6f6f6;
  border: 1px solid #dcdcdc;
  font-size: 16px;
  padding: 16px 15px;
  width: 100%;
  -webkit-transition: border-color .3s;
  -o-transition: border-color .3s;
  transition: border-color .3s;
}
.form_box input:hover,
.form_box input:focus,
.form_box textarea:hover,
.form_box textarea:focus{
  border-color: #969696;
}
.form_box input[name="site_zip"],
.form_box input[name="zip"]{
  width: 235px;
}
.form_box input[name="assumption_area"]{
  width: 100px;
}
.form_box .unit{
  vertical-align: bottom;
  margin-left: 10px;
}
.form_box textarea{
  height: 250px;
}
.file_upload label{
  display: block;
}
.file_upload label:nth-child(n+2){
  margin-top: 25px;
}
.file_upload label b{
  font-size: 16px;
  font-weight: 700;
  display: inline-block;
  margin-right: 10px;
}
.file_upload label .file_name{
  font-size: 13px;
  font-weight: 500;
}
.file_upload label .btn{
  background-color: #f7f7f7;
  border: 1px solid #ccc;
  display: inline-block;
  color: #555;
  font-size: 14px;
  line-height: 27px;
  padding: 0 11px;
  margin-left: 10px;
  cursor: pointer;
  box-shadow: 0 1px 0 #ccc;
  border-radius: 3px;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
}
.mw_wp_form_confirm .file_upload label .file_name,
.mw_wp_form_confirm .file_upload label .btn{
  display: none !important;
}
.file_upload label .btn:hover{
  background-color: #f0f0f0;
  box-shadow: none;
  -webkit-transform: translateY(1px);
  -ms-transform: translateY(1px);
  transform: translateY(1px);
}
.file_upload label .btn:active{
  box-shadow: inset 0 1px 0 #ccc;
}
.file_upload label input[type="file"]{
  display: none;
}
.file_upload .mw-wp-form_file{
  display: inline-block;
  vertical-align: middle;
}
.file_upload .mw-wp-form_file a{
  font-size: 0;
  text-decoration: none;
}
.file_upload .mw-wp-form_file a::before{
  content: "選択した画像を確認する";
  font-size: 13px;
}
.file_upload .mwform-file-delete{
  font-size: 0;
  line-height: 0;
  width: 15px;
  height: 15px;
  background: url('../images/delete.svg') no-repeat center center/contain;
  margin: 0 3px;
  vertical-align: middle;
  display: inline-block;
}
.file_upload .mwform-file-delete:hover{
  background-image: url('../images/delete_hover.svg');
}

form .agreement{
  margin-top: 50px;
  border: 1px solid #dcdcdc;
  background-color: #f6f6f6;
  height: 170px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
form .agreement p a{
  color: #1b5293;
}
form .agreement p a:hover{
  text-decoration: none;
}
form .agreement p .material-icons{
  font-size: 13px;
  vertical-align: text-bottom;
  margin: 0 1px 1px 3px;
  color: #1b5293;
}
form .agreement .mwform-checkbox-field{
  margin-top: 15px;
}
form .agreement .mwform-checkbox-field label{
  display: flex;
  align-items: center;
  cursor: pointer;
}
form .agreement .mwform-checkbox-field label::before{
  content: "";
  width: 22px;
  height: 22px;
  background: url('../images/check_box_outline_blank.svg') no-repeat center center/contain;
  margin-right: 5px;
}
form .agreement .mwform-checkbox-field label.checked::before{
  background-image: url('../images/check_box.svg');
}
form .agreement .mwform-checkbox-field label::after{
  content: "必須";
  font-size: 13px;
  color: #fff;
  font-weight: 700;
  background-color: #5d2896;
  line-height: 1;
  padding: 3px 6px;
  border-radius: 3px;
  margin-left: 5px;
}
.submit_box{
  margin-top: 80px;
}
.submit_box button[name="submitConfirm"],
.submit_box button[name="submit"]{
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .06em;
  background-color: #ffec29;
  box-shadow: 4px 5px 0 #ebb700;
  color: #131313;
  width: 383px;
  height: 72px;
  border-radius: 3px;
  position: relative;
  margin: 0 auto;
  border: none;
  display: block;
  cursor: pointer;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
}
.submit_box button[name="submitConfirm"]::after,
.submit_box button[name="submit"]::after{
  content: "";
  width: 16px;
  height: 16px;
  background: url('../images/arrow_right_alt_black.svg') no-repeat center center/contain;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 14px;
  margin: auto 0;
}
.submit_box button[name="submitConfirm"]:hover,
.submit_box button[name="submit"]:hover{
  background-color: #d2d200;
  box-shadow: 4px 5px 0 #b99326;
}
.submit_box button[name="submitConfirm"]:disabled{
  color: #c9c9c9;
  background-color: #e2e2e2;
  box-shadow: 4px 5px 0 #c9c9c9;
  cursor: default;
}
.submit_box button[name="submitConfirm"]:disabled::after{
  background-image: url('../images/arrow_right_alt_gray.svg');
}
.mw_wp_form .error{
  font-size: 15px;
  margin: 5px 0 0 5px;
}
.submit_box button[name="submitBack"]{
  background: none;
  border: none;
  font-size: 16px;
  margin-top: 60px;
  padding-left: 25px;
  position: relative;
  cursor: pointer;
  -webkit-transition: color .3s;
  -o-transition: color .3s;
  transition: color .3s;
}
.submit_box button[name="submitBack"]:hover{
  text-decoration: underline;
  color: #007c86;
}
.submit_box button[name="submitBack"]::before,
.return_top::before{
  content: "";
  width: 16px;
  height: 16px;
  background: url('../images/arrow_right_alt_black.svg') no-repeat center center/contain;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%) rotate(180deg);
  -ms-transform: translateY(-50%) rotate(180deg);
  transform: translateY(-50%) rotate(180deg);
}

.return_top{
  font-size: 16px;
  margin-top: 60px;
  padding-left: 25px;
  position: relative;
  text-decoration: none;
  display: inline-block;
}
.return_top:hover{
  text-decoration: underline;
}



@media all and (max-width: 768px) {
  .contact header{
    padding: 5px 0;
  }
  .contact header .logo{
    width: 230px;
  }
  .contact footer .copyright{
    border-top: 1px solid #ddd;
  }

  body.contact main article.note{
    border-width: 2px;
    padding: 70px 5% 20px;
    margin-bottom: 40px;
    font-size: 16px;
  }
  body.contact main article.note::before{
    top: 15px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  body.contact main article.note ul{
    margin-top: 10px;
  }
  body.contact main article.note ul li{
    padding-left: 16px;
  }
  body.contact main article.note ul li:nth-child(n+2){
    margin-top: 8px;
  }
  body.contact main article.note ul li::before{
    width: 3px;
    height: 3px;
    top: 5px;
  }

  body.contact main .step{
    padding: 19px 0;
  }
  body.contact main .step li:nth-child(n+2){
    margin-left: 35px;
  }
  body.contact main .step li:nth-child(n+2)::before{
    left: -23px;
    border-width: 1px 1px 0 0;
    width: 5px;
    height: 5px;
  }
  body.contact main h3{
    font-size: 22px;
    margin-top: 50px;
  }
  body.contact main h3 + p{
    margin-top: 40px;
  }
  body.contact main h4{
    font-size: 18px;
    margin-top: 20px;
  }
  .form_box{
    padding: 25px 5%;
  }
  .mw_wp_form_confirm .form_box li:nth-child(n+2){
    margin-top: 25px;
  }
  .form_box dt .required{
    font-size: 10px;
    padding: 2px 5px;
    border-radius: 2px;
    margin-left: 5px;
  }
  .form_box dt small{
    display: block;
    margin: 5px 0 0;
    font-size: 13px;
    line-height: 1.4;
  }
  .form_box dd{
    margin-top: 9px;
  }
  .form_box input:not([type="file"]),
  .form_box textarea{
    padding: 8px 3%;
  }
  .form_box input[name="assumption_area"]{
    width: 130px;
  }
  .form_box .unit{
    margin-left: 5px;
  }
  .file_upload label:nth-child(n+2){
    margin-top: 15px;
  }
  .file_upload label .btn{
    display: block;
    width: 140px;
    padding: 0;
    text-align: center;
    margin: 5px auto 0;
  }

  form .agreement{
    margin-top: 35px;
    height: auto;
    padding: 25px 5% 30px;
  }
  form .agreement p .material-icons{
    font-size: 13px;
    margin: 0 1px 1px 3px;
  }
  form .agreement .mwform-checkbox-field{
    margin-top: 20px;
  }
  form .agreement .mwform-checkbox-field label::after{
    font-size: 10px;
    padding: 2px 5px;
    border-radius: 2px;
    margin-left: 5px;
  }
  .submit_box{
    margin-top: 40px;
  }
  .submit_box button[name="submitConfirm"],
  .submit_box button[name="submit"]{
    font-size: 16px;
    box-shadow: 2px 3px 0 #ebb700;
    color: #131313;
    width: 250px;
    height: 53px;
    border-radius: 2px;
  }
  .submit_box button[name="submitConfirm"]::after,
  .submit_box button[name="submit"]::after{
    width: 14px;
    height: 14px;
    right: 10px;
  }
  .submit_box button[name="submitConfirm"]:hover,
  .submit_box button[name="submit"]:hover{
    box-shadow: 2px 3px 0 #b99326;
  }
  .submit_box button[name="submitConfirm"]:disabled{
    box-shadow: 2px 3px 0 #c9c9c9;
  }
  .mw_wp_form .error{
    font-size: 14px;
    margin: 3px 0 0 3px;
  }
  .submit_box button[name="submitBack"]{
    margin-top: 30px;
    padding-left: 20px;
  }
  .submit_box button[name="submitBack"]::before{
    width: 14px;
    height: 14px;
  }
}


/**
 * 特異性（feature）
 */
#feature h2{
  font-size: 36px;
  line-height: 1.4;
  text-align: center;
  font-weight: 700;
}
#feature h2 small{
  font-size: 24px;
  display: block;
}
#feature h3{
  font-size: 30px;
  font-weight: 700;
  line-height: 1.4;
}

@media all and (max-width: 768px) {
  #feature h2{
    font-size: 25px;
  }
  #feature h2 small{
    font-size: 16px;
  }
  #feature h3{
    font-size: 22px;
  }
}

/* toc */
@media all and (max-width: 768px) {
  #feature #toc{
    padding-top: 35px;
  }
  #feature #toc ul{
    border-bottom: 1px solid #d6d6d6;
    padding-bottom: 25px;
  }
  #feature #toc ul li{
    line-height: 1.15;
  }
  #feature #toc ul li:nth-child(n+2){
    margin-top: 10px;
  }
  #feature #toc ul li a{
    display: block;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  #feature #toc ul li a:hover{
    text-decoration: underline;
  }
  #feature #toc ul li a::after{
    content: "";
    width: 15px;
    height: 15px;
    background: url('../images/arrow_right_alt_black.svg') no-repeat center center/contain;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    padding-left: 5px;
  }
}

/* trouble */
#feature #trouble{
  padding: 60px 0 90px;
}
#feature #trouble .wrapper2 h3{
  width: 60.7%;
  margin: 90px 0 0 auto;
}
#feature #trouble .trouble_list{
  background-color: #ff0;
  margin-top: 40px;
}
#feature #trouble .trouble_list .wrapper2{
  display: flex;
  align-items: flex-start;
}
#feature #trouble .trouble_list .wrapper2 img{
  width: 35%;
  flex-shrink: 0;
  margin-top: -65px;
}
#feature #trouble .trouble_list ul{
  padding: 60px 0;
  width: 100%;
  margin-left: 4.3%;
}
#feature #trouble .trouble_list ul li{
  font-size: 17px;
  font-weight: 700;
  line-height: 1.4;
  padding-left: 30px;
  position: relative;
}
#feature #trouble .trouble_list ul li::before{
  content: "";
  width: 20px;
  height: 9px;
  border-style: solid;
  border-width: 0 0 3px 3px;
  border-color: #5e8e9b;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position: absolute;
  top: 0;
  left: 0;
}
#feature #trouble .trouble_list ul li:nth-child(n+2){
  margin-top: 20px;
}
#feature #trouble .trouble_list ul li .ul{
  color: #007c86;
  text-decoration: underline;
}
#feature #trouble .container h3{
  margin-top: 70px;
}

@media all and (max-width: 768px) {
  #feature #trouble{
    padding: 40px 0 50px;
  }
  #feature #trouble img{
    width: 100%;
    margin-top: 25px;
  }
  #feature #trouble .wrapper2 h3{
    margin-top: 45px;
    width: 100%;
  }
  #feature #trouble .trouble_list{
    margin-top: 20px;
  }
  #feature #trouble .trouble_list ul{
    padding: 30px 0;
    margin-left: 0;
  }
  #feature #trouble .trouble_list ul li{
    padding-left: 25px;
    font-size: 16px;
  }
  #feature #trouble .trouble_list ul li:nth-child(n+2){
    margin-top: 10px;
  }
  #feature #trouble .trouble_list ul li::before{
    width: 13px;
    height: 6px;
    border-width: 0 0 2px 2px;
    top: 4px;
  }
  #feature #trouble .container h3{
    margin-top: 50px;
  }
}

/* feature3 */
#feature #feature3{
  padding: 100px 0 130px;
  background-color: #baced3;
}
#feature #feature3 .container > ul{
  counter-reset: item;
}
#feature #feature3 .container > ul > li{
  margin-top: 40px;
  position: relative;
}
#feature #feature3 .container > ul > li::before{
  counter-increment: item;
  content: counter(item,decimal-leading-zero);
  display: block;
  font-size: 140px;
  line-height: 160px;
  font-weight: 700;
  text-align: center;
  color: rgba(255,255,255,.6);
}
#feature #feature3 .container > ul > li::after{
  content: "";
  width: 140px;
  height: 8px;
  background-color: rgba(255,255,255,.6);
  position: absolute;
  top: 152px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
#feature #feature3 .ruby{
  margin-top: 40px;
}
#feature #feature3 h4{
  font-size: 26px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  margin-top: 40px;
}
#feature #feature3 .img{
  margin-top: 30px;
}
#feature #feature3 .result_img img,
#feature #feature3 .img img{
  display: block;
  width: 100%;
  height: auto;
}
#feature #feature3 .result_img{
  max-width: 760px;
  width: 100%;
  margin: 10px auto 0;
}
#feature #feature3 .level{
  margin: 25px auto 0;
  border: 3px solid #5e8e9b;
  max-width: 620px;
  width: 100%;
  background-color: #fff;
  padding: 40px 6% 40px 4%;
}
#feature #feature3 .level li{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#feature #feature3 .level li:nth-child(n+2){
  margin-top: 7px;
}
#feature #feature3 .level .material{
  display: flex;
  align-items: center;
}
#feature #feature3 .level .material p{
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  margin-top: 0;
}
#feature #feature3 .level .material img{
  width: 46px;
  height: auto;
  margin-right: 15px;
}
#feature #feature3 .level .star{
  display: flex;
  align-items: center;
}
#feature #feature3 .level .star img{
  width: 23px;
  height: auto;
}
#feature #feature3 .level + p{
  margin-top: 55px;
}

@media all and (max-width: 768px) {
  #feature #feature3{
    padding: 60px 0 80px;
  }
  #feature #feature3 .container > ul > li{
    margin-top: 20px;
  }
  #feature #feature3 .container > ul > li::before{
    font-size: 70px;
    line-height: 80px;
  }
  #feature #feature3 .container > ul > li::after{
    width: 70px;
    height: 4px;
    top: 76px;
  }
  #feature #feature3 .ruby{
    font-size: 14px;
    margin-top: 20px;
  }
  #feature #feature3 h4{
    font-size: 20px;
    margin-top: 20px;
  }
  #feature #feature3 .img{
    margin-top: 15px;
  }
  #feature #feature3 .level{
    border-width: 2px;
    max-width: none;
    padding: 15px 5% 30px;
  }
  #feature #feature3 .level li{
    flex-direction: column;
  }
  #feature #feature3 .level .material{
    justify-content: flex-start;
    width: 100%;
  }
  #feature #feature3 .level .material img{
    width: 40px;
    margin-right: 10px;
  }
  #feature #feature3 .level .star{
    margin-top: 3px;
  }
  #feature #feature3 .level li:nth-child(n+2){
    margin-top: 13px;
  }
  #feature #feature3 .level .star img{
    width: 18px;
  }
  #feature #feature3 .level + p{
    margin-top: 30px;
  }
}

/* case */
#feature #case{
  padding: 110px 0 130px;
  background: url('../images/top_misunderstanding_bg.jpg') no-repeat center top;
}
#feature #case .case_box{
  margin-top: 50px;
  padding: 40px 4.4%;
  border: 4px solid #6ca5ae;
  background-color: #fff;
}
#feature #case .case_box + .case_box{
  margin-top: 40px;
}
#feature #case p.title{
  font-size: 26px;
  font-weight: 700;
  margin-top: 0;
}
#feature #case .case_box .img{
  margin-top: 30px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
#feature #case .case_box .img img{
  max-width: 50%;
}
#feature #case .case_box .img img:nth-child(n+2){
  margin-left: 2px;
}
#feature #case .case_box .btn{
  margin-top: 25px;
}

@media all and (max-width: 768px) {
  #feature #case{
    padding: 60px 0 80px;
    background-position: left top;
  }
  #feature #case .case_box{
    margin-top: 25px;
    padding: 30px 5%;
    border-width: 2px;
  }
  #feature #case .case_box + .case_box{
    margin-top: 20px;
  }
  #feature #case p.title{
    font-size: 20px;
    line-height: 1.2;
  }
  #feature #case .case_box .img{
    margin-top: 15px;
  }
  #feature #case .case_box .img img:nth-child(n+2){
    margin-left: 1px;
  }
  #feature #case .case_box .img + p{
    margin-top: 15px;
  }
  #feature #case .case_box .btn{
    margin-top: 15px;
  }
}

/* other_feature */
#feature #other_feature{
  padding: 120px 0 150px;
}
#feature #other_feature .ruby{
  margin-top: 70px;
}
#feature #other_feature .table_box{
  max-width: 700px;
  width: 100%;
  margin: 20px auto 0;
}
#feature #other_feature .table_box p.note{
  font-size: 14px;
  color: #666;
  margin-top: 15px;
}
#feature #other_feature .container > .img{
  max-width: 630px;
  width: 100%;
  margin: 30px auto;
}
#feature #other_feature .container > .img img{
  display: block;
  width: 100%;
  height: auto;
}
#feature #other_feature .container > .btn{
  margin-top: 35px;
}
#feature #other_feature h4{
  font-size: 26px;
  margin-top: 40px;
  line-height: 1.4;
}
#feature #other_feature .slipout_merits{
  margin-top: 15px;
  display: flex;
  justify-content: space-between;
}
#feature #other_feature .slipout_merits .img{
  width: 50%;
}
#feature #other_feature .slipout_merits .img img{
  display: block;
  width: 100%;
  height: auto;
}
#feature #other_feature .slipout_merits .txt{
  width: 46.2%;
}
#feature #other_feature .slipout_merits ul li{
  font-size: 16px;
  line-height: 1.4;
  padding-left: 15px;
  position: relative;
}
#feature #other_feature .slipout_merits ul li:nth-child(n+2){
  margin-top: 10px;
}
#feature #other_feature .slipout_merits ul li::before{
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: #1a1a1a;
  position: absolute;
  top: 8px;
  left: 0;
}

@media all and (max-width: 768px) {
  #feature #other_feature{
    padding: 60px 0 80px;
  }
  #feature #other_feature .ruby{
    margin-top: 40px;
    font-size: 14px;
  }
  #feature #other_feature .table_box{
    margin: 15px auto 20px;
  }
  #feature #other_feature .table_box p.note{
    font-size: 13px;
    margin-top: 10px;
  }
  #feature #other_feature .container > .img{
    margin: 15px auto;
  }
  #feature #other_feature .container > .btn{
    margin-top: 20px;
  }
  #feature #other_feature h4{
    font-size: 20px;
    margin-top: 30px;
  }
  #feature #other_feature .slipout_merits{
    margin-top: 10px;
    flex-direction: column;
  }
  #feature #other_feature .slipout_merits .img,
  #feature #other_feature .slipout_merits .txt{
    width: 100%;
  }
  #feature #other_feature .slipout_merits .txt{
    margin-top: 15px;
  }
  #feature #other_feature .slipout_merits ul li:nth-child(n+2){
    margin-top: 7px;
  }
  #feature #other_feature .slipout_merits .btn{
    margin: 20px auto 0;
  }
}

/* range */
#feature #range{
  padding: 90px 0 110px;
  background-color: #baced3;
}
#feature #range .img{
  height: 170px;
  background: url('../images/feature_range_img.jpg') repeat-x center center/contain;
  margin: 50px 0;
}
#feature #range p.center{
  margin-top: 60px;
}
#feature #range .btn{
  margin-top: 20px;
}

@media all and (max-width: 768px) {
  #feature #range{
    padding: 60px 0 80px;
  }
  #feature #range .img{
    background: none;
    height: auto;
    margin: 40px 0;
  }
  #feature #range .img img{
    display: block;
    width: 100%;
    height: auto;
  }
  #feature #range p.center{
    margin-top: 50px;
  }
  #feature #range .btn{
    margin-top: 15px;
  }
}

/* achievement */
#feature #achievement{
  padding: 100px 0 120px;
  background-color: #fff;
}
#feature #achievement img{
  display: block;
  width: 90vw;
  max-width: 980px;
  margin: 40px auto 60px;
}

@media all and (max-width: 768px) {
  #feature #achievement{
    padding: 60px 0 80px;
  }
  #feature #achievement img{
    margin: 30px auto 40px;
  }
}

/* award */
#feature #award{
  padding: 80px 0 150px;
  border-top: 1px solid #ddd;
  background-color: #fff;
}
#feature #award img{
  margin-top: 50px;
  width: 100%;
}

@media all and (max-width: 768px) {
  #feature #award{
    padding: 60px 0 80px;
  }
  #feature #award .container{
    width: 82vw;
  }
  #feature #award img{
    margin-top: 20px;
    width: 100%;
  }
}



/**
 * 内藤プロフィール（/about/profile）
 */
.profile_outline{
  border: 5px solid #ff0;
  padding: 90px 4% 40px;
  width: 90%;
  margin: -60px auto 0;
  position: relative;
  z-index: 1;
}

@media all and (max-width: 768px) {
  .profile_outline{
    border-width: 3px;
    padding: 45px 4% 20px;
    width: 94%;
    margin-top: -30px;
  }
}


/**
 * 防滑施工の流れ（service/step）
 */
.step_order{
  margin-top: 70px;
  background-color: #007c86;
  color: #fff;
  padding: 11px 0;
}
.step_1_tel{
  font-size: 30px;
  letter-spacing: 0;
  margin-right: 10px;
  display: inline-block;
  line-height: 1;
}
@media all and (max-width: 768px) {
  .step_order{
    margin-top: 40px;
    padding: 6px 0;
  }
  .step_1_tel{
    font-size: 24px;
    display: block;
  }
}

/**
 * プライバシーポリシー（privacy）
 */
.privacy-policy main h2{
  font-size: 26px;
}
.privacy-policy main h2:nth-child(n+2){
  margin-top: 80px;
}

@media all and (max-width: 768px) {
  .privacy-policy main h2{
    font-size: 20px;
  }
  .privacy-policy main h2:nth-child(n+2){
    margin-top: 40px;
  }
}


/**
 * アカデミー（academy）
 */
 #lp .container{
   width: 100vw;
   /* max-width: 1120px; */
   max-width: 100%;
   margin: 0 auto;
 }
 #lp .container h1{
   background: #ecde21;
   text-align: center;
   margin: 0 auto;
   padding: 0;
   line-height: 0.1px;
 }
 #lp .container .mainBox{
   max-width: 920px;
   margin: 5rem auto 0;
   padding-bottom: 8rem;
 }
 #lp .container .mainBox h2{
   font-size: 30px;
   margin: 3.5rem 0 2.5rem;
 }
 #lp .container .mainBox p{
   font-size: 18px;
   font-weight: 300;
   margin-bottom: 2.5rem;
 }
 #lp .container .mainBox p strong{
   font-weight: 800;
 }
 #lp .container h2.title{
   font-size: 30px;
   background: #ecde21;
   text-align: center;
   margin: 0 auto;
   padding: 4rem 0;
   line-height: ;
 }
  #lp .container .list_box{
    padding: 40px 3% 0 3%;
    border: 4px solid #ecde21;
    font-weight: 400;
  }
  #lp .container .list_box h3{
    font-size: 20px;
  }
  #lp .container .list_box p {
    font-size: 17px;
    margin: 1rem 0 2.5rem;
    margin-left: 1rem;
  }
  #lp .container .img_box p {
    font-size: 16px;
  }
  #lp .container .img_box.img_left img {
    margin-right: 4%;
  }
  #lp .container .table_box table.type2 td,
  #lp .container .table_box table.type2 th {
    font-size: 18px;
  }
  #lp .container .table_box table.type2 tr td:first-child {
    text-align: left;
  }
  #lp .container .table_box table.type2 td.special {
    background: #ecde21;
    font-weight: 800;
    border: 1px solid #FFF;
  }

@media all and (max-width: 768px) {
  #lp .container .mainBox{
    width: 96vw;
    margin: 3rem auto;
  }
  #lp .container .img_box p {
    font-size: 15px;
  }
}
