@charset "utf-8";
/***********************************/
/*             共通                  */
/***********************************/
body {
  background-color: #fff;
}
/***********************************/
/*             SP                  */
/***********************************/
@media screen and (max-width: 1126px) {
 
.pc_only { display: none !important; }	
    .pc { display: none !important; }
    .sp { display: block !important; }		

	
	
		h2{
display:block;
	  font-size:1.6em;
color:#fff;
	  font-weight:normal;
	  margin:1rem auto 0;
		  text-align: center;

	  padding-bottom:0.8em;

  }
	#top .notice{
		font-size:0.8rem;
		
	}
	

	#top{
		width:100%;
		max-width: 800px;
		margin:2rem auto 3rem;
		text-align: left;
		
	}
	#top p{
		font-size:1.2rem;
		line-height: 1.6rem;
		margin:0 1em;
	}
	
	h4{
		font-size:1.2rem;
		font-weight: bold;
		color:#333;
		margin-top:2rem;
		padding:0 2rem 0.5rem;
	}
	

		.about{
		width:100%;
		max-width: 1200px;
		margin:4rem auto 1rem;
		text-align: left;
	}
	.about h3{
		font-size:1.2rem;
		font-weight: bold;
		color:#007934;
			margin-top:2rem;
		padding:0 2rem 0.5rem;
		display: inline-block;	
		border-bottom: solid 3px;
		border-image: linear-gradient(to right,#00c555,#003115) 1;
		width: auto;
		text-align: left;
		
	}
	.about p{
			font-size:1rem;
		line-height:1.5rem;
		margin-bottom:1rem;
				padding:0 2rem;
		margin-top: 2rem;
	}	
	
#dh .series{
	background:url(../images/ugreen/dh_series_sp.jpg);	
		position: relative;
    width: 100%;
    height: 0;
    padding-top: 133%; /* (画像の高さ / 画像の横幅) × 100 */
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
	}
	
	#dxp .series{
	background:url(../images/ugreen/dxp_series_sp.jpg);	
		position: relative;
    width: 100%;
    height: 0;
    padding-top: 133%; /* (画像の高さ / 画像の横幅) × 100 */
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
	}
 

	
	/*アイテム*/


.nas-section {
  padding: 40px 5%;
  max-width: 1400px;
  margin: 0 auto;
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 32px;
}

.product-card {
  background: #fff;
  border: 1px solid #dcdcdc;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.1);
}

.product-card img {
  width: 100%;
  max-width: 220px;
  height: auto;
  object-fit: contain;
  margin-bottom: 12px;
}

.product-title {
  font-size: 1.4rem;
  color: #007934;
  font-weight: 700;
  margin: 4px 0 6px;
}

.product-subtitle {
  font-size: 0.95rem;
  color: #333;
  text-align: center;
  margin-bottom: 14px;
  min-height: 2.4em;
}

.spec-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.spec-table th,
.spec-table td {
  border-bottom: 1px solid #e0e0e0;
  padding: 6px 8px;
  text-align: left;
  vertical-align: top;
}

.spec-table th {
  width: 40%;
  font-weight: 600;
  color: #444;
  white-space: nowrap;
}

.spec-table td {
  color: #222;
}

@media (max-width: 768px) {
  .product-grid {
    grid-template-columns: 1fr;
  }

  .product-card {
    padding: 16px;
  }

  .product-title {
    font-size: 1.2rem;
  }

  .spec-table {
    font-size: 0.85rem;
  }
}
	
	
	/*アイテムここまで*/



/*シリーズタイトル*/

	.series {
		
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 30%; /* (画像の高さ / 画像の横幅) × 100 */
    background-repeat: no-repeat;
    background-position: auto;
    background-size: cover;
  }
.series_wrap {
position: absolute;       /* 背景画像の上に配置 */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* 中央に配置 */
    width: 100%;
    max-width: 1200px;
    padding: 0 2rem;
    display: flex;
    flex-direction: column;   /* 子要素を縦に並べる */
    align-items: flex-start;  /* 横方向は左寄せ */
    text-align: left;         /* テキストも左寄せ */
}
	
	
	.series_txt h2 {
	  text-align: left;  
	width: 100%;  
    color: #fff;              /* 白文字 */
    font-size: 1.6rem;
   margin: 0rem;
}

.series_txt h3 {
	  text-align: left;  
	width: 100%;  
    color: #fff;              /* 白文字 */
    font-size: 1.4rem;
margin: 0rem;
}

.series_txt p {
	 text-align: left; 
    color: #fff;
    font-size: 1rem;
	margin: 2rem 0 0 0;
}



	
	/*シリーズタイトルここまで*/
	
	#contact {
    margin: 0 auto;
    width: 100%;
		background: #F7F7F7;

				padding:4rem 1rem;
		text-align: center;
  }
#contact div.contact_wrap{
    width: 90%;
		padding:2rem 0;
	margin: 2rem auto 0;
	text-align: center;

	}

	
	#contact div.contact_txt
	{
		padding:4rem 1rem;
	}
	#contact div.contact_txt p
	{
	margin:3rem 0;
		

	}
		#contact .contact_txt font{
		font-size:1.8rem;
		color:#BA003F;
		font-weight: bold;
		padding-bottom:0.2rem;
		border-bottom:solid;
border-color:#BA003F;
border-width:4px;
	}
	#contact div.contact_txt img
	{
		width:200px;

	}
#contact div.contact_btn{

		padding:2rem;
		text-align: center;
	background:#fff;
	border-radius: 5px;
	}
#contact div.contact_btn p{
		font-size:1.6rem;
	font-weight: bold;
	color: #0594a9;
	margin:0 auto 1rem;
	}
	
#contact div.contact_btn a{
  cursor: pointer;
overflow: hidden;
  position: relative;
  z-index: 1;
  background: #0594a9;
  color: #fff;
  display: block;
  max-width: 450px;
  padding: 15px 40px;
 margin: 1em auto 0;
  text-align: center;
	outline:1px solid #0594a9;
	text-decoration: none;
	border-radius: 9999px;
		font-size: 1.2rem;
	font-weight: bold;
}	
 #contact div.contact_btn a::before {
    content: '\f105';
    font-family: 'Font Awesome 5 Free';
    font-weight: 700;
    font-size: 1.2rem;
    padding-right: 0.5em;
    line-height: 1.2em;
  }

 #contact div.contact_btn a:visited {
    color: #fff;
  }

	
 #contact div.contact_tel{
	 padding:2rem;
		text-align: center;
	 background:#fff;
	 border-radius: 5px;
	 margin-top:1rem;
	}
 #contact p.tel_ttl{
		font-size:1.6rem;
	font-weight: bold;
	color: #0594a9;
	margin:0 auto 1.4rem;
	}
	 #contact p.tel_txt{
		font-size:1.2rem;
	font-weight: bold;
	margin:0 auto 0rem;
	}

	#contact a.tel{
  cursor: pointer;
overflow: hidden;
  position: relative;
  z-index: 1;
  background: #0594a9;
  color: #fff;
  display: block;
  max-width: 450px;
  padding: 15px;
 margin: 0.5em auto;
  text-align: center;
	outline:1px solid #0594a9;
	text-decoration: none;
	border-radius: 9999px;
		font-size: 1.5rem;
		font-weight: bold;
	}
	 #contact a.tel::before {
    content: '\f879';
    font-family: 'Font Awesome 5 Free';
    font-weight: 700;
    font-size: 1.8rem;
    padding-right: 0.3em;
		 text-decoration: none;
  }	
 #contact  a.tel:visited {
    color: #fff;
  }



}
/***********************************/
/*                PC               */
/***********************************/
@media screen and (min-width: 1024px) {
	.pc { display: block !important; }
.sp { display: none !important; }	
	.wrap {
    overflow: visible;
  }

	body{
		padding-left:0;
	}
	h2{
display:block;
	  font-size:1.6em;
color:#fff;
	  font-weight:normal;
	  margin:1rem auto 0;
		  text-align: center;

	  padding-bottom:0.8em;

  }
	
.series_wrap h3{
display:block;
	  font-size:1.2em;
color:#fff;
	  font-weight:normal;
	  margin:1rem auto 0;
		  text-align: center;

	  padding-bottom:0.5em;

  }
		
	h4{
	width:100%;
		max-width:1200px;
		margin:2rem auto;
		padding:0 2rem;
		text-align: left;
		font-size:1.4rem;
		font-weight: normal;
		color:#333;	
	}
	
	
	#top .notice{
		font-size:0.8rem;
		
	}
	
	#top{
		width:100%;
		max-width: 1400px;
		margin:2rem auto 0rem;
		text-align: center;
		
	}
	#top p{
		font-size:1.5rem;
		line-height: 2rem;
	}
	

	
		.about{
		width:100%;
		max-width: 1400px;
		margin:4rem auto 1rem;
			padding: 0 4rem 0;
		text-align: auto;
	}
	.about h3{
		font-size:1.2rem;
		font-weight: bold;
		color:#007934;
		margin-top:2rem;
		padding:0 0 0.5rem;
		display: inline-block;	
		border-bottom: solid 3px;
		border-image: linear-gradient(to right,#00c555,#003115) 1;
		width: auto;
		text-align: left;
		
	}
	.about p{
		font-size:1.1rem;
		line-height:1.8rem;
			text-align: left;	
		margin: 2rem 0rem 1rem ;	
	}
	

 

	
	/*アイテム*/
	body {
  font-family: "Hiragino Sans", "Noto Sans JP", sans-serif;
  margin: 0;
  background-color: #ffffff;
  color: #222;
}

.nas-section {
  padding: 40px 5%;
  max-width: 1400px;
  margin: 0 auto;
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 32px;
}

.product-card {
  background: #fff;
  border: 1px solid #dcdcdc;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.1);
}

.product-card img {
  width: 100%;
  max-width: 220px;
  height: auto;
  object-fit: contain;
  margin-bottom: 12px;
}

.product-title {
  font-size: 1.4rem;
  color: #007934;
  font-weight: 700;
  margin: 4px 0 6px;
}

.product-subtitle {
  font-size: 0.95rem;
  color: #333;
  text-align: center;
  margin-bottom: 14px;
  min-height: 2.4em;
}

.spec-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.spec-table th,
.spec-table td {
  border-bottom: 1px solid #e0e0e0;
  padding: 6px 8px;
  text-align: left;
  vertical-align: top;
}

.spec-table th {
  width: 40%;
  font-weight: 600;
  color: #444;
  white-space: nowrap;
}

.spec-table td {
  color: #222;
}

@media (max-width: 768px) {
  .product-grid {
    grid-template-columns: 1fr;
  }

  .product-card {
    padding: 16px;
  }

  .product-title {
    font-size: 1.2rem;
  }

  .spec-table {
    font-size: 0.85rem;
  }
}
	
	
	/*アイテムここまで*/
	#dh .series{
	background:url(../images/ugreen/dh_series.jpg);	
		position: relative;
    width: 100%;
    height: 0;
    padding-top: 29.14%; /* (画像の高さ / 画像の横幅) × 100 */
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
	}
	
	#dxp .series{
	background:url(../images/ugreen/dxp_series.jpg);	
		
position: relative;
    width: 100%;
    height: 0;
    padding-top: 29.14%; /* (画像の高さ / 画像の横幅) × 100 */
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;


	}
/*シリーズタイトル*/

	.series {
		
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 30%; /* (画像の高さ / 画像の横幅) × 100 */
    background-repeat: no-repeat;
    background-position: auto;
    background-size: cover;
  }
.series_wrap {
position: absolute;       /* 背景画像の上に配置 */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* 中央に配置 */
    width: 100%;
    max-width: 1200px;
    padding: 0 2rem;
    display: flex;
    flex-direction: column;   /* 子要素を縦に並べる */
    align-items: flex-start;  /* 横方向は左寄せ */
    text-align: left;         /* テキストも左寄せ */
}
	
	
	.series_txt h2 {
	  text-align: left;  
	width: 100%;  
    color: #fff;              /* 白文字 */
    font-size: 1.5rem;
   margin: 0rem;
}

.series_txt h3 {
	  text-align: left;  
	width: 100%;  
    color: #fff;              /* 白文字 */
    font-size: 1.5rem;
margin: 0rem;
}

.series_txt p {
	 text-align: left; 
    color: #fff;
    font-size: 1.2rem;
	margin: 2rem 0 0 0;
}



	
	/*シリーズタイトルここまで*/

	
	

	
	
	
	
	
	
	#contact {
    margin: 10rem auto 0;
    width: 100%;
		background: #F7F7F7;
		padding-top:2rem;
		text-align: center;
  }
	
	#contact .contact_txt{
		font-size:1.2rem;
		margin:2rem auto;
		line-height: 3rem;
	}
	#contact .contact_txt font{
		font-size:1.8rem;
		color:#BA003F;
		font-weight: bold;
		padding-bottom:0.2rem;
		border-bottom:solid;
border-color:#BA003F;
border-width:4px;
	}
#contact div.contact_wrap{
		
		 width: 80%;
    max-width: 1400px;
		padding:2rem 0;
	margin: 2rem auto 0;
	text-align: center;

	}

	#contact div.contact_txt
	{

		padding:0 2rem;
		
	}
	#contact div.contact_txt p
	{

	padding:2rem 0;
		text-align: left;
	}
	#contact div.contact_txt img
	{
		width:300px;

	}
#contact div.contact_btn{

		padding:2rem;
		text-align: center;
	background:#fff;
	border-radius: 5px;
	}
#contact div.contact_btn p{
		font-size:1.6rem;
	font-weight: bold;
	color: #0594a9;
	margin:0 auto 1rem;
	}
	
#contact div.contact_btn a{
  cursor: pointer;
overflow: hidden;
  position: relative;
  z-index: 1;
  background: #0594a9;
  color: #fff;
  display: block;
  max-width: 450px;
  padding: 15px 40px;
 margin: 1em auto 0;
  text-align: center;
	outline:1px solid #0594a9;
	text-decoration: none;
	border-radius: 9999px;
		font-size: 1.4rem;
}	
 #contact div.contact_btn a::before {
    content: '\f105';
    font-family: 'Font Awesome 5 Free';
    font-weight: 700;
    font-size: 1.2rem;
    padding-right: 0.5em;
    line-height: 1.2em;
  }
 #contact div.contact_btn a::after {
  background: #333;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 251%;
  height: 251%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
	outline:1px solid #0594a9;
	
	  transform: skewY(-10deg) scale(1, 0);
  /*height: 140px;*/
}
 #contact div.contact_btn a:hover {
  color: #fff;
}

 #contact div.contact_btn a:hover::after {
transform: skewY(-10deg) scale(1, 1);
}
 #contact div.contact_btn a:visited {
    color: #fff;
  }

	



}