#page.in.products{}
#page.in.products .sub_ttl{
	font-size: 20px;
}
#page.in.products .keyvisual{
	width: 80%;
  height: auto;
	padding: 0;
	margin: 0 0 60px;
  display: block;
}
#page.in.products .keyvisual video{
	width: 100%;
  max-width: 1000px;
}
#page.in.products .product_wrapper{
	padding: 0 0 30px;
	margin: 0;
	/* border-bottom: 1px solid #bdbebe; */
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  /* justify-content: space-between; */
}
#page.in.products .product_wrapper > *{
  flex-basis: 30%;
  margin-right: 5%;
  /* flex-grow: 1; */
  margin-bottom: 1em;
}
#page.in.products .product_wrapper > *:nth-child(3n),
#page.in.products .product_wrapper > *:last-child{
  margin-right: 0;
}

#page.in.products.inhouse .product_wrapper{
  gap: 0 5%;
}

#page.in.products.inhouse .product_wrapper > *{
  margin: 0;
}

#page.in.products .product_wrapper > *.double{
  flex-basis: 45%;
  flex-grow: 1;
}

#page.in.products .product_wrapper > *.full{
  flex-basis: 100%;
  margin-right: 0;
}

#page.in.products .imgblock{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#page.in.products .imgblock > *{
  flex-basis: calc((100% - 2em) / 3);
  width:  calc((100% - 2em) / 3);
  margin-bottom: 1em;
  flex-grow: 1;
  margin-right: 1em;
}

#page.in.products .imgblock > *:nth-child(3n){
  margin-right: 0;
}

#page.in.products .imgblock > *:nth-child(3n){
  margin-right: 0;
}

#page.in.products h2.bl_ttl {
  margin-top: 30px;
  font-size: 30px;
}

#page.in.products .h2ttl{
  margin-top: 30px;
  margin-bottom: 25px;
  color: #d6001c;
}

#page.in.products .h2ttl h2{
  font-size: 26px;
}

#page.in.products .h2ttl span{
  font-size: 16px;
}

#page.in.products h2.bl_ttl span{
	font-size: 13px;
  margin-left: 1em;
}
#page.in.products .product_wrapper h3,
#page.in.products .product_wrapper h4{
	font-size: 20px;
  color: #d6001c;
	margin-bottom: 0.7em;
  line-height: 1.2;
}

#page.in.products.inhouse .product_wrapper div.full h3.h2ttl{
  font-size: 32px;
	font-family: 'Tazugane Gothic StdN W50 Mediu';
  font-weight: 500;
}

#page.in.products.inhouse .product_wrapper div.full h3.h2ttl span{
  font-size: 20px;
  margin-left: -0.05em;
}

#page.in.products h4.lnavi{
  font-size: 20px;
  color: #d6001c;
  border-bottom: 1px solid #bdbebe;
  padding-bottom:1em;
  margin-bottom: 5px;
}

#page.in.products .product_wrapper div.img_wrapper{
  margin-bottom: 1.5em;
  border-left: #d6001c 6px solid;
}

#page.in.products .product_wrapper div.img_wrapper::before{
  content: "";
  display: block;
  padding-top: 65.7%;
}

.img_wrapper{
  position: relative;
  overflow: hidden;
}

.img_wrapper > img{
  position: absolute;
  width: 100%;
  height: auto;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}

.img_wrapper.hfit > img{
  width: auto;
  height: 100%;
}


/* #page.in.products .product_wrapper .det h4{
	font-size: 16px;
	border-bottom: 1px solid #bdbebe;
	padding-bottom: 5px;
	margin-bottom: 10px;
} */
#page.in.products .product_wrapper .det{
	width: 100%;
  /* display: inline-block;
  vertical-align: top; */
  /* margin-bottom: 35px; */
  line-height: 1.15;
}

#page.in.products .product_wrapper .det img{
  margin-bottom: 1em;
}

#page.in.products .product_wrapper p{
  font-size: 16px;
  margin-bottom: 1em;
}

#page.in.products.inhouse .product_wrapper div.full p{
  font-size: 16px;
  line-height: 1.75;
  font-weight: bold;
}



#page.in.products .product_wrapper p.subtext{
  font-size: 16px;
  font-weight: bold;
}


#page.in.products .product_wrapper ul.prd_list{
	list-style: none;
	margin-bottom: 15px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
#page.in.products .product_wrapper ul.prd_list.inline{
  display: inline;
  line-height: 1.5;
}

#page.in.products .product_wrapper ul.prd_list li{
  font-size: 16px;
	margin-bottom: 0.5em;
  display: inline-black;
}
#page.in.products .product_wrapper ul.prd_list li::after{
  content: "/";
  margin-left: 0.2em;
  margin-right: 0.2em;
}

#page.in.products .product_wrapper ul.prd_list.inline li{
  display: inline;
}

#page.in.products .product_wrapper ul.prd_list li:last-child:after{
  content: "";
  margin: 0;
}

#page.in.products .product_wrapper ul.prd_list li span{
  font-size: 0.85em;
}

#page.in.products .sp_card{
	width: 100%;
	margin-bottom: 15px;
	display: none;
}
#page.in.products .sp_card dt{
	display: table-cell;
	vertical-align: middle;
	width: 170px;
}
#page.in.products .sp_card dd{
	display: table-cell;
	padding: 30px;
	vertical-align: middle;
	background: #ebecec;
}
#page.in.products .sp_card dd h3{
	margin-bottom: 0;
}
#page.in.products ul.products_index{
	width: auto;
	margin: 0 -3.2% 5px;
  padding: 25px 0 0;
  list-style: none;
  overflow: hidden;
  position: relative;
  display: block;
  letter-spacing: -0.4em;
}
#page.in.products ul.products_index li{
  width: 27%;
  margin: 0 3% 30px;
  padding-left: 1.6%;
  border-left: 4px solid #d6001c;
  position: relative;
  box-sizing: border-box;
  display: inline-block;
  letter-spacing: normal;
}
#page.in.products ul.products_index li:hover {
	opacity:0.5;
	filter:alpha(opacity=50);
	-ms-filter: "alpha( opacity=50 )";
  transition: opacity 0.4s;
  -moz-transition: opacity 0.4s;
  -webkit-transition: opacity 0.4s;
  -o-transition: opacity 0.4s;
}
#page.in.products ul.products_index.automobile li.automobile_bt,
#page.in.products ul.products_index.mobile-equipment li.mobile_bt,
#page.in.products ul.products_index.medical li.medical_bt,
#page.in.products ul.products_index.machinery li.machinery_bt,
#page.in.products ul.products_index.semiconductor li.semiconductor_bt,
#page.in.products ul.products_index.consumer-electronics li.consumerelectronics_bt,
#page.in.products ul.products_index.office-automation li.officeautomation_bt,
#page.in.products ul.products_index.infrastructure li.infrastructure_bt,
#page.in.products ul.products_index.thermal-solution li.thermalcountermeasure_bt{
	opacity:0.5;
	filter:alpha(opacity=50);
	-ms-filter: "alpha( opacity=50 )";
}
#page.in.products ul.products_index li.current{
	opacity:0.5;
	filter:alpha(opacity=50);
	-ms-filter: "alpha( opacity=50 )";
}
#page.in.products ul.products_index li h3 {
  font-size: 17px;
  margin-bottom: 15px;
  line-height: 1;
}
#page.in.products ul.products_index li .fig{
	width: 100%;
	margin: 0;
  position: relative;
  overflow: hidden;
}
#page.in.products ul.products_index li .fig::before{
  content: "";
  display: block;
  padding-top: 44.7%;
}

#page.in.products ul.products_index li .fig > img{
  position: absolute;
  width: 100%;
  height: auto;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}

#page.in.products #page_mv{
  overflow: hidden;
}

#page.in.products #page_mv::before{
  content: "";
  display: block;
  padding-top: 17.9%;
}

#page.in.products.prd_page #page_mv::before{
  padding-top: 27.9%;
}

#page.in.products #page_mv > img{
  position: absolute;
  width: 100%;
  height: auto;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}

#page.in.products.prd_page #page_mv .page_mv_layer{
  top: 8%;
  height: 84%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

#page.in.products.prd_page .page_mv_lead{
  color: #fff;
  font-size: 32px;
  font-weight: normal;
  padding-left: 16px;
  text-shadow: 0 0 5px #000;
}

#page.in.products.prd_page.inhouse .page_mv_lead{
  line-height: 1.35;
}

#page.in.products.prd_page.inhouse .page_mv_lead > span{
  font-size: 0.95em;
}

#page.in.products.prd_page #page_mv .page_mv_layer .page_mv_ttl,
#inhouseNavi .page_mv_ttl{
  border-left: 6px solid #d6001c;
  padding-left: 10px;
}

#page.in.products.prd_page.inhouse .page_mv_ttl{
  line-height: 1;
  text-shadow: 0 0 3px rgba(0,0,0,0.8);
}

#inhouseNavi .page_mv_ttl{
  position: relative;
  z-index: 10;
  margin-bottom: 0.75em;
}

#page.in.products.prd_page #page_mv .page_mv_layer .page_mv_ttl h1{
  line-height: 1;
  font-size: 32px;
}

#page.in.products.prd_page.inhouse #page_mv .page_mv_layer .page_mv_ttl h1{
  font-size: 40px;
  line-height: 0.52;
  /* margin-top: -0.15em; */
  margin-bottom: 0.15em;
}

#page.in.products.prd_page #page_mv .page_mv_layer .page_mv_ttl{
  font-size: 16px;
  text-shadow: 0 0 3px rgba(0,0,0,0.8);
}

#page.in.products.prd_page #page_mv .page_mv_layer .page_mv_ttl span{
  padding-left: 0.3em;
  font-size: 16px;
}

#page.in.products.prd_page.inhouse .page_mv_ttl span{
  padding-left: 0.1em!important;
  font-size: 21px!important;
  margin-bottom: -0.2em;
}

#page.in.products.prd_page.inhouse #inhouseNavi .page_mv_ttl span{
  font-size: 18px!important;
}

#page.in.products.prd_page .amm_fig{
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  margin-bottom: 2em;
  font-size: 16px;
}

/* #page.in.products.prd_page .amm_fig > *{
  flex-basis: 25%;
} */

#page.in.products.prd_page .amm_fig h4{
  flex-basis: 10%;
}

#page.in.products.prd_page .amm_fig dl{
  margin-left: 1em;
  padding-left: 1em;
  border-left: 1px solid #484848;
  flex-basis: 18.8%;
  position: relative;
}

#page.in.products.prd_page .amm_fig dt{
  font-weight: bold;
}

#page.in.products.prd_page .amm_fig dl::after{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: -0.4em;
  margin: auto 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.5em 0 0.5em 0.866em;
  border-color: transparent transparent transparent #666;
}

#page.in.products.prd_page .amm_fig dl:last-child::after{
  content: none;
}

#inhouseConts{
  margin-bottom: 30px;
}

#inhouseConts > p{
  font-size: 25px;
  line-height: 1.44;
  font-weight: bold;
  color: #d6001c;
  margin-bottom: 2em;
}

.inhouse_index{
  margin-top: 50px;
  margin-bottom: 70px;
  background-color: #484848;
  padding: 2.5% 3%;
  color: #fff;
}

h2.large_lead+.inhouse_index{
  margin-top: 30px;
}

.inhouse_index h3{
  font-size: 22px;
  margin-bottom: 1em;
  line-height: 1;
}

#inhousePanel,
#inhouseNavi{
  display: flex;
  /* flex-direction: column; */
  gap: 4%;
  color: #fff;
  margin-bottom: 60px;
}

#inhouseNavi a{
  display: block;
  color: #fff;
}

#inhouseNavi > *{
  flex-basis: 48%;
  aspect-ratio: 488 / 343;
  box-sizing: border-box;
  height: auto;
  background-color: #484848;
  padding: 2% 3%;
  color: #fff;
}

.inhouse_index #inhouseNavi{
  gap: 5.4%;
  margin-bottom: 0;
}

.inhouse_index #inhouseNavi > *{
  flex-basis: 47.3%;
  aspect-ratio: inherit;
  background-color: inherit;
  padding: 0;
}

.inhouse_index #inhouseNavi .fig{
  height: auto;
  aspect-ratio: 434 / 194;
  overflow: hidden;
  position: relative;
}

.inhouse_index #inhouseNavi .fig img{
  position: absolute;
  width: 100%;
  height: auto;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
}

.inhouse_index #inhouseNavi a.amm .fig img{
  width: 106%;
}

.inhouse_index #inhouseNavi a.amla .fig img{
  top: 40%;
}

#inhouseNavi .inquiryPanel h5{
  font-size: 25px;
  margin-bottom: 1em;
  font-weight: 400;
}

#inhouseNavi .inhousePanel{
  display: flex;
  flex-direction: column;
}

#inhouseNavi .inhousePanel h5{
  font-size: 21px;
  margin-bottom: 1em;
}

#inhouseNavi .inhousePanel a{
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

#inhouseNavi .inhousePanel a > div.fig{
  flex-grow: 1;
  position: relative;
  overflow: hidden;
  aspect-ratio: 214 / 96;
  box-sizing: border-box;
  height: auto;
}

#inhouseNavi h4{
  font-size: 32px;
  line-height: 0.7;
  /* margin-top: -0.15em; */
  margin-bottom: 0.15em;
}


.inhouse_index #inhouseNavi h4{
  font-size: 40px;
  font-weight: 500;
  line-height: 0.55;
  margin-bottom: 0.25em;
}


.inhouse_index #inhouseNavi .page_mv_ttl{
  font-size: 22px;
}

.inhouse_index #inhouseNavi .page_mv_ttl span{
  line-height: 1;
}

.inhouseNaviImg{
  position: relative;
  aspect-ratio: 426 / 240;
  box-sizing: border-box;
  height: auto;
  overflow: hidden;
  padding: 5.7%;
}

#inhouseNavi .inhouseNaviImg > img,
#inhouseNavi .inhousePanel a > div.fig img{
  position: absolute;
  width: auto;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
}

#inhouseNavi .inhousePanel a > div.fig img{
  width: 100%;
  height: auto;
}

#inhouseNavi .inhousePanel.amm a > div.fig img{
  top:43%;
}

@media(min-width: 1px) and (max-width: 940px){
	#page.in.products .product_wrapper{
		padding: 0 0;
	}
  #page.in.products .product_wrapper .det{
    width: 100%;
    display: block;
    margin-right: 0;
  }
  #page.in.products ul.products_index{
    margin: 0 -35px 5px;
  }
  #page.in.products ul.products_index li{
    width: 270px;
    margin: 0 15px 30px 55px;
    padding-left: 16px;
  }
}
@media(min-width: 1px) and (max-width: 640px){
  #page.in.products h2.bl_ttl span{
    display: block;
    margin-left: 0.1em;
  }
  #page.in.products ul.products_index{
    margin: 0 auto 5px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #page.in.products ul.products_index li{
    flex-basis: 48%;
    margin: 0;
    margin-bottom: 1em;
    /* margin: 0 auto 30px;
    display: block; */
  }
  #page.in.products ul.products_index li h3{
    margin-bottom: 0.5em;
  }
  #page.in.products .product_wrapper{
    display: inherit;
  }
  #page.in.products .product_wrapper > *{
    flex-basis: inherit;
    margin-right: 0;
  }
  #page.in.products .keyvisual{
    width: 100%;
  }
  #page.in.products #page_mv::before{
    content: none;
  }
  #page.in.products #page_mv{
    height: 100px;
    border-bottom: none;
  }
  #page.in.products.prd_page #page_mv{
    height: 200px;
  }
  #page.in.products #page_mv > img{
    width: auto;
    height: 100%;
    z-index: -5;
  }
  #page.in.products.prd_page #page_mv .page_mv_layer{
    height: calc(100% - 25px);
    top: 10px;
    margin: 15px auto 10px;
    padding: 0;
  }
  #page.in.products #page_mv .page_mv_layer .page_mv_ttl h1{
    font-size: 16px;
  }
  #page.in.products.prd_page #page_mv .page_mv_layer .page_mv_ttl h1{
    font-size: 20px;
  }
  #page.in.products #page_mv .page_mv_layer .page_mv_ttl span,
  #page.in.products.prd_page #page_mv .page_mv_layer .page_mv_ttl span{
    color: #fff!important;
    font-size: 12px;
  }
  #page.in.products.prd_page .page_mv_lead{
    font-size: 16px;
  }

  .inhouse_index{
    padding: 1em;
  }

  #inhousePanel,
  #inhouseNavi{
    flex-direction: column;
    gap: 1em 0;
  }

  .inhouse_index #inhouseNavi{
    gap: 2.5em 0;
  }

  .inhouse_index h3,
  #inhouseNavi .inquiryPanel h5{
    font-size: 16px;
  }

  #inhouseNavi > *{
    flex-basis: inherit;
    padding: 1em;
    width: 100%;
    /* margin-bottom: 1em; */
  }

  #page.in.products.inhouse .product_wrapper div.full h3.h2ttl span{
    display: inline-block;
    margin-left: 0;
  }


}
