@charset "utf-8";
/* CSS Document */

/*----- ▼▼左コンテンツ▼▼ -----*/

#main #side_left{
	width: 240px;
	text-align: left;
	margin-right: 20px;
	float: left;
}

#main #side_navi{
	float: left;
	width: 240px;
	text-align: left;
}

/*----- ▼infoコンテンツ▼ -----*/

#info{
	width: 240px;
	margin-top: 20px;
	float: left;
}

/*----- SNSバナー -----*/

#sns {
	width: 240px;
	height: 70px;
	text-align: center;
	margin-top: 20px;
	float: left;
}

#sns #sns_y {
	width: 60px;
	height: 70px;
	float: left;
}

#sns #sns_y a:hover img {
    opacity: 0.6;
	transition: 0.3s ease-in-out;
}

#sns #sns_t {
	width: 60px;
	height: 70px;
	float: left;
}

#sns #sns_t a:hover img {
    opacity: 0.6;
	transition: 0.3s ease-in-out;
}

#sns #sns_i {
	width: 60px;
	height: 70px;
	float: left;
}

#sns #sns_i a:hover img {
    opacity: 0.6;
	transition: 0.3s ease-in-out;
}

#sns #sns_f {
	width: 60px;
	height: 70px;
	float: left;
}

#sns #sns_f a:hover img {
    opacity: 0.6;
	transition: 0.3s ease-in-out;
}

/*----- 展示会バナー -----*/

#biopharma_expo_2020 {
	width: 240px;
	height: 100px;
	text-align: center;
	background-color: #4e2581;
	margin-bottom: 10px;
	float: left;
}

#biopharma_expo_2020 a:hover img {
    filter: brightness(130%);
	transition: 0.3s ease-in-out;
}

/*----- カタログ 枠-----*/

#catalog_pc {
	width: 223px;
	padding: 10px 0px 10px 15px;
	border: 1px solid #ddd;
	margin-bottom: 15px;
	float: left;
}

#catalog {
	width: 223px;
	padding: 10px 0px 10px 15px;
	border: 1px solid #ddd;
	margin-bottom: 15px;
	float: left;
}

#catalog_contents {
	width: 235px;
	padding-left: 10px;
	float: left;
}

/*----- カタログ 内容-----*/

#catalog_pc .catalog_ask {
	width: 210px;
	font-size: 90%;
	font-weight: bold;
	text-align: center;
	float: left;
}

#catalog .catalog_ask {
	width: 210px;
	font-size: 90%;
	font-weight: bold;
	text-align: center;
	float: left;
}

#catalog_pc .catalog_pdf {
	width: 210px;
	font-size: 80%;
	font-weight: nomal;
	text-align: center;
	border-top: solid 1px #94000b;
	padding-top: 5px;
	float: left;
}

#catalog .catalog_pdf {
	width: 210px;
	font-size: 80%;
	font-weight: nomal;
	text-align: center;
	border-top: solid 1px #94000b;
	padding-top: 5px;
	float: left;
}

#catalog_pc:hover {
	border-color: #002887;
	transition: 0.3s ease-in-out;
}

#catalog:hover {
	border-color: #002887;
	transition: 0.3s ease-in-out;
}

#catalog_pc .catalog_ask a{
	color: #333333;
}

#catalog .catalog_ask a{
	color: #333333;
}

#catalog_pc .catalog_img {
	width: 210px;
	padding-top: 5px;
	float: left;
}

#catalog .catalog_img {
	width: 210px;
	padding-top: 5px;
	float: left;
}

#catalog_pc a:hover img {
    filter: brightness(85%);
	transition: 0.3s ease-in-out;
}

#catalog a:hover img {
    filter: brightness(85%);
    transition: 0.3s ease-in-out;
}

/*----- 問合せ 電話/FAX -----*/

#ask_tel {
	width: 240px;
	margin-bottom: 10px;
	float: left;
}

/*----- 問合せ フォーム -----*/

#ask_foam {
	width: 240px;
	margin-bottom: 10px;
	float: left;
}

/*----- 問合せ メール -----*/

#ask_mail {
	width: 240px;
	margin-bottom: 15px;
	float: left;
}

/*----- イプロス特設サイト -----*/

#ipros {
	width: 240px;
	margin-bottom: 15px;
	float: left;
	transition: 0.3s ease-in-out;
}

#ipros a:hover img {
    filter: brightness(90%);
	transition: 0.3s ease-in-out;
}

/*----- ファームテクジャパン WEB展示場 -----*/

#pharmtech {
	width: 240px;
	margin-bottom: 10px;
	float: left;
	transition: 0.3s ease-in-out;
}

#pharmtech a:hover img {
    filter: brightness(90%);
	transition: 0.3s ease-in-out;
}

/*----- 採用情報 -----*/

#job_info {
	width: 240px;
	margin-bottom: 15px;
	float: left;
}

/* 製品＆サービス */

#main #side_navi ul{
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
}

#main #side_navi li{
	list-style-type: none;
	float: left;
	width: 240px;
	height: 34px;
	margin: 0px 0px 6px 0px;
}

/*----- ▼▼右コンテンツ▼▼ -----*/

#main #side_right{
	float: right;
	width: 740px;
	text-align: left;
}

#main #side_right .p_index {
	width: 740px;
	margin-bottom: 40px;
}

#category_com {
	width: 710px;
	border: 1px solid #e85d00;
	border-radius: 0px 0px 10px 10px;
	padding: 10px 15px 10px 15px;
	margin-bottom: 20px;
	float: left;
}

#category_com .cate_lead{
	font-size: 110%;
	font-weight: bold;
	color: #333;
	text-align: left;
	margin-bottom: 5px;
}

#category_com .cate_com {
	font-size: 90%;
	font-weight: 400;
	line-height: 1.7em;
	color: #333;
	text-align: left;
}

.category_com_2 {
	width: 700px;
	border: 1px solid #ccc;
	border-radius: 0px 0px 10px 10px;
	padding: 10px 20px;
	margin-bottom: 30px;
	float: left;
}

.category_com_2 h2 {
	font-size: 110%;
	text-align: center;
}

/*----- ▼index01～15▼ -----*/

#index01,
#index02,
#index03,
#index04,
#index05,
#index06,
#index07,
#index08,
#index09,
#index10,
#index11,
#index12,
#index13,
#index14,
#index15 {
	width: 740px;
	margin-bottom: 30px;
	float: left;
}

/*----- ▼index01～15共通▼ -----*/

.in01,
.in02 {
	width: 356px;
	text-align: left;
	border: solid 2px #fff;
	box-shadow: 0px 0px 10px #ddd;
	margin-bottom: 20px;
	float: left;
	transition: 0.3s ease-in-out;
}

.in01 {
	margin-right: 20px;
}

.in01:hover,
.in02:hover {
	border-color: #e85d00;
	box-shadow: 0px 0px 25px #aaa;
}

.in01 a:link,
.in02 a:link,
.in01 a:visited,
.in02 a:visited {
	display: block;
	text-decoration: none;
	color: #3c3c3c;
}

/* パネルの説明文 */

.product-desc {
  padding: 10px 12px;
  font-size: 80%;
  line-height: 1.6em;
  background-color: #fafcff;
  border-top: 1px solid #e0e0e0;
  box-sizing: border-box;
  text-align: left;
}

/* パネルの説明文の行数 */

.product-desc p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 3;
  height: 4.8em;
}

@media screen and (max-width : 718px ){
  .product-desc p {
    -webkit-line-clamp: 2;
    height: 3.2em;
  }
}

/* パネルの説明文 ここまで */

.intitle {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	width: 100%;
	/*margin-bottom: -27px;*/
	padding: 4px 10px 0;
	box-sizing: border-box;
	text-align: left !important;
}

.intitle_main {
	padding-left: 10px;
	font-size: 16px;
}

.intitle_capacity {
	font-size: 12px;
	font-weight: normal;
}

.intitle_desc {
	width: 100%;
	padding: 3px 10px 0;
	box-sizing: border-box;
	border-top: 1px solid #e45e00;
	line-height: 1.2;
	letter-spacing: -1px;
	font-weight: normal;
	font-size: 14px;
}

@media screen and (max-width : 718px ){
  .intitle_main {
	padding-left: 10px;
	font-size: 18px;
}
  .intitle_capacity {
	font-size: 15px;
	font-weight: normal;
}
  .intitle_desc {
    width: 100%;
	padding: 2px 10px 0;
	box-sizing: border-box;
	border-top: 1px solid #e45e00;
	line-height: 1.4;
	letter-spacing: -1px;
	font-weight: normal;
	font-size: 15px;
  }
  .intitle_desc_small {
	font-size: 15px !important;
}
  .caret {
    display: none !important;
  }
}

.caret {
	display: inline-block;
	width: 16px;
	height: 10px;
	margin-left: 5px;
	border-width: 5px 8px;
	border-style: solid;
	border-color: transparent transparent transparent #a6130c;
	box-sizing: border-box;
	opacity: 0;
	transition: opacity 0.3s;
}

.in01:hover .caret,
.in02:hover .caret {
	opacity: 1;
}

/* PLUE+を見るボタン */

#custom_com {
  width: 100%;
  max-width: 740px;
  margin: 30px auto;
  text-align: center;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

#custom_com a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.6em;
  padding: 14px 30px;
  font-size: 105%;
  font-weight: 600;
  color: #DB5200;
  background: linear-gradient(135deg, rgba(219,82,0,0.08), rgba(219,82,0,0.15));
  text-decoration: none;
  transition: all 0.3s ease;
  position: relative;
}

#custom_com a::after {
  content: '';
  width: 8px;
  height: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
  transition: all 0.3s ease;
}

#custom_com a:hover {
  background: linear-gradient(135deg, #DB5200 0%, #f06c22 50%, #ff924d 100%);
  color: #fff;
  letter-spacing: 0.03em;
}

#custom_com a:hover::after {
  border-color: #fff;
  transform: rotate(45deg) translateX(3px);
}

/* PLUE+を見るボタン ここまで */


/*----- ▼index01～07共通▼ -----*/

.custom_contents {
	width: 736px;
	text-align: center;
	border: solid 2px #fff;
	box-shadow: 0px 0px 10px #ddd;
	float: left;
}

.custom_contents:hover {
	border-color: #e85d00;
	box-shadow: 0px 0px 25px #aaa;
}

/*----- ページネーション -----*/

#next_back {
	width: 740px;
	margin-bottom: 20px;
    text-align: center;
	float: left;
}

ul.pagination {
    display: inline-block;
    padding: 0;
    margin: 0;
}

ul.pagination li {display: inline;}

ul.pagination li a {
    color: black;
    float: left;
    padding: 8px 16px;
    text-decoration: none;
    transition: background-color .3s;
    border: 1px solid #aaa;
}
    
.pagination li:first-child a {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}

.pagination li:last-child a {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
}

ul.pagination li a.active {
    background-color: #e85d00;
    /*background-color: #4CAF50;*/
    color: white;
    border: 1px solid #e85d00;
}

ul.pagination li a:hover:not(.active) {background-color: #ddd;}

div.center {text-align: center;}

ul.pagination li a {
    margin: 0 2px;
}

/*----- ラインナップグループ -----*/

h2.group {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 110%;
  font-weight: bold;
  color: #333;
  margin-bottom: 15px;
  line-height: 1.5;
  border-bottom: 1px solid #ddd;
}

h2.group .group_label {
  display: inline-block;
  padding: 0.25em 0 0.25em 0.8em;
  border-left: 6px solid #e85d00;
	border-radius: 2px;
  line-height: 1.5;
}

/*----- ラインナップグループ サブ見出し-----*/

.subgroup .sub_label{
  display:inline-block;
  font-size:14px;
  font-weight:600;
  color:#555;
  margin:6px 0 12px;
  border-left:3px solid #e85d00;
  padding-left:6px;
}
.note {
  font-size: 13px;
  color: #666;
  margin: 4px 0 12px;
}

/*----- 近日公開予定 -----*/

.muted {
  color:#666;
  font-size:14px;
  margin:8px 0
}

/* カード未公開スタイル */
.card-disabled {
  opacity: 0.6;
  pointer-events: none; /* クリック無効 */
}

.card-disabled img {
  filter: grayscale(100%);
}

.card-disabled .comingsoon {
  display: inline-block;
  background: #eee;
  color: #666;
  font-size: 0.9em;
  padding: 3px 8px;
  border-radius: 5px;
}
