@charset "utf-8";

/*-----------------------------------------------------------
sp.css
------------------------------------------------------------*/
@media screen and (max-width:767px) {

  
	body {
  overflow-x: hidden;
}

	.br-pc{
	display: none;
}

  .br-mid{
	display: none;
}
  .br-sp{
	display: block;
}

.sb-body{
  font-weight: 500;
	font-size: 14px;
  line-height: 2em;
  padding:10px;
  text-align: justify;
}
/* 白ベタ：見出しボックス（内側10pxの白枠） */
.sb-white-box-title{
  margin: 60px auto 30px;
  width: 90%;
  background:#fff;
  color:#004EA2;
  font-weight:700;
  font-size:20px;
  padding:30px;
  text-align:center;
  position:relative;
}
.sb-white-box-title::before{
  content:"";
  position:absolute; inset:10px;
  border:1px solid #004EA2;
  pointer-events:none;
}

/* ブルーベタ：見出しボックス（内側10pxの白枠） */
.sb-blue-box-title{
  margin: 30px auto 20px;
  width: 90%;
  background:#004EA2;
  color:#fff;
  font-weight:700;
  font-size:18px;
  padding:20px;
  text-align:center;
  position:relative;
}
.sb-blue-box-title::before{
  content:"";
  position:absolute; inset:10px;
  border:1px solid #fff;
  pointer-events:none;
  inset: 7px;
}
sb-blue-box-title h2{ margin:0; }

/*-------
タイトル
------------------------------------------------------------*/
.top-sb{
  width: 100%;
  height: 150px;
  position: relative;
  margin-top: 60px;
}
.top-sb img{
  object-fit: cover;
  height: 150px;
  width: 100%;
  display: block;
}
.sb-title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.sb-title-eg {
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 40px;
  letter-spacing: 0.01em;
  text-align: center;
  color: #cccccc;
  white-space: nowrap; 
}
.sb-title-jp {
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
  font-size: 20px;
  margin-top: -20px;
  text-align: center;
  color: #004EA2;
  letter-spacing: 0.15em;
}
/*-------
タイトル 2段組
------------------------------------------------------------*/
.sb-title-eg-2 {
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 40px;
  letter-spacing: 0.01em;
  text-align: center;
  color: #cccccc;
  white-space: nowrap; 
  line-height: 1em;
}
/*-------
パンくずリスト
------------------------------------------------------------*/
.breadcrumb{
  width: 90%;
  margin: 20px auto 0;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
	font-size: 14px;
}

/*-------
工事実績ブロック （共通：事業紹介詳細ページ+工事詳細ページ）
------------------------------------------------------------*/

.dt-business-content3-inner{
  margin: 20px auto 30px;
  width: 90%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}
.dt-business-content3-item{
  width: 48%;
  margin-bottom: 10px;
}
.dt-business-content3-item img {
  transition: 1.0s ease;
}
.dt-business-content3-item:hover img {
  filter: brightness(70%);
}
.dt-business-content3-name{
  width: 100%;
  background-color: #e6e6e6;
  padding: 6px 10px;
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
	font-size: 14px;
  line-height: 1.5em;
  word-wrap: break-word;   /* 長い単語でも折り返す */
  overflow-wrap: break-word;
  white-space: normal;     /* テキストを折り返す */  
}
.dt-business-content3-area{
  background-color: #333;
  color: #fff;
  padding: 6px 10px;
  display: inline-block;
  margin-top: 0px;
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-size: 14px;
  width: 100%;
}
.dt-business-content3-date{
  padding: 6px 10px;
  font-family: "Inter", sans-serif;
  font-weight: 500;
  font-style: normal;
	font-size: 14px;
}

/*-------
その他の事業内容ブロック （共通：事業紹介詳細ページ+工事詳細ページ）
------------------------------------------------------------*/

.dt-business-content4{
  width: 100%;
  margin: 40px auto 40px;
  background-color: #e6e6e6;
  padding-top: 40px;
  padding-bottom: 20px;
}
.dt-business-content4-inner{
  margin: 20px auto 20px;
  width: 90%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}
.dt-business-content4-item {
  width: 48%;
  position: relative;
  display: block;
  overflow: hidden;
  margin-bottom: 16px;
}
.dt-business-content4-item img {
  display: block;
  width: 100%;
  height: auto;
}
.dt-business-content4-item img {
  transition: opacity 1.0s ease;
}
.dt-business-content4-item:hover img {
  opacity: 0.7; /* 70%表示に */
}
.dt-business-content4-header {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white; /* 見やすいように白文字に */
  text-align: center;
  z-index: 2;
  white-space: nowrap;
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-size: 14px;
}
/*-- 共通ボタン：事業紹介詳細ページ+工事詳細ページ --*/
.dt-business-btn-text{
  width: 90%;
  margin: 0  auto 20px;
  text-align: center;
  background-color: #004EA2;
  color: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-size: 16px;
  padding: 16px ;
  transition: background-color 1s ease;
}
.dt-business-btn-text:hover{
  background-color: #42A5F5;
}
/*-- 共通タイトル：事業紹介詳細ページ+工事詳細ページ --*/
.sb-block-title{
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-size: 18px;
  text-align: center;
  margin-top: 0px;
  color: #004EA2;
  letter-spacing: -0.01em;
}
/*-------
リンク用ボタン（背景白+矢印青）
------------------------------------------------------------*/
.btn-icon-wh {
  width: 18px;
  height: 18px;
  background-color:#fff;
  border-radius: 50%;
  position: relative;
  transition: background-color 1s ease;
}
.btn-icon-wh::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-30%, -50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 9px;
  border-color: transparent transparent transparent #004EA2;
}
/*-----------------------------------------------------------
事業内容
------------------------------------------------------------*/

.sb-business-catg{
  margin-top: 30px;
  margin-bottom: 30px;
}
.sb-business-catg-title{
  margin: 0 auto;
  width: 80%;
  border-top: solid 1px #004EA2;
  border-bottom: solid 1px #004EA2;
  text-align: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
  font-size: 20px;
  padding-top: 20px;
  padding-bottom: 20px;
  letter-spacing: 0.1em;
  color:  #004EA2;
  margin-bottom: 40px;
}
.sb-business-content{
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto 60px;  
}
.sb-business-content-pic{
  width: 100%;
  background-color: #004EA2;
}
.sb-business-content-pic img{
  width: 90%;
}
.sb-business-content-text{
  width: 100%;
  background-color: #004EA2;
}
.sb-business-content-inner{
  width: 86%;
  margin-left: 7%;
  margin-right: 7%;
  margin-top: 20px;
  text-align: justify;
  color: #fff;
  letter-spacing: 0.1em;
}
.sb-business-content-headline{
  font-size: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
  line-height: 1.8em;
  border-bottom: solid 1px #fff;
  padding-bottom: 20px;
}
.sb-business-content-body{
  font-size: 14px;
  padding-top: 20px;
  line-height: 2em;
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
}
/* 2 */
.sb-business-content-pic2{
  order: 1;
  width: 100%;
  background-color: #004EA2;
}
.sb-business-content-pic2 img{
  width: 100%;
}
.sb-business-content-text2{
  order: 2;
  width: 100%;
  background-color: #004EA2;
}
.sb-business-content-inner2{
  width: 86%;
  margin-left: 7%;
  margin-right: 7%;
  margin-top: 20px;
  text-align: justify;
  color: #fff;
  letter-spacing: 0.1em;
}

/* カテゴリー分類 3列 */
.sb-business-inner{
  width: 100%;
  margin: 0 auto;
  background-color: #1f4db3; 
}
.sb-business-inner-3box{
  max-width: 1400px;
  width: 80%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  padding-top: 100px;
  padding-bottom: 140px;
}
.sb-business-inner-3box-2{
  max-width: 1400px;
  width: 80%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  padding-top: 100px;
  padding-bottom: 0px;
}
.sb-business-inner-3box-3{
  max-width: 1400px;
  width: 80%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  padding-top: 100px;
  padding-bottom: 140px;  
}
.sb-business-inner-item{
  width: 30%;
}
.sb-business-inner-item img {
  transition: 1.0s ease; 
}
.sb-business-inner-item:hover img {
  filter: brightness(70%); 
}
.sb-business-inner-catg {
  display: flex; /* 横並び */
  justify-content: center; /* 中央揃え（全体） */
  align-items: center; /* 垂直中央揃え */
  gap: 12px; /* テキストとアイコンの間隔 */
  
  width: 100%;
  background-color: #64B5F6;
  font-size: 22px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  padding-top: 20px;
  padding-bottom: 20px;
  letter-spacing: 0.1em;
  color: #fff;
    overflow: hidden; /* はみ出し防止 */
  transition: transform 1.0s ease;
}
.catg-inner {
  display: flex;
  align-items: center;
  gap: 12px;
  transition: transform 1.0s ease;
}
.sb-business-inner-item:hover .catg-inner {
  transform: translateX(20px);
}

/*------- 事業紹介（詳細ページ）
------------------------------------------------------------*/
.dt-business-content{
  width: 90%;
  margin: 0 auto;
}
.dt-business-content-title{
  margin: 0 auto 10px;
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 18px;
  background-color: #004EA2;
  padding: 14px 30px;
  color: #fff;
  text-align: center;
}
.dt-business-content-body{
  width: 100%;
  margin: 0 auto;
  padding: 10px;
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 14px;
  text-align: justify;
  line-height: 2em;
  margin-bottom: 20px;
}
.dt-business-inner{
  width: 100%;
  background-color: #e6e6e6;
  margin: 0 auto;
}
.dt-business-inner-container{
  width: 90%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  padding-top: 10px;
  padding-bottom: 10px;
}
.dt-business-inner-item{
  width: 48%;
  margin-top: 10px;
  margin-bottom: 10px;
}
.dt-business-inner-item p{
  padding: 0px;
  padding-top: 10px;
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 14px;
  text-align: left;
  line-height: 1.6em;
}
/* このようなお困りごとはございませんか？ */


.dt-business-content2{
  margin: 40px auto;
  width: 100%;
	background-image:url("../images/business/blue-back.jpg");
	background-size: cover;
	height: auto;
  padding-top: 20px;
  padding-bottom: 20px;
}
.dt-business-title{
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-size: 18px;
  text-align: center;
  margin-top: 20px;
  color: #004EA2;
}
.dt-business-content2-inner{
  width: 90%;
  margin: 20px auto;
  background-color: #fff;
}
.dt-business-content2-example{
  padding: 20px;
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-size: 16px;
  line-height: 1.8em;
}
/* カテゴリー分類 3列 */
.sb-business-inner{
  width: 100%;
  margin: 0 auto;
  background-color: #004EA2; 
}
.sb-business-inner-3box{
  max-width: 86%;
  width: 86%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto;
  padding-top: 40px;
  padding-bottom: 40px;
}
.sb-business-inner-3box-2{
  max-width: 86%;
  width: 86%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto;
  padding-top: 40px;
  padding-bottom: 0px;
}
.sb-business-inner-3box-3{
  max-width: 86%;
  width: 86%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto;
  padding-top: 0px;
  padding-bottom: 40px;  
}
.sb-business-inner-item{
  width: 75%;
  margin-bottom: 20px;
}
.sb-business-inner-item img {
  transition: 1.0s ease; 
}
.sb-business-inner-item:hover img {
  filter: brightness(70%); 
}
.sb-business-inner-catg {
  display: flex; /* 横並び */
  justify-content: center; /* 中央揃え（全体） */
  align-items: center; /* 垂直中央揃え */
  gap: 12px; /* テキストとアイコンの間隔 */
  
  width: 100%;
  background-color: #64B5F6;
  font-size: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  padding-top: 10px;
  padding-bottom: 10px;
  letter-spacing: 0.1em;
  color: #fff;
    overflow: hidden; /* はみ出し防止 */
  transition: transform 1.0s ease;
}
.catg-inner {
  display: flex;
  align-items: center;
  gap: 12px;
  transition: transform 1.0s ease;
}
.sb-business-inner-item:hover .catg-inner {
  transform: translateX(20px);
}

.sb-history-space{
	height: auto;
}

/*------- サブページ 工事経歴
------------------------------------------------------------*/
.sb-history{
  width: 100%;
  margin: 0 auto;
  position: relative;
  height: 640px;
  margin-top: 40px;
}
/* 画像 */
.sb-history-image {
  position: absolute;
  width: 90%;
  height: 200px;
  left: 0;
  top: 0;
}
.sb-history-image img {
  height: 200px;
  object-fit: cover;
}
/* 台形ブロック */
.trapezoid {
  position: absolute;
  right: 0;
  top: 80px;
  z-index: -10;
  width: 96%;
  height: 510px;
  background-color: #64B5F6;
  clip-path: polygon(18% 0%, 100% 0%, 100% 100%, 0% 100%);
  padding: 30px;
  box-sizing: border-box;
}
/* テキストスペース */
.sb-history-text{
  width: 85%;
  margin-left: 15%;
  margin-top: 120px;
}
.sb-history-text-title{
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
  font-size: 18px;
  color: #004EA2;
  background-color: #fff;
  padding: 10px 20px;
  opacity: 0.7;
}
.sb-history-text-body{
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
	font-style: normal;
  font-size: 14px;
  line-height: 1.8em;
  color: #fff;
  text-align: justify;
  margin-top: 8px;
  padding: 8px;
  letter-spacing: 0.05em;
}
/* ボタン */
.sb-history-btn {
  display: inline-block;
  width: 80%;
  background-color: #004EA2;
  text-decoration: none;
  overflow: hidden;
  transition: background-color 1.0s;
  padding: 6px 20px 6px 20px;
  margin-top: 10px;
}
/* 中身をflexで横並び＋アニメーション対象にする */
.sb-history-btn-inner {
    display: flex;
  align-items: center;
  justify-content: center; /* ★ 中央揃えのポイント！ */
  width: 100%;              /* ★ 幅を親と合わせる */
  padding: 7px 15px;
  gap: 10px;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  transition: transform 1.0s ease;
}
/* ホバー時に中身だけ右へスライド */
.sb-history-btn:hover .sb-history-btn-inner {
  transform: translateX(10px);
}
/* テキスト */
.sb-history-btn-label {
  line-height: 1;
}

/* 画像2 */
.sb-history-image-2 {
  position: absolute;
  width: 90%;
  height: 200px;
  right: 0;
  top: 0;
}
.sb-history-image-2 img {
  height: 200px;
  object-fit: cover;
}
/* 台形ブロック2 */
.trapezoid-2 {
  position: absolute;
  left: 0;
  top: 80px;
  z-index: -10;
  width: 96%;
  height: 510px;
  background-color: #64B5F6;
  clip-path: polygon(0 0, 90% 0, 100% 100%, 0 100%);
  padding: 30px;
  box-sizing: border-box;
}

/* テキストスペース 2*/
.sb-history-text-2{
  width: 85%;
  margin-left: 5%;
  margin-top: 120px;
}


/* バナーブロック*/
.sb-history-banner{
  position: absolute;
  left: 0;
  top:570px;
  width: 100%;
  background-color: #64B5F6;
}

.sb-history-banner-container{
  margin: 30px auto 20px;
  width: 90%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}

.sb-history-btn2 {
  display: inline-block;
  width: 48%;
  text-decoration: none;
  overflow: hidden;
  transition: background-color 1.0s;
    /* 以下を追加すると、hover時に全体が動くようにもできる */
  text-align: center;
  margin-bottom: 16px;
}

.sb-history-banner-text {
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
  font-size: 14px;
  line-height: 1.5em;
  letter-spacing: 0.1em;
}

.sb-history-2 {
    width: 100%;
    margin: 0 auto;
    position: relative;
    height: 1050px;
    margin-top: 50px;
}




/*------- 工事経歴 詳細ページ
------------------------------------------------------------*/
#case-history-sec{
  width: 100%;
}
.case-history-title-block{
    margin-top: 30px;
  margin-bottom: 30px;
}
.case-history-title{
  margin: 0 auto;
  width: 70%;
  border-top: solid 1px #004EA2;
  border-bottom: solid 1px #004EA2;
  text-align: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
  font-size: 20px;
  padding-top: 20px;
  padding-bottom: 20px;
  letter-spacing: 0.1em;
  color:  #004EA2;
  margin-bottom: 40px;
}
.case-history-content{
  width: 86%;
  margin: 0 auto 60px;
}
.case-history-content-title{
  margin: 0 auto 10px;
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 18px;
  background-color: #004EA2;
  padding: 14px 10px;
  color: #fff;
  text-align: center;
}
.case-history-container1{
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 10px auto;  
  padding:0px;
}
.case-history-container1-title{
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-size: 18px;
  width: 100%;
  margin-bottom: 10px;
}
.case-history-container1-date{
  font-family: "Inter", sans-serif;
  font-weight: 500;  
  font-size: 14px;
}
.case-history-container1-pic{
  width: 100%;
  margin-top: 10px;
}
.case-history-container1-text{
  width: 100%;
  margin-top: 20px;
}
.case-history-inner-container{
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;  
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
	font-size: 14px;
}
.case-history-inner-item{
  width: 30%;
  padding-left: 20px;
  padding-top: 16px;
  background-color: #e6e6e6;
  border-bottom: solid 1px #999;
  padding-bottom: 16px;
    line-height: 1.8em;
}
.case-history-inner-detail{
  width: 70%;
  padding-left: 20px;
  padding-top: 16px;
  background-color: #fff;
  border-bottom: solid 1px #999;
  padding-bottom: 16px;
  line-height: 1.8em;
}
.case-history-summary{
  background-color: #64B5F6;
  padding-top: 20px;
  margin-top: 30px;
}
.case-history-summary-title{
  margin: 0 auto;
  width: 90%;
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-size: 20px;
  text-align: center;
  color: #004EA2;
  background-color: #fff;
  padding: 8px;
}
.case-history-summary-text{
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-size: 16px;
  width: 90%;
  color: #fff;
  margin: 20px auto;
  padding-bottom: 20px;
  line-height: 1.6em;
}


/*------- 求人情報
------------------------------------------------------------*/
.sb-recruit-content{
  width: 100%;
  background-color: #64B5F6;
  margin-top: 20px;
}
.sb-recruit-catch-eg{
  font-family: "Raleway", sans-serif;
  font-weight: 700;
	font-size: 80px;
  text-align: center;
  padding-top: 20px;
  color: #42A5F5;
}
.sb-recruit-catch{
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 20px;
  text-align: center;
  margin-top:  -60px;
  margin-bottom: 100px;
  color: #fff;
  }
.sb-recruit-body{
    font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 16px;
  text-align: center;
  margin-top:  -60px;
  color: #fff;
  padding-bottom: 40px;
  line-height: 1.6em;
}
.sb-recruit-area{
  width: 100%;
  background-color: #64B5F6;
  padding-bottom: 60px;
  position: relative;  /* ←追加 */
  z-index: 0;           /* ←追加 */
}
/* 背景：三角形 */
.back-triangle {
  position: absolute;
  z-index: -1;
  top: 607px;
  right: 0;
  width: 50%;
  height: 17%;
  background-color: #d3e6f6;
  clip-path: polygon(0 100%, 100% 0, 100% 100%);
  opacity: 0.7;
}
/* 背景：三角形 */
.back-triangle-2 {
  position: absolute;
  z-index: -1;
  top: -20px;
  left: 0;
  width: 45%;
  height: 40%;
  background-color: #d3e6f6;
  clip-path: polygon(0 100%, 100% 0, 0 0);;

  opacity: 0.7;
}
.sb-recruit-inner{
  width: 90%;
  margin: 0 auto;
  background-color: #fff;
  border: solid 3px #004EA2;
    padding-bottom: 0px;
}
.sb-recruit-headline{
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 20px;
  text-align: center;
  background-color: #004EA2;
  padding: 15px;
  color: #fff;
  width: 80%;
  margin: 0  auto;
}
.sb-recruit-body2{
  width: 90%;
  margin: 20px auto 20px;
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 14px;
  line-height: 1.8em;
  text-align: justify;
}
.sb-recruit-container {
  width: 90%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
}

.sb-recruit-item-1{
  width: 100%;
  margin-bottom: 20px;
  display: block;
  overflow: hidden;
  text-decoration: none;
}
.sb-recruit-item-1 img {
  transition: filter 1.0s ease;
}
.sb-recruit-item-1:hover img {
  filter: brightness(70%);
}

.sb-recruit-item-1-text {
  display: flex;
  align-items: center;
  justify-content: center; /* 中央寄せ。左寄せならflex-start */
  gap: 0px; /* テキストとアイコンの間隔 */
  font-size: 14px; 
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  text-align: center;
  background-color: #004EA2;
  padding: 10px 5px ;
  color: #fff;
  letter-spacing: 0em;
    transition: transform 1.0s ease;
      text-align: center;
}
.sb-recruit-item-1-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  transition: transform 1s ease;
}

.text-with-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  transition: transform 1s ease;
}
.sb-recruit-item-1:hover .sb-recruit-item-1-title {
  transform: translateX(10px);
}




.sb-recruit-btn-area {
  width: 90%;
  margin: 0px auto 30px;
  background-color: #d3e6f6;
  overflow: hidden;
  text-align: center;
}
.sb-recruit-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: transform 1.0s ease;
  padding: 10px;
  text-decoration: none;

  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 14px;
  text-align: center;
}

.sb-recruit-btn:hover {
  transform: translateX(10px);
}
.sb-recruit-space{
  margin-top: 30px;
}
.sb-recruit-item-text{
  width: 100%;
  margin-top: 0px;
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 14px;
  line-height: 1.6em;
  padding-left: 0px;
  margin-bottom: 20px;
}
.sb-recruit-container-2{
  width: 90%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto;
}
.sb-recruit-item-2{
  width: 90%;
  border: solid 3px #004EA2;
  display: block;
  overflow: hidden;
  text-decoration: none;
}
.sb-recruit-item-2 img {
  transition: filter 1.0s ease;
}
.sb-recruit-item-2:hover img {
  filter: brightness(70%);
}

.sb-recruit-item-2-text {
  display: flex;
  align-items: center;
  justify-content: center; /* 中央寄せ。左寄せならflex-start */
  gap: 0px; /* テキストとアイコンの間隔 */
  font-size: 14px; 
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  text-align: center;
  background-color: #004EA2;
  padding: 10px 5px ;
  color: #fff;
  letter-spacing: 0em;
    transition: transform 1.0s ease;
      text-align: center;
}
.sb-recruit-item-2-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  transition: transform 1s ease;
}

.text-with-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  transition: transform 1s ease;
}
.sb-recruit-item-2:hover .sb-recruit-item-2-title {
  transform: translateX(10px);
}

/* 募集要項 */
.sb-recruit-info{
  margin-bottom: 100px;
}
.sb-recruit-info-title{
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 22px;
  text-align: center;
  margin: 60px auto 30px;
  color: #004EA2;
}
.sb-recruit-info-list{
  width: 90%;
  margin: 20px auto;
}
.sb-recruit-info-header{
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 18px;
  background-color: #e6e6e6;
  padding: 10px 20px;
}
.sb-recruit-info-container{
  width: 100%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  border-bottom: solid 1px #999;

}
.sb-recruit-info-item{
  width: 30%;
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
	font-size: 14px;
  padding: 10px 16px;
    line-height: 2em;
}
.sb-recruit-info-detail{
  width: 70%;
   font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
	font-size: 14px;
  padding: 10px 16px;
  line-height: 2em;
}
.sb-recruit-info-text{
  width: 100%;
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
	font-size: 14px;
  padding: 10px 16px;
    line-height: 2em;
}


/*------- 当社の強み
------------------------------------------------------------*/
.sb-strength-content{
  margin-top: 20px;
}
.sb-strength-headline{
  padding-top: 40px;
  text-align: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-size: 18px;
  line-height: 1.8em;
  color: #004EA2;
  width: 90%;
  margin: 0 auto;
}
.sb-strength-inner{
  width: 90%;
  max-width: 90%;
  
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 30px auto;
  padding-bottom: 30px;
}
.sb-strength-img{
  width: 100%;
  margin-bottom: 20px;
  padding: 0 10px;
}
.sb-strength-text{
  width: 100%;
}

/*------- 企業情報
------------------------------------------------------------*/
.sb-company-space{
  height: 80px;
}

.sb-clients{
  width: 80%;
  max-width: 1000px;
  margin: 0px auto;
  background-color: #64B5F6;
  padding: 30px 20px;
  color: #fff;
  margin-bottom: 80px;
}

.sb-blue-box-3col{
  width: 80%;
  max-width: 1600px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 30px auto 50px;
  align-items: center; /* 中央寄せ */
  flex-direction: column; /* 縦並び */
}

.sb-blue-box-3col-category{
    margin: 5px auto;
    width: 100%;
    border: 3px solid #ddd;
    color: #fff;
    font-weight: 700;
    font-size: 18px;
    padding: 14px;
    text-align: center;
    position: relative;
    transition: border 1s ease;
    color: #004ea2;
    background: #fff;
}
.sb-blue-box-3col-category h2{ margin:0; }

.sb-blue-box-3col-category.active,
.sb-blue-box-3col-category:hover {
  border: 3px solid #004ea2;
}

#sb-company .sb-blue-box-3col-category {
    width: 100%;
}


/* 共通 表組 */
.sb-flex-table{
  width: 80%;
  max-width: 1000px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: block; /* flex解除して縦並び */
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto 0px;
}
.sb-flex-table:first-child .sb-flex-item {
  border-bottom: none; /* 下線を消して */
}

.sb-flex-item{
   width: 100%;
  background-color: #e6e6e6;
   padding: 10px 20px;
  font-weight: 500;
	font-size: 14px;
  line-height: 2em;
}
.sb-flex-detail{
  width: 100%;
  padding:20px 20px;
  font-weight: 500;
	font-size: 14px;
  line-height: 2em;
  border-bottom: solid 1px #999;
  background-color: #fff;
  text-align: justify;
}
.sb-licenses-detail{
  width: 100%;
  padding:20px;
  border-bottom: solid 1px #999;
  margin: 0px;
  font-weight: 500;
	font-size: 14px;
}
.sb-flex-table:last-child .sb-flex-detail {
  margin-bottom: 80px;
}

/*------- 施工協力業者募集
------------------------------------------------------------*/
.sb-partner-headline{
  font-weight: 700;
	font-size: 16px;
  line-height: 2em;
  color: #fff;
  text-align: center;
  padding-bottom: 40px;
  width: 90%;
  margin: 0 auto;
}
.sb-partner-body{
  margin-top: 25px;
  border-bottom: solid 1px #fff;
  display: inline-block;
  padding: 10px 35px;
}

.sb-partner-tel{
  width: 80%;
  max-width: 1000px;
  margin: 0px auto 0;
  background-color: #fff;
  text-align: center;
  color: #004EA2;
}

.sb-partner-tel-title{
  font-weight: 700;
	font-size: 20px;
  padding-top: 25px;
}
.sb-partner-number{
  font-weight: 700;
  font-size: 35px;
  padding-top: 20px;
  display: flex;
  justify-content: center;
  align-items: center; /* ←縦方向中央揃え */
  gap: 5px;           /* ←アイコンと番号の間隔調整 */
}
.sb-partner-number-pict{
  width: 30px;
}
.sb-partner-staff{
  font-weight: 700;
  font-size: 16px;
  margin-top: 20px;
  padding-bottom: 25px;
  color: #333;
}

/*------- 求人情報 先輩インタビュー
------------------------------------------------------------*/
.sb-intv-content{
  margin-top: 20px;
}
.sb-intv-catch-eg{
	font-size: 70px;
  text-align: center;
  padding-top: 20px;
  color: #42A5F5;
}
.sb-intv-catch{
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 20px;
  text-align: center;
  margin-top:  -50px;

  color: #fff;
  padding-bottom: 40px;
}
.sb-intv-profile{
  font-weight: 700;
	font-size: 16px;
  text-align: center;
  margin-top: 20px;
  color: #004EA2;
}
#sb-intv-1{
  width: 100%;
  background-color: #64B5F6;
  padding-bottom: 100px;
}
#sb-intv-2{
  width: 100%;
  background-color: #64B5F6;
  padding-bottom: 100px;
}
.sb-intv-main-img{
  margin: 20px auto;
  width: 90%;
}
.sb-intv-text1{
  width: 90%;
  max-width: 90%;
  margin: 30px auto 20px;
}
.sb-intv-text-headline{
  font-weight: 700;
	font-size: 18px;
  color: #004EA2;
  padding:10px;
  line-height: 1.6em;
}
.sb-intv-text-body{
  font-weight: 500;
	font-size: 18px;
  line-height: 2em;
  padding:10px;
  text-align: justify;
}
.hr-intv{
  border: none;
  border-top: 3px dotted #B0B0B0; 
  margin: 0 auto;
  width: 90%;
  max-width: 90%;
}
.sb-intv-text2-container{
  width: 90%;
  max-width: 90%;
  margin: 30px auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.sb-intv-text2-img{
  width: 80%;
  margin-top: 20px;
    margin-bottom: 20px;
}
.sb-intv-text2-body{
    width: 100%;
}
/*-- 一日の流れ ---*/
.hr-oneday{
  border: none;
  border-top: 3px solid #004EA2; 
  width: 100%;
}
.sb-oneday-pict{
  text-align: center;
  width: 60px;
  margin: 30px auto 20px;
}
.sb-oneday-title{
	font-weight: 700;
	font-size: 20px;
  text-align: center;
  color: #fff;
  padding: 20px;
  background-color: #004EA2;
  width: 80%;
  margin: 0 auto;
}
.sb-oneday-area{
  margin-top: 30px;
}
.sb-oneday-container{
  width: 90%;
  max-width: 90%;
  margin: 0 auto 15px;
  display: flex;
  justify-content: space-between;
  border-top: 3px dotted #B0B0B0;
  padding-top: 15px;
}
.sb-oneday-container-blue{
  width: 90%;
  max-width: 90%;
  margin: 0 auto ;
  display: flex;
  justify-content: space-between;
  border-top: 3px dotted #B0B0B0;
  padding-top: 15px;
  background-color: #d3e6f6;
  padding-bottom: 15px;
}
.sb-oneday-time{
  width: 10%;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 18px;
  padding-left: 10px;
  color: #004EA2;
}
.sb-oneday-line{
  display: none;
}
.sb-oneday-item{
  width: 75%;
  color: #004EA2;
  font-weight: 700;
  font-size: 16px;
  padding-left: 10px;
  color: #004EA2;
}
.sb-oneday-caption{
  color: #333;
  font-weight: 500;
  font-size: 14px;
  margin-top: 6px;
  line-height: 1.6em;
  padding-right: 10px;
}
.sb-oneday-pic{
  width: 70%;
  margin-top: 20px;
}
.sb-oneday-space{
  height: 40px;
}
/*------- 求人情報 数字で見る旭電設
------------------------------------------------------------*/

.sb-blue-box-title.other{
	margin: 80px auto 20px;
}


.sb-numbers-area{
  width: 100%;
  background-color: #64B5F6;
  margin: 30px auto 0;
  padding:10px;
  padding-bottom: 40px;
}

/* グリッド（Flexbox） */
.sb-numbers-grid-wide{
  width:90%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  margin: 20px auto 0;
  border: 3px solid #004EA2;
  border-bottom: none;
  background-color: #fff;
}
.sb-numbers-grid{
  width:90%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto;
  align-items: stretch; 
  
}
.grid-wide-container{
  width:100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 auto;
}
.sb-card-head-caption{
  text-align: center;
  font-weight:700;
  font-size:14px;
  margin-top: 20px;

}
/* カード */
.grid-wide-img{
    width: 50%;
    padding-top: 20px;
    padding-bottom: 0;
}
.grid-wide-graph{
  width: 100%;
  padding: 10px;
  padding-top: 10px;
}
.sb-card-1{
  width: 100%;
  background: #fff;
  border: 0; /* デフォルトはなし */
  border: 3px solid #004EA2;
  border-bottom: none;
  box-sizing: border-box;
}
.sb-card-1-last{
  width: 100%;
  background: #fff;
  border: 0; /* デフォルトはなし */
  border: 3px solid #004EA2;
    border-bottom: none;
  box-sizing: border-box;
}
.sb-card-1:nth-child(3n) {
    border-right: 3px solid #004EA2;
}
.sb-card-1-last:last-child {
    border-bottom: 3px solid #004EA2;
    border-right: 3px solid #004EA2;
}
.sb-card-2{
  width: 100%;
  background: #fff;
  border: 0; /* デフォルトはなし */
  border: 3px solid #004EA2;
  border-bottom: none;
  box-sizing: border-box;
}
.sb-card-2-last{
  width: 100%;
  background: #fff;
  border: 0; /* デフォルトはなし */
  border: 3px solid #004EA2;
  border-bottom: none;
  box-sizing: border-box;
}
.sb-card-3{
  width: 100%;
  background: #fff;
  border: 0; /* デフォルトはなし */
  border: 3px solid #004EA2;
    border-bottom: none;
  box-sizing: border-box;
}
.sb-card-3-last{
  width: 100%;
  background: #fff;
  border: 0; /* デフォルトはなし */
  border: 3px solid #004EA2;
  border-bottom: none;
  box-sizing: border-box;
}
.sb-card-last{
  width: 100%;
  background: #fff;
  border: 0; /* デフォルトはなし */
  border: 3px solid #004EA2;
  box-sizing: border-box;
}

/* カード見出しの帯 */
.sb-card-head{
  font-size:16px;
}

/*------- 求人情報 数字で見る旭電設
------------------------------------------------------------*/  
/* 画像ありなし-切り替えボタン */
.view-switch {
  width: 80%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
}
.view-switch a {
  cursor: pointer;
  width: 46%;
  font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
	font-size: 14px;
    text-align: center;
    padding: 10px;
    background-color: #9CCCFA;
    color: #fff;
}
.view-switch a.is-active {
  background: #64B5F6;
  color: #fff;
}

/* カテゴリー */
.cases-catg{
  width: 80%;
  max-width: 1000px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 20px auto 40px;
  border-left: none;
  border-top: 1px solid #ccc;
}
.cases-catg-btn {
    width: 100%;
    padding: 16px;
    text-align: center;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-size: 16px;
    transition: opacity 1s ease;

    border-left: none;               /* 左線なし */
    border-right: none;              /* 右線なし */
    border-top: none;     
    border-bottom: 1px solid #ccc;   /* 下線追加 */
}
.cases-catg-btn:last-child {
    border-right: none !important;
}
.cases-catg-btn2 {
    width: 100%;
    padding: 16px;
    text-align: center;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-size: 14px;
    border-left: none !important;  /* 左線を消す */
    border-right: none !important; /* 右線を消す */
    border-top: none;     
    border-bottom: 1px solid #ccc !important;  /* 下線追加 */
    line-height: 2em;
}

.cases-catg-btn2-item {
    display: block; /* ブロック要素にして改行 */
    text-decoration: none; /* リンクの場合は下線を消す */
    color: inherit; /* 親と同じ色 */
    padding: 4px 0px; /* 行間の余白 */
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-size: 14px;
    transition: opacity 1s ease;
    margin-left: 0px;
    margin: 0 auto;
}
/* hover時に半透明 */
.cases-catg-btn2-item:hover {
    opacity: 0.5;
}
.cases-catg-btn2-item:last-child {
    border-bottom: none;
}
  .cases-catg-btn2-block {
    gap: 0px;
  }
.cases-catg-btn2 .cases-catg-btn {
    border-bottom: none;
}
/* テーブル */
.cases-table { 
    border:0; 
    table-layout:auto; 
    width: 100%;
    margin-top: 0;
  }

.cases-table thead { display:none; }

/* リストの大枠 */
.cases-list{
    margin-bottom: 100px;
}


/* タイトル */
.cases-catg-title{
    margin: 40px auto 10px;
  width: 86%;
  max-width: 86%;
    background-color: #004EA2;
    color: #fff;
    padding: 12px;
    text-align: center;
    font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-size: 20px;
}
  /* 行をカード化 */
  .cases-table tbody tr {
    display:flex;
    flex-direction:column;   /* 縦積み */
    gap:6px;
    padding:12px;
    border:1px solid #ddd;
    background:#fff;
    margin: 20px auto;
    width: 90%;
  }

  .cases-table td {
    display: flex;
    align-items: flex-start;
    border: 0;
    padding: 4px;
    padding-bottom: 8px;
    font-size: 14px;
    border-bottom: solid 1px #ddd ;
  }
  .cases-table td::before {
    content: attr(data-label);
    min-width: 7em;
    font-weight: 600;
    margin-right: 8px;
    flex: 0 0 auto;
    color: #555;
  }

  /* 値テキストを折り返し可＆横幅制限解除 */
  .cases-table td span {
    flex: 1;
    min-width: 0;
    word-break: break-word;
    white-space: normal;
  }

  /* 画像列（任意） */
  .cases-table td.col-image {
    order:-1;                /* 先頭に表示 */
  }
  .cases-table td.col-image::before { content:''; margin:0; min-width:0; }
  .cases-table td.col-image img { width:100%; height:auto; }

  /* 列ごとの幅指定 */
.cases-table th:nth-child(1),
.cases-table td:nth-child(1) { width: 100%; }   /* 番号 */

.cases-table th:nth-child(2),
.cases-table td:nth-child(2) { width: 100%; }  /* 画像 */

.cases-table th:nth-child(3),
.cases-table td:nth-child(3) { width: 100%; }  /* 注文者 */

.cases-table th:nth-child(4),
.cases-table td:nth-child(4) { width: 100%; }  /* 工事名称 */

.cases-table th:nth-child(5),
.cases-table td:nth-child(5) { width: 100%; }  /* 工事場所 */

.cases-table th:nth-child(6),
.cases-table td:nth-child(6) { width: 100%; }  /* 工事場所 */


}/*-- end-sp --*/
