
.page #products .page__title {
   background-image: url('../img/products/img_products_titleback_pc.jpg');
}
@media only screen and (max-width: 1100px) {
   .page #products .page__title {
      background-image: url('../img/products/img_products_titleback_sp.jpg');
   }  
}
.page #products .inner {
   max-width: 1280px;
   padding: 0 40px;
   margin: 0 auto;
}
#contentWrap {
   margin-top: 80px;
}
/*大カテゴリー*/
.products__searchArea {
   max-width: 1200px;
   margin: 40px auto 0 auto;
   background-color: #f5f5f5;
   border-radius: 6px;
	overflow: hidden;
}
.products__searchArea form {
   
   padding: 25px 100px;
   display: flex;
   align-items: center;
   justify-content: center;
}
.products__searchArea .inputArea {
	display: flex;
   align-items: center;
   
}
.products__searchArea .inputArea input {
	width: 500px;
	background-color: #fff;
	padding: 0 1.5em;
	font-size: 16px;
   margin-left: 1em;
   border-radius: 6px 0 0 6px;
   line-height: 60px;
}
.products__searchArea .inputArea button {
	background-color: #009E40;
	padding: 16px;
	border: none;
	cursor: pointer;
   border-radius: 0 6px 6px 0;
}
.products__searchArea .inputArea img {
	width: 28px;
	display: block;
}
#cate__menu {
   margin-top: 100px;
}
#cate__menu h2 {
   position: relative;
   font-size: 28px;
   font-weight: 500;
   line-height: 1.5;
   padding-top: 15px;
   display: inline-block;
}
#cate__menu h2::before {
   content: '';
   position: absolute;
   left: 0;
   top: 0;
   width: 2em;
   height: 2px;
   background: linear-gradient(90deg,rgba(0, 158, 65, 1) 0%, rgba(171, 205, 5, 1) 100%);
}

.product__items {
   margin-top: 50px;
   display: flex;
   flex-wrap: wrap;
   gap: 40px 20px;
   max-width: 100%;
}
.product__item {
   width: calc((100% - 60px) / 4);
}
.product__item:hover {
   opacity: 1;
}
.product__item img {
   transition: 0.3s;
}
.product__item img:hover {
   opacity: 0.8;
}
.product__title {
   font-size: 18px;
   color: #222;
   line-height: 1.3;
   padding: 1em 0.3em;
   border-bottom: 1px solid #acacac;
   display: flex;
   justify-content: space-between;
   align-items: center;
}
.product__title::after {
   content: '';
   background-image: url(../img/common/icon_arrow_right_green.svg);
   background-size: contain;
   background-repeat: no-repeat;
   display: inline-block;
   width: 26px;
   height: 26px;
}
.product__item:hover .product__title::after {
   background-image: url('../img/common/icon_arrow_right_white_green.svg');
}


@media only screen and (max-width: 900px) {
   #contentWrap {
      margin-top: 60px;
   }
   .page #products .inner {
      width: 100%;
      padding: 0 3.5vw;
   }
   .products__searchArea {
      width: 100vw;
      margin: 0 calc(50% - 50vw);
   }
   .products__searchArea form {
      padding: 2.5em 3.5vw;
      flex-flow: column;
      width: 100%;
   }
   .products__searchArea .inputArea {
      margin-top: 1em;
      width: 100%;
   }
   .products__searchArea .inputArea input {
      width: 100%;
      padding: 0 1.5em;
      margin-left: 0;
      font-size: 14px;
   }
   .products__searchArea .inputArea button {
      background-color: #009E40;
      padding: 16px;
      border: none;
      cursor: pointer;
      border-radius: 0 6px 6px 0;
   }
   .products__searchArea .inputArea img {
      width: 28px;
      display: block;
   }
   #cate__menu {
      width: 100%;
      margin: 60px auto 0 auto;
   }
   #cate__menu h2 {
      font-size: 20px;
      padding-top: 10px;
   }

   .product__items {
      gap: 15px;
      margin-top: 30px;
   }
   .product__item {
      width: calc((100% - 15px) / 2);
      display: flex;
      flex-flow: column;
   }
   .product__title {
      font-size: 14px;
      padding: 0.5em 0.3em;
      flex: 1;
   }
   .product__title::after {
      width: 16px;
      height: 16px;
   }
}



/* 大カテゴリーページ */
.middle-category-list {
   margin-top: 80px;
}
.middle-category-list h3 {
   position: relative;
   font-size: 28px;
   font-weight: 500;
   line-height: 1.5;
   display: inline-block;
   padding-top: 15px;
}
.middle-category-list h3::before {
   content: '';
   position: absolute;
   left: 0;
   top: 0;
   width: 2em;
   height: 2px;
   background: linear-gradient(90deg,rgba(0, 158, 65, 1) 0%, rgba(171, 205, 5, 1) 100%);
}
.middle-category-menu {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   grid-auto-rows: 1fr;
   gap: 20px;
   margin-top: 40px;
}
.middle-category-menu li {
   display: flex;
}
.middle-category-menu li a {
	display: flex;
   flex-flow: column;
   justify-content: center;
	width: 100%;
	background-color: #009e40;
	border: 1px solid #009e40;
	color: #fff;
	font-size: 20px;
	font-weight: 600;
   padding: 0.7em 2.5em 0.7em 1em;
	position: relative;
	transition: 0.3s;
   line-height: 1.3;
}
.middle-category-menu li a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	background-image: url('../img/common/icon_arrow_right_green.svg');
	background-repeat: no-repeat;
	background-size: 100%;
	height: 26px;
	width: 26px;
}
.middle-category-menu li a:hover {
   background-color: #fff;
   color: #009e40;
   opacity: 1;
}
.middle-category-menu li a:hover::after {
   background-image: url('../img/common/icon_arrow_right_white_green.svg');
}
@media only screen and (max-width: 1100px) {
   .middle-category-list {
      margin-top: 60px;
   }
   .middle-category-list h3 {
      font-size: 20px;
      padding-top: 10px;
   }
   .middle-category-menu {
      grid-template-columns: repeat(2, 1fr);
      margin-top: 25px;
      gap: 15px;
   }

   .middle-category-menu li a {
      font-size: 14px;
      line-height: 1.3;
      display: flex;
   }
   .middle-category-menu li a::after {
      width: 16px;
      height: 16px;
   }
}

/*中カテゴリー*/
.lead_cate_m {
   /*width: 800px;*/
}
.common_upper_cate_m {
   margin-top: 40px;
   /*width: 800px;*/
   border: 1px solid #acacac;
   padding: 20px;
}
.image_cate_m {
   margin-top: 40px;
   width: 100%;
   display: flex;
   gap: 20px;
}
.image_cate_m img {
   width: calc((100% - 40px) / 3);
}
.link_btn_cate_m {
   margin-top: 30px;
}
.link_btn_cate_m h3 {
   font-weight: bold;
}
.link_btn_cate_m a {
   margin-top: 5px;
   display: inline-flex;
   background-color: #fff;
   border: 1px solid #009e40;
   color: #009e40;
   font-weight: 500;
   padding: 0 3em 0 1em;
   width: 387px;
   max-width: 100%;
   position: relative;
   transition: 0.3s;
   line-height: 1.1;
   height: 60px;
   align-items: center;
}
.link_btn_cate_m a:hover {
   background-color: #009e40;
   color: #fff;
   opacity: 1;
}
.link_btn_cate_m a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	background-image: url('../img/common/icon_arrow_right_white_green.svg');
	background-repeat: no-repeat;
	background-size: 100%;
	height: 24px;
	width: 24px;
}
.link_btn_cate_m a:hover::after {
	background-image: url('../img/common/icon_arrow_right_green.svg');
}
@media only screen and (max-width: 900px) {
   .lead_cate_m {
      width: 100%;
   }
   .common_upper_cate_m {
      margin-top: 20px;
      width: 100%;
      padding: 1em;
   }
   .image_cate_m {
      flex-wrap: wrap;
   }
   .image_cate_m img {
      width: 100%;
   }
   .link_btn_cate_m a {
      width: 100%;
      padding: 1em;
   }
   .link_btn_cate_m a::after {
      width: 16px;
      height: 16px;
   }
}


/*小カテゴリー見出しのリンク*/
.small_cate_link {
   margin-top: 140px;
}
.small_cate_link:first-child {
   margin-top: 80px;
}
.small_cate_link h3 {
   position: relative;
   display: inline-block;
   font-size: 28px;
   font-weight: 500;
   line-height: 1.5;
   padding-top: 15px;
}
.small_cate_link h3::before {
   content: '';
   position: absolute;
   left: 0;
   top: 0;
   width: 2em;
   height: 2px;
   background: linear-gradient(90deg,rgba(0, 158, 65, 1) 0%, rgba(171, 205, 5, 1) 100%);
}
.sub-category-menu-list {
   display: flex;
   flex-wrap: wrap;
   gap: 20px;
   margin-top: 25px;
}
.sub-category-menu-list li {
   width: calc((100% - 60px) / 4);
   border-top: 1px solid #acacac;
   border-bottom: 1px solid #acacac;
   display: flex;
   align-items: center;
}
.sub-category-menu-list li a {
   display: inline-block;
   width: 100%;
   padding: 15px 3em 15px 1em;
   position: relative;
   transition: 0.3s;
   line-height: 1.35;
}
.sub-category-menu-list li a::after {
   content: '';
   position: absolute;
   top: 50%;
   right: 1em;
   transform: translateY(-50%);
   background-image: url('../img/common/icon_arrow_down_green.svg');
   background-repeat: no-repeat;
   background-size: 100%;
   height: 24px;
   width: 24px;
}
.sub-category-menu-list li a:hover::after {
   background-image: url('../img/common/icon_arrow_down_green_white.svg');
}
.common_lower_cate_m {
   /*width: 800px;*/
   margin-top: 3em;
}
@media only screen and (max-width: 900px) {
   .small_cate_link {
      margin-top: 100px;
   }
   .small_cate_link h3 {
      font-size: 20px;
      padding-top: 10px;
   }
   .sub-category-menu-list {
      gap: 15px;
      margin-top: 20px;
   }
   .sub-category-menu-list li {
	   width: calc((100% - 15px) / 2);
   }
   .sub-category-menu-list li a {
      padding: 0.5em 3em 0.5em 0.3em;
   }
   .sub-category-menu-list li a::after {
      width: 16px;
      height: 16px;
   }
}





/*小カテゴリー*/
.sub-category-group {
   margin-top: 140px;
}
.sub-category-group h3 {
   position: relative;
   display: inline-block;
   font-size: 28px;
   font-weight: 500;
   line-height: 1.5;
   padding-top: 15px;
}
.sub-category-group h3::before {
   content: '';
   position: absolute;
   left: 0;
   top: 0;
   width: 2em;
   height: 2px;
   background: linear-gradient(90deg,rgba(0, 158, 65, 1) 0%, rgba(171, 205, 5, 1) 100%);
}
.small-category-lead {
   margin-top: 30px;
   /*width: 800px;*/
}
.common_upper_cate_s {
   margin-top: 30px;
   /*width: 800px;*/
   border: 1px solid #acacac;
   padding: 20px;
   line-height: 1.35;
}
.common_lower_cate_s {
   /*width: 800px;*/
   margin-top: 0.5em;
   line-height: 1.35;
}
@media only screen and (max-width: 900px) {
   .sub-category-group {
      margin-top: 100px;
   }
   .sub-category-group h3 {
      font-size: 20px;
      padding-top: 10px;
   }
   .small-category-lead {
      margin-top: 20px;
      width: 100%;
   }
   .common_upper_cate_s {
      margin-top: 20px;
      width: 100%;
      padding: 1em;
   }
   .common_lower_cate_s {
      width: 100%;
   }
}
/*小カテゴリーの表組*/
.product-table-wrapper {
   margin-top: 20px;
   overflow-x: auto; 
   overflow-y: hidden !important;
   position: relative;
}
/*.product-table-wrapper.is-scrollable {
   padding-bottom: 10px;
}*/
.product-info-table {
   border-collapse:  collapse;
}
.product-info-table tr:has(th) {
   border: 1px solid #009E40;
}
.product-info-table th {
   padding: 0.5em 0.5em;
   background-color: #009e40;
   color: #fff;
   display: table-cell;
   text-align: center;
   vertical-align: middle;
   white-space: nowrap;
   line-height: 1.35;
   min-width: 4em;
}
.product-info-table th:nth-child(n+3) {
   border-left: 1px solid #fff;
}
/*iOsテキストの自動サイズ調整対応*/
/*.product-info-table td:nth-child(3) {
   min-width: 300px;
   white-space: normal;
}*/

.product-info-table th:first-child {
   position: sticky;
   left: 0;
   z-index: 8;
   /*border-right: none;
   box-shadow: -1px 0 0 0 #fff inset;*/
}
.product-info-table th:first-child::before {
   content: '';
   position: absolute;
   display: inline-block;
   width: 1px;
   height: 100%;
   background-color: #fff;
   right: 0;
   top: 0;
}
.product-info-table td {
   padding: 0.5em 0.5em;
   display: table-cell;
   vertical-align: middle;
   border: 1px solid #acacac;
   white-space: nowrap;
   line-height: 1.35;
}
.product-info-table td:first-child {
   background-color: #f1f1f1;
   position: sticky;
   left: 0;
   z-index: 8;
   border-left: none;
}
.product-info-table td:nth-child(2) {
   border-left: none;
   position: relative;
}
.product-info-table td:first-child::before {
   content: '';
   position: absolute;
   display: inline-block;
   width: 1px;
   height: 100%;
   background-color: #acacac;
   left: 0;
   top: 0;
}
.product-info-table td:first-child::after {
   content: '';
   position: absolute;
   display: inline-block;
   width: 1px;
   height: 100%;
   background-color: #acacac;
   right: -1px;
   top: 0;
}

.product-info-table .pdf {
   text-align: center;
}
.product-info-table .pdf img {
   width: 32px;
   height: auto;
}
.product-info-table .structure {
   text-align: center;
}
.product-info-table .structure img {
   width: auto;
   max-width: 150px;
   max-height: 150px;
}


@media only screen and (max-width: 900px) {
   .product-info-table th:first-child {
      position: relative;
   }
   .product-info-table td:first-child {
      position: relative;
   }
}

.image_cate_s {
   margin-top: 40px;
   width: 100%;
   display: flex;
   gap: 20px;
}
.image_cate_s img {
   width: calc((100% - 40px) / 3);
}
.link_btn_cate_s {
   margin-top: 30px;
}
.link_btn_cate_s h4 {
   font-weight: bold;
}
.link_btn_cate_s a {
   margin-top: 5px;
   display: inline-flex;
   background-color: #fff;
   border: 1px solid #009e40;
   color: #009e40;
   font-weight: 500;
   padding: 0 3em 0 1em;
   width: 387px;
   max-width: 100%;
   position: relative;
   transition: 0.3s;
   line-height: 1.1;
   height: 60px;
   align-items: center;
}
.link_btn_cate_s a:hover {
   background-color: #009e40;
   color: #fff;
   opacity: 1;
}
.link_btn_cate_s a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
	background-image: url('../img/common/icon_arrow_right_white_green.svg');
	background-repeat: no-repeat;
	background-size: 100%;
	height: 24px;
	width: 24px;
}
.link_btn_cate_s a:hover::after {
	background-image: url('../img/common/icon_arrow_right_green.svg');
}

.scroll-hint-icon-wrap {
	z-index: 8;
}
.is-scrollable {
   cursor: grab;
}
.is-scrollable:active {
  cursor: grabbing;
}

@media only screen and (max-width: 900px) {
   /*.product-table-wrapper.is-scrollable {
      padding: 0;
   }*/
   .image_cate_s {
      flex-wrap: wrap;
   }
   .image_cate_s img {
      width: 100%;
   }
   .link_btn_cate_s a {
      width: 100%;
      padding: 1em;
   }
   .link_btn_cate_s a::after {
      width: 16px;
      height: 16px;
   }
}

/*問い合わせはこちら*/
.products__contactWrap {
   width: 386px;
   max-width: 100%;
   margin: 100px auto 0 auto;
   padding: 20px;
   background-color: #009e40;
}
.products__contactWrap p {
   font-size: 14px;
   font-weight: 700;
   color: #fff;
   text-align: center;
}
.products__contactWrap a {
   width: 284px;
   margin: 0.5em auto 0 auto;
   background-color: #fff;
   color: #009e40;
   font-size: 20px;
   font-weight: 500;
   padding: 0.5em 1em;
   transition: 0.3s;
   display: flex;
   justify-content: space-between;
   align-items: center;
}
.products__contactWrap a::after {
	content: '';
	background-image: url('../img/common/icon_arrow_right_green_white.svg');
	background-repeat: no-repeat;
	background-size: 100%;
	height: 24px;
	width: 24px;
}
.products__contactWrap a:hover {
   opacity: 1;
}
.products__contactWrap a:hover::after {
	background-image: url('../img/common/icon_arrow_right_green.svg');
}
@media only screen and (max-width: 900px) {
   .products__contactWrap {
      padding: 30px 20px 60px 20px;
  
   }
   .products__contactWrap p {
      font-size: 16px;
   }
   .products__contactWrap a {
      max-width: 100%;
      font-size: 18px;
   }
}