@charset "utf-8";
/*=========================================================
all
=========================================================*/
/*:::::::::::【背景】::::::::::*/
.back {
  padding: 100px 0;
}
@media (max-width:1280px) {}
@media (max-width:1024px) {}
@media (min-height:1366px) { /*ipad pro*/
  .back {
    padding: 60px 0;
  }
}
@media (max-width:900px) {
  .back {
    padding: 50px 0;
  }
}
@media (max-width:600px) {}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*:::::::::::【横幅】::::::::::*/
.width {
  max-width: 80%;
  margin: 0 auto;
  position: relative;
  z-index: 5;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (max-width:1024px) {}
@media (min-height:1366px) { /*ipad pro*/
}
@media (max-width:900px) {
  .width {
    max-width: 90%;
  }
}
@media (max-width:600px) {}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*:::::::::::【コンテンツ】::::::::::*/
.contents {
  position: relative;
  margin: 0 auto;
}
@media (max-width:1280px) {}
@media (max-width:1024px) {}
@media (min-height:1366px) { /*ipad pro*/
  /*  .contents {
    margin: 50px auto 0 auto;
  }*/
}
@media (max-width:900px) {
  /*  .contents {
    margin: 50px auto 0 auto;
  }*/
}
@media (max-width:600px) {}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*=========================================================
TOP
=========================================================*/
/*:::::::::::【】::::::::::*/
#slider-box {
  position: relative;
  width: 100%;
  height: calc(100vh - 100px);
  margin: 0 auto;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid #333;
  background-image: url("../image/index/top-back.png");
  background-position: right bottom;
}
.slider {
  width: 65%;
  height: 100%;
  margin-right: auto;
  overflow: hidden;
  background-color: #BFBFBF;
}
/*テキスト*/
.top-txt {
  position: relative;
  width: 35%;
  padding: 15px;
  color: #534741;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
}
.top-txt p {
  margin: 0;
  border-radius: 10px;
  font-family: "Courgette", cursive;
  font-weight: 400;
  font-size: clamp(1.875rem, 0.176rem + 3.02vw, 3.8rem); /*30～60.8*/
  text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.4);
}
.top-c-name {
  display: block;
  font-family: "Roboto Slab", serif;
  font-weight: 500;
  font-style: italic;
  font-size: clamp(1.875rem, 1.324rem + 0.98vw, 2.5rem); /*40.8~20*/
}
/*リンクボタン*/
.top-link-btn {
  text-align: right;
  margin-top: 10px;
}
.top-link-btn span {
  font-family: "Roboto Slab", serif !important;
  font-style: italic;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
  #slider-box {
    height: calc(50vh - 100px);
  }
}
@media (max-width:900px) {
  #slider-box {
    height: calc(50vh - 100px);
  }
}
@media (max-width:600px) {
  #slider-box {
    position: relative;
    height: calc(80vh - 100px);
    flex-direction: column;
  }
  .slider {
    width: 100%;
    height: 100%;
  }
  .top-txt {
    width: 100%;
  }
}
@media (max-width:450px) {
  .top-txt {
    font-size: 1.5rem;
  }
}
@media (max-width: 400px) {}
/*=========================================================
【お知らせ】
=========================================================*/
/*:::::::::::【背景】::::::::::*/
.news-back {
  overflow-x: hidden;
  height: auto;
}
.news-width {}
/*:::::::::::【メインタイトル】::::::::::*/
.news-mtitle {
  margin-bottom: 80px;
}
/*:::::::::::【パターン】::::::::::*/
.n-ptn-01 {
  position: absolute;
  top: 30%;
  left: 0;
  transform: translateY(-30%);
  transform: scaleY(-1);
  height: 200px;
}
.n-ptn-02 {
  position: absolute;
  bottom: 0;
  right: 0;
  transform: scaleX(-1);
  height: 200px;
}
@media (max-width:1280px) {}
@media (max-width:1024px) {}
@media (min-height:1366px) { /*ipad pro*/
}
@media (max-width:900px) {
  .n-ptn-01 {
    height: 150px;
  }
  .n-ptn-02 {
    height: 150px;
  }
}
@media (max-width:600px) {
  .news-back {
    padding-bottom: 0;
  }
  /*:::::::::::【メインタイトル】::::::::::*/
  .news-mtitle {
    margin-bottom: 60px;
  }
  /*:::::::::::【パターン】::::::::::*/
  .n-ptn-01 {
    top: 41%;
    transform: translateY(-41%);
    transform: scaleY(-1);
    height: 100px;
  }
  .n-ptn-02 {
    position: absolute;
    bottom: 15%;
    right: 0;
    transform: translateY(-15%);
    transform: scaleX(-1);
    height: 100px;
  }
}
@media (max-width:450px) {
  /*:::::::::::【パターン】::::::::::*/
  .n-ptn-01 {
    height: 82px;
  }
  .n-ptn-02 {
    bottom: 19%;
    transform: translateY(-19%);
    transform: scaleX(-1);
    height: 82px;
  }
}
@media (max-width: 400px) {
  /*:::::::::::【パターン】::::::::::*/
  .n-ptn-01 {
    top: 42%;
    transform: translateY(-42%);
    transform: scaleY(-1);
    height: 71px;
  }
  .n-ptn-02 {
    position: absolute;
    bottom: 20%;
    right: 0;
    transform: translateY(-20%);
    transform: scaleX(-1);
    height: 71px;
  }
}
/*:::::::::::【ニュース】::::::::::*/
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.clearfix {
  display: inline-block;
  margin: 3%;
}
/* for macIE \*/
* html .clearfix {
  height: 1%;
}
.clearfix {
  display: block;
}
.news-flex {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.news_titl {
  width: 25%;
}
.news-box {
  width: 100%;
}
#newsWrap {
  display: block;
  width: 100%;
  margin: 0 auto;
  height: auto;
  position: relative;
}
.back_w {
  position: absolute;
  top: 0;
  right: 0;
  width: 65%;
  z-index: -10;
}
#newsWrap ul#newsList { /*211029〜*/
  width: 100%;
  overflow-y: scroll;
  height: 200px;
  padding: 0 5px;
  display: block;
  border: 1px solid #534741;
  border-right: 2px solid #534741;
  background-color: #fff;
}
#newsWrap ul#newsList::-webkit-scrollbar {
  width: 4px;
}
#newsWrap ul#newsList::-webkit-scrollbar-track { /*バーの色*/
  background-color: #534741;
}
#newsWrap ul#newsList::-webkit-scrollbar { /*バーの色*/
  background-color: #534741;
}
.news-flex {
  width: 100%;
}
ul#newsList {
  display: block;
  margin: 0 auto;
}
ul#newsList li {
  font-size: 1em;
  margin: 0;
  padding: 2% 3%;
  margin-bottom: 3px;
  list-style-type: none;
  border-bottom: 1px dashed #534741;
}
#newsWrap a { /*新着情報*/
  /*color: #fff;*/
  text-decoration: underline;
  text-decoration: none;
}
#newsWrap a:hover {
  color: #00782f;
  text-decoration: none;
}
.up_ymd { /*日付*/
  /*color: #fff;*/
  padding: 1%;
  text-align: left;
}
.catName { /*お知らせ・施工実績などの名前*/
  display: inline-block;
  padding: 3px;
  border: 1px solid #d80000;
  border-radius: 6px;
  font-size: 0.9em;
  line-height: 100%;
  margin: 0 2px;
  color: #d80000;
}
.newMark { /*newマーク*/
  display: inline-block;
  padding: 1px 4px;
  font-size: 11px;
  line-height: 100%;
  color: #FF0000;
  border-radius: 8px;
  font-style: italic;
  font-weight: bold;
}
.comment {
  display: block;
  padding: 3px 0;
  float: left;
  overflow: hidden;
  width: 80%; /* 本文部分の幅。ここは特に設置ページ合わせて変更下さい */
}
.thumbNailWrap {
  display: block;
  width: 110px;
  float: left;
  height: 80px;
  overflow: hidden;
}
.sp {
  display: none;
}
.copyright2 a {
  /*color: #fff !important;*/
}
@media all and (max-width:1700px) {
  .back_w {
    width: 75%;
    /*      height: 500px;*/
  }
}
@media all and (max-width:1150px) {
  #newsWrap ul#newsList { /*211029〜*/
    width: 100%;
    /*	height: 100px;
*/
  }
  .text_img {
    width: 45%;
  }
}
@media all and (max-width:950px) {
  .up_ymd {
    display: block;
    /*width: 30%;*/
    margin: 1% 0;
  }
  #newsWrap ul#newsList { /*211029〜*/
    height: 250px;
  }
}
@media (max-width: 690px) {
  .text_img {
    top: 65%;
  }
  .news_titl {
    width: 40%;
    margin: 0 auto;
  }
  .news-box {
    width: 100%;
  }
  #newsWrap ul#newsList { /*211029〜*/
    width: 100%;
    margin: 0 auto;
    height: 100%;
  }
  .up_ymd {
    display: block;
    width: 100%;
    margin: 1% 0;
    text-align: left;
  }
  #newsWrap {
    width: 100%;
    height: 200px;
  }
  .news-box1 {
    width: 100%;
  }
  .news-box2 {
    width: 100%;
    margin-top: 8% !important;
  }
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
  .comment {
    width: 100%; /* 本文部分の幅。ここは特に設置ページ合わせて変更下さい */
  }
  .thumbNailWrap {
    width: 100%;
    height: auto;
  }
  .detailUpfile {
    margin: 20px;
    width: 100%;
    max-width: 50%;
  }
}
/*=========================================================
【はじめに】
==========================================================*/
/*:::::::::::【背景】::::::::::*/
.grt-back {
  padding-top: 0;
}
.grt-width {
  max-width: 100%;
}
/*:::::::::::【コンテンツ】::::::::::*/
.grt-cont {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  height: 50vh;
  align-items: stretch;
  gap: 0;
}
/* 変更：パディングを%やめてpxに（高さ増分を消す） */
.grt-cont dl {
  height: 100%;
  padding: 20px; /* ← 1% をやめる */
  background-color: #f4f4f4;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
}
.grt-cont dd {
  margin: 30px;
  line-height: 1.8;
}
/* そのままでもOK。背景が切れないよう保険で追加 */
.grt-cont .left-img {
  height: 100%;
  background-color: #999;
  background-image: url("../image/index/grt-01.png");
  background-size: cover; /* 追加 */
  background-position: center; /* 追加 */
}
.grt-cont .right-img {
  height: 100%;
  background-color: #999;
  background-image: url("../image/index/grt-02.png");
  background-size: cover; /* 追加 */
  background-position: right; /* 追加 */
}
/*:::::::::::【コンテンツ】::::::::::*/
/*:::::::::::【コンテンツ】::::::::::*/
@media (max-width:1500px) {
  .grt-cont {
    height: 60vh;
  }
}
@media (max-width:1400px) {}
@media (max-width:1280px) {
  .grt-cont {
    height: 70vh;
  }
}
@media (min-height:1366px) { /*ipad pro*/
  .grt-cont {
    height: 45vh;
  }
}
@media (max-width:900px) {
  .grt-cont {
    display: block;
    height: auto;
  }
  .grt-cont .left-img {
    display: none;
  }
  .grt-cont .right-img {
    height: 30vh;
  }
}
@media (max-width:600px) {}
@media (max-width:450px) {
  .grt-cont dd {
    margin: 30px 0;
  }
}
@media (max-width:420px) {}
@media (max-width: 400px) {}
/*=========================================================
【施工実績】
==========================================================*/
/*:::::::::::【背景・横幅】::::::::::*/
.wrk-back {
  padding-top: 0;
}
/*:::::::::::【コンテンツ】::::::::::*/
.wrk-cont {
  display: flex;
  align-items: center; /* 子要素を親の高さに揃える */
  justify-content: space-evenly;
  height: 70vh; /* ← 親が高さの“ものさし” */
  gap: 0;
}
.wrk-img {
  width: 30%;
  height: 100%;
  background-image: url("../image/index/wrk-img.png");
  background-position: center;
}
.wrk-txt {
  width: 40%;
  height: 80%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-evenly;
}
/*:::::::::::【テキスト】::::::::::*/
.wrk-txt dt {
  width: 100%;
}
.wrk-txt dd p {
  margin: 5%;
  line-height: 1.8;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
  .wrk-cont {
    height: 50vh;
  }
  .wrk-txt {
    width: 45%;
  }
}
@media (max-width:900px) {
  .wrk-cont {
    height: 60vh;
  }
  .wrk-txt {
    width: 45%;
  }
}
@media (max-width:600px) {
  .wrk-cont {
    flex-direction: column-reverse;
    height: auto; /* ← 親が高さの“ものさし” */
  }
  .wrk-img {
    width: 100%;
    height: 30vh;
    margin-top: 30px;
  }
  .wrk-txt {
    width: 100%;
    height: 80%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
  }
}
@media (max-width:450px) {}
@media (max-width:420px) {}
@media (max-width:400px) {}
/*=========================================================
【業務内容】
==========================================================*/
/*:::::::::::【背景・横幅】::::::::::*/
.svc-back {
  background-color: #D8D8D8;
}
/*:::::::::::【コンテンツ】::::::::::*/
.svc-txt {
  margin-top: 80px;
  text-align: center;
  line-height: 1.8;
}
.svc-img-box {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 50px;
  margin: 80px;
}
/*:::::::::::【イメージ】::::::::::*/
.svc-img-box img {
  width: 100%;
}
.svc-img-box p {
  text-align: center;
  margin-top: 10px;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {
  .svc-img-box {
    margin: 80px 0;
  }
}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
}
@media (max-width:900px) {
  .svc-img-box {
    margin: 50px 0;
  }
}
@media (max-width:600px) {
  .svc-txt {
    margin-top: 50px;
    text-align: justify;
  }
  .svc-img-box {
    display: block;
  }
  .svc-img-box li {
    margin-bottom: 50px;
  }
  .svc-img-box li:last-of-type {
    margin-bottom: 0;
  }
}
@media (max-width:450px) {}
@media (max-width:420px) {}
@media (max-width:400px) {}
/*=========================================================
【採用情報】
==========================================================*/
/*:::::::::::【背景・横幅】::::::::::*/
/*:::::::::::【コンテンツ】::::::::::*/
.rcrt-cont {
  display: flex;
  align-items: center; /* 子要素を親の高さに揃える */
  justify-content: space-evenly;
  height: 70vh; /* ← 親が高さの“ものさし” */
  gap: 0;
}
.rcrt-txt {
  width: 40%;
  height: 80%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-evenly;
}
.rcrt-img {
  width: 30%;
  height: 100%;
  background-image: url("../image/index/rcrt-img.png");
  background-position: center;
}
/*:::::::::::【テキスト】::::::::::*/
.rcrt-txt dt {
  width: 100%;
}
.rcrt-txt dd p {
  margin: 5%;
  line-height: 1.8;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
  .rcrt-cont {
    height: 40vh;
  }
}
@media (max-width:900px) {
  .rcrt-cont {
    height: 50vh;
  }
}
@media (max-width:600px) {
  .rcrt-cont {
    flex-direction: column;
    height: auto; /* ← 親が高さの“ものさし” */
  }
  .rcrt-img {
    width: 100%;
    height: 30vh;
    margin-top: 30px;
  }
  .rcrt-txt {
    width: 100%;
    height: 80%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
  }
}