@charset "UTF-8";


/*------------------------------------------------------------
	service
------------------------------------------------------------*/
/* .pg-service-mv {
	background: url(../images/service/mv-bg01.jpg) no-repeat center center / cover;
} */

.process {
	background: url(../images/home/news-bg.png) repeat center center;
	background-size: 100% auto;
	background-color: #f8f8f8;
	padding: 60px 20px;
	
 }
  
  .process__title {
	text-align: center;
	font-size: 3rem;
	font-weight: bold;
	margin-bottom: 40px;
	position: relative;
	padding: 0 110px;
  }
  
  .process__title::before
  {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100px;
	height: 100px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
  }

  .process__title::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 95px;
	height: 95px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
  }
  
  
  .process__title::before {
	left: 0;
	background-image: url(../images/service/image-04_01.svg);
  }
  
  .process__title::after {
	right: 0;
	background-image: url(../images/service/image-04_02.svg);
  }
  
  /* 各ステップ */
  .process__step {
    margin: 0 auto;
	background: #fff;
	border: 1px solid #d98e8e;
	margin-bottom: 25px;
	display: flex;
  }
  
  .process__arrow {
	width: 100%;
	height: 20px;
	position: relative;
  }
  .process__arrow:after{
	content: '';
	width: 21px;
	height: 12px;
	background: url(../images/common/arrow-btm-red-btm.svg) no-repeat center center / contain;
	position: absolute;
	top: -5px;
	left: 50%;
	transform: translateX(-50%);
	display: block;
  }
  
  /* .process__step:not(:last-child)::after {
	content: "⌄";
	position: absolute;
	bottom: -30px;
	left: 50%;
	transform: translateX(-50%);
	color: #b03824;
	font-size: 24px;
	font-weight: bold;
  } */
  
  .process__step--highlight {
	overflow: visible;
	margin-bottom: 0;
  }
  
  .process__step-title {
	font-size: 2rem;
	font-weight: bold;
	width: 30%;
	float: left;
	border-right: 1px solid #d98e8e;
	padding: 20px;
	background-color: #f6ded8;

  }
  
  .process__description {
	width: 70%;
	float: left;
	position: relative;
	padding: 20px;
	display: flex;
	align-items: center;
  }
  
  .process__step--highlight .process__description::after {
	content: "";
	position: absolute;
	bottom: 15px;
	right: 0;
	width: 154px;
	height: 74px;
	background: url(../images/service/image-05_01.svg) no-repeat center center;
	background-size: contain;
	z-index: 2;
  }

  .process__step__last{
	margin-bottom: 85px;
  }
  
  /* 吹き出しラベル */
  .process__label {
	display: inline-block;
	
  }
  
  .process__label img {
	width: 154px;
	height: 74px;
	display: block;
  }
  
  /* 工場＋建設現場エリア */
  .process__factory-site {
	/* display: flex; */
	flex-wrap: wrap;
	gap: 40px;
	margin-bottom: 25px;
	
  }
  .process__factory{
	display: flex;
	/* max-width: 940px; */
    margin: 0 auto;
	overflow: hidden;
	
  }
  .process__site{
	display: flex;
	/* max-width: 940px; */
    margin: 0 auto;
	overflow: hidden;
  }
  
  .process__factory,
  .process__site {
	flex: 1 1 300px;
	background: #fff;
	/* padding: 20px; */
	border-bottom: 1px solid #d98e8e;
    border-left: 1px solid #d98e8e;
    border-right: 1px solid #d98e8e;
	
  }
  
  /* 工場のステップ */
  .process__factory-steps {
	width: 70%;
	display: flex;
	flex-wrap: wrap;
	gap: 35px;
	margin-top: 5px;
	padding: 20px;
  }
  
  .process__factory-step {
	width: 163px;
	text-align: center;
	font-size: 1.5rem;
	
	position: relative;
	

  }
  .process__factory-step_img{
	background-color: #f6ded8;
  }
  
  .process__factory-step p {
	padding: 5px 0;
	display: block;
  }
  
  /* .process__factory-step:not(:last-child)::after {
	content: ">";
	position: absolute;
	top: 35%;
	right: -25px;
	transform: translateY(-50%);
	color: #000;
	font-size: 20px;
	font-weight: 300;
	font-family: "Noto Sans JP", sans-serif;
  } */
  
  .process__factory-step:not(:last-child)::after {
	content: "";
	width: 6px;
	height: 11px;
	background: url(../images/common/arrow-right-gray--small.svg);
	position: absolute;
	top: 30%;
	right: -20px;

  }

  .process__factory-step img {
	width: 60px;
	height: 60px;
	margin-bottom: 10px;
	margin-top: 10px;
  }

  .process__subheading{
	padding: 20px;
	width: 30%;
	border-right: 1px solid #d98e8e;
	background-color: #f6ded8;
	display: flex;
    align-items: center;
  }
  
  /* 現場メモ */
  .process__note {
	width:70%;
	padding: 20px;
  }
  
  .process__important {
	color: #b03824;
	font-weight: bold;
  }



  

  



  /* 強みセクション全体 */
.strengths {
	background-color: #b03824; /* 背景色（赤系） */
	padding: 60px 20px;
	color: #fff;
	text-align: center;
  }
  
  .strengths__inner {
	max-width: 1200px;
	margin: 0 auto;
  }
  
  /* タイトル */
  .strengths__title {
	font-size: 3rem;
	font-weight: bold;
	margin-bottom: 30px;
  }
  
  /* 強みリストのレイアウト */
  .strengths__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
  }
  
  /* 各アイテム */
  .strengths__item {
	background-color: #fff;
	color: #000;
	border-radius: 50%;
	width: 220px;
	height: 220px;
	padding: 20px 20px 30px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease;
  }
  
  
  /* アイコン */
  .strengths__icon img {
	width: 48px;
	height: 48px;
	margin-bottom: 15px;
  }
  
  /* 見出し */
  .strengths__heading {
	font-size: 2.5rem;
	font-weight: bold;
	margin-bottom: 10px;
	line-height: 1.28;
  }
  
  /* 説明文 */
  .strengths__text {
	font-size: 1.5rem;
	line-height: 1.4;
  }
  





  /* ===== サブページ共通 ===== */
.subpage {
	font-family: "Helvetica", "Arial", sans-serif;
	color: #333;
	line-height: 1.6;
  }
  
  /* ===== パンくずリスト ===== */
  .breadcrumb {
	max-width: 992px;
	margin: 16px auto;
  }
  
  .breadcrumb ul {
	display: flex;
	gap: 10px;
	list-style: none;
	padding: 0;
	margin: 0;
	flex-wrap: wrap;
  }
  
  .breadcrumb li::after {
	content: "›";
	margin-left: 10px;
	color: #999;
  }
  
  .breadcrumb li:last-child::after {
	content: "";
  }
  
  .breadcrumb a {
	color: #00b4fd;
	text-decoration: none;
  }
  
  .breadcrumb a:hover {
	text-decoration: underline;
  }
  
  /* ===== メインビジュアル ===== */

  
  .main-visual__title {
	display: flex;
	margin: 0 auto;
	background: url(../images/service/image-vi.jpg) no-repeat center center/cover;
	width: 100%;
	padding: 165px 50px;
  }
  .main-visual__title-box{
	text-align: left;
	display: flex;
    align-items: flex-end;
    height: 108px;
    position: relative;
  }
  
  .main-visual__title-en {
	position: absolute;
	bottom: 30px;
	left: 0;
  }

  .main-visual__title-en img{
	width: auto;
	height: 78px;
    max-width: inherit;
  }
  
  .main-visual__title-ja {
	line-height: 1;
    font-size: 4rem;
    font-weight: 500;
    position: relative;
    z-index: 2;
  }
  
  /* ===== コンテンツエリア ===== */
  .pg-service-detail {
	padding: 60px 20px;
	background-color: #fff;
  }
  
  .pg-service-detail__inner {
	max-width: 1200px;
	margin: 0 auto;
  }
  
  .pg-service-detail__inner:first-child {
	margin-bottom: 60px;
  }
  
  /* 2カラムレイアウト */
  .pg-service-detail__columns {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	align-items: flex-start;
	max-width: 940px;
	margin: 0 auto;
  }
  
  .pg-service-detail__image {
	flex: 1 1 45%;
  }
  
  .pg-service-detail__image img {
	width: 100%;
	height: auto;
	border-radius: 8px;
  }
  
  /* テキスト側 */
  .pg-service-detail__text {
	flex: 1 1 50%;
  }
  
  .pg-service-detail__heading {
	font-size: 3rem;
	font-weight: bold;
	margin-bottom: 35px;
  }
  
  .pg-service-detail__description {
	font-size: 1.4rem;
	margin-bottom: 35px;
	line-height: 1.75;
  }
  
  /* キーワードリスト */
  .pg-service-detail__keywords {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	gap: 15px;
	flex-wrap: wrap;
  }
  
  .pg-service-detail__keywords li {
	background-color: #f2f2f2;
	color: #be3d2a;
	padding: 6px 12px;
	border-radius: 20px;
	font-size: 1.5rem;
	list-style: 1.75;
  }
  
  /* ===== レスポンシブ対応 ===== */
  @media screen and (max-width: 1000px) {
	  
	.strengths__list{
	max-width: 690px;
    margin: 0 auto;
	}

	.process__title::before {
		left: -20px;
		top: -50px;
	  }
	  
	  .process__title::after {
		right: -20px;
		top: -50px;
	  }
	  .process__title {
		padding: 0;
	}
}

  @media screen and (max-width: 879px) {
	  
	.pg-service-detail__columns_direction {
	flex-direction: column-reverse;
	} 
}


  @media screen and (max-width: 768px) {
	  
	  .main-visual__title-en {
	  font-size: 1.8rem;
	  }
  
	  .main-visual__title-ja {
	  font-size: 1rem;
	  }
  
	  .pg-service-detail__image,
	  .pg-service-detail__text {
	  flex: 1 1 100%;
	  }
  
		  /* .strengths__item {
		  width: 180px;
		  height: 180px;
		  padding: 20px 10px;
		  } */
	  
		  .strengths__icon img {
		  width: 40px;
		  height: 40px;
		  }
	  
		  /* .strengths__heading {
		  font-size: 1rem;
		  } */
	  
		  /* .strengths__text {
		  font-size: 0.8rem;
		  } */
	  
			  .process__factory-site {
			  flex-direction: column;
			  }
			  /* .pg-service-detail__columns_direction{
				  flex-direction: column-reverse;
				  } */
		  
			  .process__factory-step {
			  width: 100px;
			  
			  }
			  .process__step {
				flex-flow: column;
			}
			.process__step-title {
				width: 100%;
				border-right: none;
			
			}
			.process__description{
				width: 100%;
			}
			.process__step--highlight .process__description::after {
				bottom: 95px;
			}
			.process__factory, .process__site{
				flex-direction: column;
			}
			.process__subheading {
				width: 100%;
				border-right: none;
			}
			.process__factory-steps{
				width: 100%;
			}
			.process__note {
				width: 100%;
				
			}
			
			

		  }
/*------------------------------------------------------------
	privacy
------------------------------------------------------------*/
.subpage-privacy
.main-visual__title {
		display: flex;
		margin: 0 auto;
		background: url(../images/news/news-bg.png) no-repeat center center/cover;
		padding: 82px 100px;
		background-color: #f1f5f5;
	  }

.privacy-section{
	padding: 10rem 0 10rem;

}

/* .privacy-section .content{
	max-width: 940px;
	margin: auto;
	padding: 0 16px;
	box-sizing: content-box;
} */
.title-section__heading{
	font-size: 3rem;
	margin-bottom: 25px;
}
.title-section__description{
	font-size: 1.5rem;
	line-height: 1.75;
	margin-bottom: 74px;
}
.section-spacing h2{
	font-size: 3rem;
	margin-bottom: 25px;
}
.section-spacing p{
	font-size: 1.5rem;
	line-height: 1.75;
	margin-bottom: 47px;
}
  
/*------------------------------------------------------------
	contact
------------------------------------------------------------*/
/* .subpage-contact 
.main-visual__title {
		display: flex;
		margin: 0 auto;
		background: url(../images/news/news-bg.png) no-repeat center center/cover;
		padding: 82px 100px;
		background-color: #f1f5f5;
	  } */
 
  
  /* h1 {
	margin-bottom: 30px;
	font-size: 24px;
  } */
  .pg-contact-detail{
	margin: 40px auto;
	max-width: 910px;
  }

  .form-group {
	margin-bottom: 20px;
	display: flex;
  }
  
  .form-group.required label::after {
	content: " *";
	color: red;
  }
  
  label {
	display: block;
	margin-bottom: 6px;
	font-weight: bold;
	width: 30%;
  }
  
  input[type="text"],
  input[type="email"],
  textarea {
	width: 100%;
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 16px;
  }
  
  textarea {
	resize: vertical;
  }
  
  button[type="submit"] {
	width: 270px;
    padding: 15px 25px;
    background: #f2f2f2;
	cursor: pointer;
	display: block;
    width: 216px;
    max-width: 100%;
    padding: 15px 18px;
    border-radius: 100px;
    border: solid 1px var(--theme-white_color);
    text-align: center;
    line-height: 1.2;
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--theme-white_color);
    overflow: hidden;
    position: relative;
    transition: .3s;
    margin: 0 auto;
  }
  
  button[type="submit"]:hover {
	background-color: #b03824;
	color: #fff;
  }

  @media screen and (max-width: 768px) {
	.form-group {
		flex-direction: column;
	  }
	label {
		width: 100%;
	}
	.c-button:hover {
        background: var(--theme-white_color);
	}
	.c-button--gray:hover span {
        color: var(--theme-white_color);
    }
	.c-button--gray:hover span:before {
			background: url(../images/common/arrow-right-white.svg) no-repeat center center / contain;
	}

  }

/*------------------------------------------------------------
	contact i-frame調整
------------------------------------------------------------*/
.lrKTG>.Dq4amc{
	display: none;
}
.geS5n{
	border: none;
	display: flex;
}
















/*------------------------------------------------------------
	news
------------------------------------------------------------*/



.pg-news-detail{
	max-width: 960px;
	margin:  60px auto;
}


.news-list {
	list-style: none;
	padding: 0;
	margin: 0;
  }
  
  .news-list li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 25px 0;
	border-bottom: 1px solid #eee;
}

.news-list li:first-child {
	border-top: 1px solid #eee;
  }

  .news-list li a {
	width: 100%;
    display: flex;
  }
  
  .news-list .date {
	min-width: 160px;
	color: #555;
	font-size: 14px;
	margin-right: 15px;
  }
  
  .news-list .text {
	font-size: 16px;
	color: #333;
	display: inline-block;
    width: 100%;
	position: relative;
}
.news-list .news-list_textlink span.text:before{
	content: '';
    display: block;
    width: 7px;
    height: 100%;
    background: url(../images/common/arrow-right-gray.svg) no-repeat center center / contain;
    position: absolute;
    top: 0;
    right: 15px;
    transition: .3s;
}

.news-list .news-list_textlink:hover span.text {
    color: #00b4fd;
}

.news-list .news-list_textlink:hover span.text:before {
    background: url(../images/common/arrow-right-blue.svg) no-repeat center center / contain;
}

.news-list .news-list_textlink:hover span.date {
	color: #00b4fd;
}

/* ページネーション */
.pagination {
    margin-top: 40px;
    text-align: center;
  }

  .pagination__list {
    display: flex;
    justify-content: center;
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .pagination__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid #eee;
    color: #333;
    text-decoration: none;
    font-size: 16px;
    transition: all 0.3s ease;
	background-color: #f2f2f2;
  }

  .pagination__link:hover {
    background-color: #f5f5f5;
}

.pagination__link.is-active {
    background-color: #505050;
    color: #fff;
    border-color: #505050;
  }


  /* ページナビゲーション */
#wp_pagenavi_id .wp-pagenavi{
	text-align: center;
    margin: 40px auto 60px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#wp_pagenavi_id .wp-pagenavi a, .wp-pagenavi span.pages{
    text-decoration: none;
    border: none;
    padding: 6px 10px;
    margin: 5px;
	
}

#wp_pagenavi_id .wp-pagenavi span.current {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: none;
	color: #fff;
	text-decoration: none;
	font-size: 16px;
	transition: all 0.3s ease;
	background-color: #f2f2f2;
	background-color: #505050;
	border-color: none;
	}

	#wp_pagenavi_id .wp-pagenavi a, .wp-pagenavi span.larger{
	display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;

    color: #333;
    text-decoration: none;
    font-size: 16px;
    transition: all 0.3s ease;
    background-color: #f2f2f2;

}

/* #wp_pagenavi_id a.nextpostslink{
	border: none;
	background-color: #fff;
} */
/* #wp_pagenavi_id .wp-pagenavi a, .wp-pagenavi span.next {
	border: none;
	margin: 5px;
	background-color: #FFF;
} */
#wp_pagenavi_id .wp-pagenavi a, .wp-pagenavi span.nextpostslink{
	border: none;
	margin: 5px;
	background-color: #FFF;
}
#wp_pagenavi_id a.page.larger{
	background-color: #f2f2f2;
}
#wp_pagenavi_id a.page.smaller{
	background-color: #f2f2f2;
}

/* 投稿のシングルページ */
.wp-block-image{
	margin-bottom: 30px;
}

.detailcontents>p>a{
	color: #00b4fd;
}

@media screen and (max-width: 768px) {

	.news-list .date {
		min-width: 25%;
	}
	.news-list .text {
		width: 75%;
		padding-right: 10%;
	}
}





/*------------------------------------------------------------
	news detail
------------------------------------------------------------*/

.pg-news-detail-single{
	max-width: 740px;
	margin:  60px auto;
}
.detailcontents h2{
	font-size: 3rem;
	margin-bottom: 40px;
}

.detailcontents p{
	font-size: 1.5rem;
	line-height: 1.75;
	margin-bottom: 30px;
}
.detailcontents img{
	text-align: center;
}

.c-button--left--gray {
    margin: 0 auto;
    display: block;
}
.detailcontents{
	margin-bottom: 100px;
}
