@charset "utf-8";
/* default PC */

/* 共通 */

#works #contents .inner {
  max-width:1750px;
}

.bg-gray.last {
  margin-bottom:0;
}

.architecture-area img,
.civil-engineering-area img,
.pavement-area img {
  border-radius:10px;
}

.architecture-area .gallery,
.civil-engineering-area .gallery,
.pavement-area .gallery {
  margin:0;
}

#contents .main-txt {
  -webkit-background-clip:text;
  color:transparent;
  font-size:36px;
  font-weight:bold;
  line-height:1.7em;
  margin:0 0 20px 0;
  padding:0;
}

.bg-gray {
  margin:80px 0;
  padding:80px 0;
}

.works-item {
  background-color:#FFF;
  border-radius:10px;
  padding:40px 40px;
}

#contents .works-item h3 {
  -webkit-background-clip:text;
  color:transparent;
  font-weight:bold;
  margin:0 0 20px 0;
  padding:0;
  text-align:center;
}

.works-list-area .works-item {
  background-color:#ECECEC;
  padding:20px;
  text-align:center;
}

.works-list-area .works-item .works-img {
  margin:0 auto 10px auto;
}

#contents .works-list-area .works-item p {
  font-weight:bold;
  line-height:1.6em;
  margin:0;
}

.jobdescription-area .works-img {
  margin:0 auto 20px auto;
}

#contents .jobdescription-area .works-item p {
  margin:0;
}

/* 建築部 */

#architecture .housing-area .link-btn {
  max-width:410px;
  padding:19px 40px;
  text-align:start;
}

#architecture .housing-area .bg-gray {
  margin-top:0;
}

#architecture .anclink-area {
  margin:20px 0 70px 0;
}

/* 土木部 */

/* 舗装部 */

#pavement .hrd-area .works-item {
  background-color:#F2F2F2;
  margin:0 30px 30px 0;
  padding:0;
  text-align:center;
}

#pavement .hrd-area .works-item p {
  font-weight:bold;
  margin-bottom:0;
  padding:10px 0;
}

#pavement .hrd-area .works-item img {
  border-radius:10px 10px 0 0;
}

#pavement .hrd-area .works-box-area .flex {
  justify-content:start;
}

#pavement .hrd-area .works-item.end {
  margin-right:0;
}

#pavement h4.main-txt:before {
  display:none;
}

#pavement .works-list-area .works-item {
  background-color:#FFF;
}

.curriculum-img .item-box {
  background-color:#E0EEF9;
  border-radius:10px;
  margin-bottom:30px;
  padding:30px;
}

#contents .curriculum-img .item-box .txt-img {
  margin-bottom:40px;
}

#contents .item-txt {
  font-size:20px;
  font-weight:500;
  text-align:center;
}

.table-over img {
  min-width:1000px;
}

#contents .box-mb.last .works-box-area .flex {
  gap:30px;
}

#contents .box-mb.last .works-box-area .flex .works-item {
  margin:0;
}

@media screen and (max-width: 1500px) {
  .works-item {
    padding:30px;
  }

  .pavement-area .anclink-area {
    gap:30px;
  }

  .pavement-area .anclink-area .txt-4box {
    margin:0;
    width:calc(100% / 3 - 20px);
  }

  .pavement-area .anclink-area .txt-4box a.link-btn.anchor {
    max-width:100%;
  }
}

@media screen and (max-width: 1500px) {
  #contents .jobdescription-area p.txt-center {
    text-align:left;
  }

  #contents .jobdescription-area p.txt-center br {
    display:none;
  }
}

#contents p.txt-sp-1140 {
  display:none;
}


/* view-1140 notePC,Tablet */
@media screen and (max-width: 1140px) {
  #contents p.txt-sp-1140 {
    display:block;
  }

  #contents .main-txt {
    font-size:22px;
  }

  #contents .works-item {
    margin:0;
    padding:20px;
  }

  #contents #jobdescription p.txt-center {
    text-align:left;
  }

  #contents #jobdescription p.txt-center br {
    display:none;
  }

  .works-box-area .flex {
    gap:30px;
  }

  #pavement .hrd-area .works-item {
    margin:0;
  }

  #contents .box-mb.last .works-box-area .flex {
    gap:20px;
  }

  #contents .box-mb.last .works-box-area .flex .txt-4box.works-item {
    width:calc(100% / 4 - 15px);
  }
}


/* view-959 Mobile,Tablet */
@media screen and (max-width: 959px) {
  .anclink-area .txt-4box .link-btn.anchor {
    margin-top:20px;
    max-width:100%;
  }

  #contents .works-item {
    width:calc(100% / 2 - 15px);
  }

  .pavement-area .anclink-area .txt-4box {
    width:calc(100% / 2 - 15px);
  }

  .pavement-area .anclink-area .txt-4box a.link-btn.anchor {
    margin:0;
  }

  .pavement-area .anclink-area {
    gap:15px;
    margin-top:30px;
  }

  #jobdescription .img-2box {
    margin:0 auto 10px;
    max-width:450px;
    width:100%;
  }

  .hrd-area .img-area .txt-3box {
    width:calc(100% / 3 - 10px);
  }

  #contents .item-txt {
    font-size:16px;
    text-align:left;
  }

  #contents .works-box-area .flex {
    justify-content:center;
  }

  #contents .box-mb.last .works-box-area .flex .txt-4box.works-item {
    width:calc(100% / 2 - 15px);
  }
}

@media screen and (max-width: 767px) {
  #pavement .hrd-area .works-item p br.sp-none {
    display:block;
  }

  #contents .curriculum-img .item-box h4 {
    font-size:20px;
  }

  .curriculum-img .item-box {
    padding:20px;
  }
}

@media screen and (max-width: 640px) {
  #contents .works-item {
    width:calc(100% / 2 - 10px);
  }

  .works-box-area .flex {
    gap:15px;
  }

  .pavement-area .anclink-area .txt-4box {
    width:100%;
  }

  .hrd-area .img-area .txt-3box {
    width:calc(100% / 2 - 5px);
  }

  .hrd-area .img-area .txt-3box:first-child {
    width:100%;
  }

  .hrd-area .img-area {
    gap:10px;
  }

  #pavement .hrd-area .works-item {
    width:calc(100% / 2 - 10px);
  }

  #contents .box-mb.last .works-box-area .flex {
    gap:15px;
  }
}

/* view-559 Mobile */
@media screen and (max-width: 559px) {
  #contents .main-txt {
    font-size:18px;
    margin:5px 0 15px;
  }

  #architecture .anclink-area .txt-4box {
    margin:0;
    width:100%;
  }

  #contents .works-item {
    padding:15px 15px 20px;
    width:100%;
  }

  #contents .works-item h3 {
    margin:0 0 15px 0;
  }

  #contents .works-box-area .txt-3box.works-item {
    padding:15px;
  }

  #pavement .hrd-area .works-item:nth-child(5) p {
    font-size:14px;
  }

  #pavement .hrd-area .works-item p {
    line-height:1.5em;
  }

  .curriculum-img .item-box {
    padding:20px 15px;
  }

  #contents .item-txt {
    margin-bottom:5px;
  }

  #contents .box-mb.last .works-box-area .flex .txt-4box.works-item {
    width:100%;
  }
}
