@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) {}
/*:::::::::::【オーバーレイ】::::::::::*/
.overlay {
  position: relative;
  padding: 100px 0;
}
.overlay::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 2;
}
/*:::::::::::【横幅】::::::::::*/
.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: 50px auto 0 auto;
}
@media (max-width:1280px) {}
@media (max-width:1024px) {}
@media (min-height:1366px) { /*ipad pro*/
}
@media (max-width:900px) {}
@media (max-width:600px) {}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*===========================================================================
イメージ
==========================================================================*/
.img-box img {
  width: 100%;
}
/*===========================================================================
メインタイトル　横(左)
==========================================================================*/
.ml-yoko {
  width: 100%;
  text-align: left;
  margin-right: auto;
}
.ml-yoko span {
  text-align: left;
}
@media (max-width:600px) {
  .ml-yoko {
    text-align: center;
    margin: 0;
  }
  .ml-yoko span {
    text-align: center;
  }
}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*===========================================================================
メインタイトル　縦(左)
==========================================================================*/
.ml-tate {
  writing-mode: vertical-rl; /* 右から左への縦書き */
  text-align: center;
  width: 20%;
  margin: 0;
  margin-right: auto !important;
}
.ml-tate h3 {
  margin: 0;
  margin: 5px;
}
.ml-tate span {
  display: block;
  text-align: left;
  line-height: 2;
}
@media (max-width:600px) {
  .ml-tate {
    writing-mode: horizontal-tb;
    width: 100%;
  }
  .ml-tate span {
    text-align: center;
  }
}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*===========================================================================
メインタイトル　縦(右)
==========================================================================*/
.mr-tate {
  writing-mode: vertical-rl; /* 右から左への縦書き */
  text-align: center;
  width: 20%;
  margin: 0;
  margin-left: auto !important;
}
.mr-tate h3 {
  margin: 0;
  margin: 5px;
}
.mr-tate span {
  display: block;
  text-align: left;
  line-height: 2;
}
@media (max-width:600px) {
  .mr-tate {
    writing-mode: horizontal-tb;
    width: 100%;
  }
  .mr-tate span {
    text-align: center;
  }
}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*===========================================================================
TOP
==========================================================================*/
/*:::::::::::【】::::::::::*/
#slider-box {
  position: relative;
  height: calc(100vh - 80px);
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  overflow: hidden;
}
.slider {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: 100%;
}
.top-txt {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: bold;
  font-style: italic;
  font-size: 12rem;
  line-height: 1.1;
  position: absolute;
  bottom: 0;
  left: 10px;
  text-shadow: 3px 3px 4px rgba(0, 0, 0, 0.3);
}
@media (max-width:1500px) {
  .top-txt {
    font-size: 10rem;
  }
}
@media (max-width:1400px) {
  .top-txt {
    font-size: 9rem;
  }
}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
  #slider-box {
    height: calc(50vh - 80px);
  }
  .top-txt {
    font-size: 7rem;
  }
}
@media (max-width:900px) {
  #slider-box {
    height: calc(50vh - 80px);
  }
  .top-txt {
    font-size: 5rem;
  }
}
@media (max-width:600px) {
  .top-txt {
    font-size: 4rem;
  }
}
@media (max-width:450px) {
  #slider-box {
    height: calc(40vh - 80px);
  }
  .top-txt {
    font-size: 3rem;
    left: 2px;
  }
}
@media (max-width: 400px) {
  .top-txt {
    font-size: 2.5rem;
  }
}
/*=========================================================
【ご挨拶】
==========================================================*/
/*:::::::::::【横幅】::::::::::*/
.greeting-back {
  background-image: url("../image/index/img.jpg");
  background-position: left;
  background-repeat: no-repeat;
  background-size: cover;
}
/*:::::::::::【コンテンツ】::::::::::*/
.greeting-contents {
  width: 80%;
}
/*:::::::::::【テキスト】::::::::::*/
.greeting-contents p {
  line-height: 2.3;
  font-size: 1.3rem;
  text-align: center;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {
  /*:::::::::::【テキスト】::::::::::*/
  .greeting-contents p {
    font-size: 1.2rem;
  }
}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
  /*:::::::::::【コンテンツ】::::::::::*/
  .greeting-contents {
    width: 100%;
  }
}
@media (max-width:900px) {
  /*:::::::::::【コンテンツ】::::::::::*/
  .greeting-contents {
    width: 100%;
  }
  /*:::::::::::【テキスト】::::::::::*/
  .greeting-contents p {
    font-size: 16px;
  }
}
@media (max-width:600px) {
  /*:::::::::::【テキスト】::::::::::*/
  .greeting-contents p {
    text-align: justify;
  }
}
@media (max-width:450px) {}
@media (max-width: 400px) {
  /*:::::::::::【テキスト】::::::::::*/
}
/*==========================================================================
お知らせ
==========================================================================*/
/*:::::::::::【背景】::::::::::*/
.news-back {
  overflow-x: hidden;
  height: auto;
}
.news-width {}
/*:::::::::::【メインタイトル】::::::::::*/
@media (max-width:1280px) {}
@media (max-width:1024px) {}
@media (min-height:1366px) { /*ipad pro*/
}
@media (max-width:900px) {}
@media (max-width:600px) {}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*:::::::::::【ニュース】::::::::::*/
.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: 2px solid #fff;
  border-right: 2px solid #5032ff;
  background-color: #000;
}
#newsWrap ul#newsList::-webkit-scrollbar {
  width: 4px;
}
#newsWrap ul#newsList::-webkit-scrollbar-track { /*バーの色*/
  background-color: #5032ff;
}
#newsWrap ul#newsList::-webkit-scrollbar { /*バーの色*/
  background-color: #5032ff;
}
.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: 2px solid #fff;
}
#newsWrap a { /*新着情報*/
  /*color: #fff;*/
  text-decoration: underline;
  text-decoration: none;
}
#newsWrap a:hover {
  color: #c1a223;
  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%;
  }
}
/*=========================================================
【リンク】
==========================================================*/
/*:::::::::::【背景】::::::::::*/
.link-back {
  background-image: url("../image/index/link-img.jpg");
  background-size: cover;
  background-position: center;
  width: 100%;
  height: auto;
}
/*:::::::::::【コンテンツ】::::::::::*/
.link-contents {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: center;
  margin-top: 0;
}
.link-wrap {
  width: 70%;
  display: flex;
  justify-content: flex-start;
}
.link-box {
  width: 70%;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.link-box li {
  margin: 10px 0;
}
/*:::::::::::【リンクbox】::::::::::*/
.link-box .insta, .link-box .tiktok {
  position: relative;
  background-color: #fff;
  color: #3a3a3a;
  font-family: "Oswald", sans-serif;
  font-weight: bold;
  font-size: 3rem;
  letter-spacing: 0.04em;
  text-align: right;
  padding: 10px 5px 10px 10px;
  overflow: hidden; /* 擬似要素のはみ出しを防ぐ */
  z-index: 0;
  transition: color 0.3s ease, transform 0.3s ease;
}
/* 擬似要素でスライド用の背景を作成 */
.link-box .insta::before, .link-box .tiktok::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background-color: #5032ff;
  z-index: -1;
  transition: transform 0.4s ease;
}
/* ホバーでスライド背景を右から流す */
.link-box .insta:hover::before, .link-box .tiktok:hover::before {
  transform: translateX(100%);
}
/* ホバー時の文字色とスライド */
.link-box .insta:hover, .link-box .tiktok:hover {
  color: #fff;
  transform: translateX(5px);
}
.link-box .insta {
  max-width: 100%;
  min-width: 100%;
}
.link-box .tiktok {
  max-width: 70%;
  min-width: 70%;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
  /*:::::::::::【】::::::::::*/
}
@media (max-width:900px) {
  /*:::::::::::【】::::::::::*/
  .link-wrap {
    width: 80%;
  }
}
@media (max-width:600px) {
  /*:::::::::::【コンテンツ】::::::::::*/
  .link-contents {
    flex-direction: column;
  }
  .link-wrap {
    margin-top: 50px;
    width: 100%;
    justify-content: center;
  }
  .link-box {
    width: 100%;
    align-items: center;
  }
  /*:::::::::::【リンクbox】::::::::::*/
  .link-box .insta, .link-box .tiktok {
    font-size: 1.6rem;
    text-align: center;
  }
  .link-box .tiktok {
    max-width: 100%;
    min-width: 100%;
  }
}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*=========================================================
【施工実績】
==========================================================*/
/*:::::::::::【背景】::::::::::*/
.works-back {}
/*:::::::::::【コンテンツ】::::::::::*/
.works-contents {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0;
}
.works-box {
  width: 70%;
  margin-left: auto;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  align-items: flex-end;
}
/*:::::::::::【】::::::::::*/
.works-box span {
  display: block;
  height: 300px;
  width: 100%;
  background-image: url("../image/index/works-01.jpg");
  background-position: bottom;
  background-size: cover;
}
.works-box .bottom-img {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.bottom-img img {
  width: 50%;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
}
@media (max-width:900px) {}
@media (max-width:600px) {
  /*:::::::::::【コンテンツ】::::::::::*/
  .works-contents {
    flex-direction: column;
  }
  .works-box {
    width: 100%;
    margin: 0;
    margin-top: 50px;
    justify-content: space-evenly;
    align-items: flex-end;
  }
  /*:::::::::::【】::::::::::*/
  .works-box span {
    height: 200px;
  }
}
@media (max-width:450px) {
  .works-box .bottom-img {
    flex-direction: column;
  }
  .bottom-img img {
    width: 100%;
  }
}
@media (max-width: 400px) {}
/*=========================================================
【業務内容】
==========================================================*/
/*:::::::::::【コンテンツ】::::::::::*/
/*.business-contents {
  margin-top: 100px;
}*/
/*:::::::::::【リスト】::::::::::*/
.business-list li {
  height: 200px;
}
/*:::::::::::【個別】::::::::::*/
.b-01 {
  background-image: url("../image/index/business-01.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.b-02 {
  background-image: url("../image/index/business-02.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.b-03 {
  background-image: url("../image/index/business-03.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (max-width:1500px) {
  /*:::::::::::【リスト】::::::::::*/
  .business-list li {
    height: 150px;
  }
}
@media (max-width:1400px) {}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
  /*:::::::::::【コンテンツ】::::::::::*/
}
@media (max-width:900px) {
  /*:::::::::::【コンテンツ】::::::::::*/
}
@media (max-width:600px) {
  /*:::::::::::【コンテンツ】::::::::::*/
}
@media (max-width:450px) {}
@media (max-width: 400px) {}
/*=========================================================
【求人情報】
==========================================================*/
/*:::::::::::【背景】::::::::::*/
/*.link-width {
  width: 80%;
  margin-left: auto;
}*/
/*:::::::::::【コンテンツ】::::::::::*/
.recruit-contents {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: center;
}
.recruit-box {
  width: 70%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.recruit-box img {
  width: 100%;
}
.r-txt {
  margin-top: 50px;
  text-align: center;
}
.r-txt dt {
  text-align: center;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  padding-bottom: 15px;
}
.r-txt dd {
  font-size: 1.2rem;
}
@media (max-width:1500px) {}
@media (max-width:1400px) {
  .r-txt dt {
    font-size: 1.3rem;
  }
  .r-txt dd {
    font-size: 16px;
  }
}
@media (max-width:1280px) {}
@media (min-height:1366px) { /*ipad pro*/
  /*:::::::::::【】::::::::::*/
}
@media (max-width:900px) {
  /*:::::::::::【】::::::::::*/
}
@media (max-width:600px) {
  /*:::::::::::【コンテンツ】::::::::::*/
  .recruit-contents {
    flex-direction: column;
    margin-top: 0;
  }
  .recruit-box {
    width: 100%;
    margin-top: 50px;
  }
}
@media (max-width:450px) {}
@media (max-width: 400px) {}