@charset	"UTF-8";

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td	{
	margin:	0;
	padding:	0;
	font-size:	20px
		font-family: Helvetica,Verdana,Geneva,Arial,Meiryo,Apple SD Gothic Neo;
	line-height: 200%;
	
	/* new font */
	font-family: "proxima-nova", sans-serif;
	font-weight: 400;
	font-style: normal;
}

/* Float処理 ----------------------------------------------- */

.foot_list_e,
.reason_area,
.srv_wrap,
.srv_wrap2,
.srv_wrap3,
.head_wrap,
.clearfix	{
	zoom:1;
}

.foot_list_e:after,
.reason_area:after,
.srv_wrap:hover,
.srv_wra2:hover,
.srv_wra3:hover,
.head_wrap:after,
.clearfix:after{
	content:	"";
	display:	block;
	clear: both;
}

/* リンク処理 ---------------------------------------------- */

.key_info:hover,
.form_area a img:hover,
a#reason_more img:hover,
.go_english a img:hover	{
	filter:	alpha(opacity=60);
	-moz-opacity:	0.60;
	opacity:	0.60;
}

a#reason_careers img:hover,
.readmore a img:hover	{
	filter:	alpha(opacity=60);
	-moz-opacity:	0.60;
	opacity:	0.60;
}

/* 拠点情報 ------------------------------------------------ */

.points_wrap	{
	width:	100%;
	height:	80px;
	background:	#7b7b7b;
}

.points	{
	width:	1050px;
	margin:	0px auto;
	position:	relative;
	cursor:	pointer;
}

.points div	{
	float:	left;
	padding:	16px 18px 0px 0px;
	font-size:	12px;
	text-align:	right;
	color:	#ffffff;
	line-height:	15px;
}


.pts_long	{
	width:	180px;
}

.pts_mid	{
	width:	160px;
}

.pts_short	{
	width:	150px;
}

.points_link	{
	display:	block;
	width:	980px;
	height:	80px;
	position:	absolute;
	top:	0px;
	left:	0px;
}

/* キーイメージ -------------------------------------------- */

.key_wrap	{
    width: 100%;
    height: 400px;
    overflow: hidden;
    position: relative;
    visibility: visible;
}

.key_image	{
    width: 1441px;
    height: 1629px;
    margin: 0px 0px 0px -700px;
    position: absolute;
    top: 0px;
    left: 601px;
}

/* Banner movie -------------------------------------------- */

.responsive-video {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 アスペクト比 */
  height: 0;
  overflow: hidden;
  max-width: 100%;
  background: #000;
}

.responsive-video iframe,
.responsive-video object,
.responsive-video embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Service-------------------------------------------------- */
.srv_wrap	{
	width:	980px;
	min-height:	340px;
	margin:	20px auto 24px;
	padding-bottom:	32px;
}

.srv_wrap2	{
	width:	980px;
	min-height:	700px;
	margin:	20px auto 24px;
	padding-bottom:	32px;
}

.srv_wrap3	{
	width:	980px;
	min-height:	1000px;
	margin:	20px auto 24px;
	padding-bottom:	32px;
}

.srv_wrap h1.tabs_head	{
	width:	980px;
	margin:	0px auto 16px;
	text-align:	center;
}

.srv_wrap2 h1.tabs_head	{
	width:	980px;
	margin:	0px auto 16px;
	text-align:	center;
}

.srv_wrap3 h1.tabs_head	{
	width:	980px;
	margin:	0px auto 16px;
	text-align:	center;
}

.srv_tab_img	{
	float:	left;
	margin:	0px 0px 12px;
	position:	relative;
}

#srv_tab1 {
	width:	320px;
	height:	340px;
	margin-right:	10px;
}
#srv_tab1 a	{
	display:	block;
	width:	320px;
	height:	340px;
	position:	absolute;
	top:	0px;
	left:	0px;
	background:	url("/common/images/img_linksign.png") no-repeat right bottom;
}

#srv_tab1 a:hover	{
	background:	url("/images/srv_over320.png") no-repeat left top;
}	

#srv_tab1_large {
	width:	320px;
	height:	340px;
	margin-right:	10px;
}
#srv_tab1_large a	{
	display:	block;
	width:	320px;
	height:	340px;
	position:	absolute;
	top:	0px;
	left:	0px;
	background:	url("/common/images/img_linksign.png") no-repeat right bottom;
}

#srv_tab1_large a:hover	{
	background:	url("/images/srv_over320.png") no-repeat left top;
}	

#srv_tab2	{
	width:	320px;
	height:	340px;
	margin-right:	10px;
}
#srv_tab2 a	{
	display:	block;
	width:	320px;
	height:	340px;
	position:	absolute;
	top:	0px;
	left:	0px;
	background:	url("/common/images/img_linksign.png") no-repeat right bottom;
}
#srv_tab2 a:hover	{
	background:	url("/images/srv_over320.png") no-repeat left top;
}	

#srv_tab2_large	{
	width:	320px;
	height:	340px;
	margin-right:	10px;
}
#srv_tab2_large a	{
	display:	block;
	width:	320px;
	height:	340px;
	position:	absolute;
	top:	0px;
	left:	0px;
	background:	url("/common/images/img_linksign.png") no-repeat right bottom;
}
#srv_tab2_large a:hover	{
	background:	url("/images/srv_over320.png") no-repeat left top;
}	

#srv_tab3	{
	width:	320px;
	height:	340px;
}

#srv_tab3 a	{
	display:	block;
	width:	320px;
	height:	340px;
	position:	absolute;
	top:	0px;
	left:	0px;
	background:	url("/common/images/img_linksign.png") no-repeat right bottom;
}
#srv_tab3 a:hover	{
	background:	url("/images/srv_over320.png") no-repeat left top;
}	

#srv_tab3_large	{
	width:	320px;
	height:	340px;
}

#srv_tab3_large a	{
	display:	block;
	width:	320px;
	height:	340px;
	position:	absolute;
	top:	0px;
	left:	0px;
	background:	url("/common/images/img_linksign.png") no-repeat right bottom;
}
#srv_tab3_large a:hover	{
	background:	url("/images/srv_over320.png") no-repeat left top;
}	

#srv_tab4	{
	width:	484px;
	height:	226px;
	float:	right;
}

#srv_tab4 a	{
	display:	block;
	width:	484px;
	height:	226px;
	position:	absolute;
	top:	0px;
	left:	0px;
	background:	url("/common/images/img_linksign.png") no-repeat right bottom;
}
#srv_tab4 a:hover	{
	background:	url("/images/srv_over_half.png") no-repeat left top;
}	


.img1_caption,.img2_caption,.img3_caption,.img4_caption, .img1_caption_white {
	position:	absolute;
}


.img1_caption p,.img2_caption p,.img3_caption p,.img4_caption, .img1_caption_white p {
	font-size:	15px;
	color:	#ffffff;
	line-height:	150%;
}

.img1_caption_white p {
	font-size:	15px;
	color: #505050;
	line-height:	150%;
}

.img2_caption_white p {
	font-size:	15px;
	color: #505050;
	line-height:	150%;
}

.img3_caption_white p {
	font-size:	15px;
	color: #505050;
	line-height:	150%;
}

.img1_caption	{
	width:	256px;
	height:	82px;
	top:	124px;
	left:	38px;
}

h2.img1_title_white {
	width: 256px;
	font-size: 25px;
	font-weight: bold;
	padding: 0.25em 0.5em;
  	color: #4C4C4C;
 	background: transparent;
 	border-left: solid 8px #cccc33;/*左線*/
	
}


.img1_caption_white	{
	width:	256px;
	height:	150px;
	top:	20px;
	left:	38px;
}


.img2_caption	{
	width:	256px;
	height:	82px;
	top:	124px;
	left:	38px;
}

h2.img2_caption_white	{
	width:	256px;
	height:	150px;
	top:	124px;
	left:	38px;
	padding: 0px 25px 0px 25px;
}

.img3_caption	{
	width:	256px;
	height:	82px;
	top:	124px;
	left:	38px;
}

h2.img3_caption_white	{
	width:	256px;
	height:	150px;
	top:	124px;
	left:	38px;
	padding: 0px 25px 0px 25px;
}

.img4_caption_white	{
	width: 975px;
	height:	260px;
	position:relative;
}

.img4_caption_white	{
	width: 975px;
	height:	260px;
	position:relative;
}

div.image {
  width: 100%; /* divの幅に対する割合 */
}

p.img4_caption_white	{
	position: absolute;
}

.service_topics {
	font-size: 200%;
	color: #333333;
	line-height: 150%;
}

.topic6_en {
	font-size: 200%;
	line-height: 140%;
	color: #888888;
	border-bottom: solid 3px #cccc33;
  	position: relative;
	font-weight: 500;
}


/* 選ばれる理由 -------------------------------------------- */

.reason_area	{
	width:	980px;
	margin:	0px auto 64px;
	clear:	both;
}

.reason_area h1	{
	margin:	24px 0px 32px;
	text-align:	center;
}

.reason_key	{
	display:	block;
	float:	left;
}

.reason_detail	{
	width:	488px;
	height:	288px;
	float:	right;
	position:	relative;
}

.reason_detail p	{
	font-size:	14px;
	line-height:	160%;
	margin:	0px 24px;
}

a#reason_more	{
	display:	block;
	position:	absolute;
	bottom:	12px;
	right:	50%;
}

.button_contact_container {
	width: 300px;
}

.button_contact a:hover {
	text-decoration: none;
	color: aquamarine;
}

.button_contact a:visited {
	text-decoration: none;
}

.button_contact a:link {
	text-decoration: none;
}


/* Main -------------------------------------------- */

ul.line_height li {
	line-height: 160%;
}

.hairline {
	font-weight: 200 !important;
}

.bordered {
	position: relative;
	padding-bottom: 8px;
	margin-bottom: 50px;
}

/* News -------------------------------------------- */
.news	{
	width:	980px;
	margin:	0px auto 16px;
}

.news p	{
	margin:	0px 0px 2px;
	line-height:	100%;
}

.news p	a:link {
	margin:	0px 0px 2px;
	line-height:	100%;
	text-decoration: none;
	color: #4B4B4B;
}

.news p	a:visited {
	margin:	0px 0px 2px;
	line-height:	100%;
	text-decoration: none;
	color: #4B4B4B;
}

.news p	a:hover {
	margin:	0px 0px 2px;
	line-height:	100%;
	text-decoration: none;
	color: #5E9C26;
}

.news p	a:active {
	margin:	0px 0px 2px;
	line-height:	100%;
	text-decoration: none;
	color: #4B4B4B;
}


.dates {
	color: #858585;
	font-size: 130%;
	line-height: 220%;
	width: 150px;
}

.content_title {
	float: left;
	text-decoration: none;
	clear: both;
	line-height: 200%;
	font-weight: 700;
}

.p_title {
	font-size: 25px;
	font-weight: 400;
	line-height: 200%;
}

.news_title a {
	text-indent: 30px;
	float: left;
	text-decoration: none;
	clear: both;
	line-height: 150%;
}

.news_title a:link {
	text-indent: 30px;
	float: left;
	clear: both;
	line-height: 150%;
}

.news_title a:active {
	text-indent: 30px;
	float: left;
	clear: both;
	line-height: 150%;
}

.news_title a:hover {
	text-indent: 30px;
	float: left;
	clear: both;
	line-height: 150%;
}

.news_title a:visited {
	text-indent: 30px;
	float: left;
	color: #5e9c26;
	clear: both;
	line-height: 150%;
}

a.inquiry_k {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 120px;
	margin: auto;
	padding: 1rem 4rem;
	font-weight: bold;
	border: 2px solid #99cc33;
	color: #99cc33;
	transition: 0.5s;
}

a.inquiry_k:hover {
	color: #fff;
	background: #99cc33;
}
	
/* Service page -------------------------------------------- */
.service_button {
	line-height: 200%;
	color: #2A7A1E;
	padding: 4px;
	

}

.service_button a:active {
	line-height: 200%;
	color: #2A7A1E;
	padding: 4px;
	
}

.service_button a:hover {
	line-height: 200%;
	color: #2A7A1E;
	
}

.service_button a:visited {
	line-height: 200%;
	color: #2A7A1E;
	
}

/* English Services -------------------------------------------- */

.services_icons {
	display: inline;
	line-height: 300px;
	float: left;
}

div.service_holder {
	width: 103px;
	padding-top: 20px;
	padding-right: 30px;
	padding-left: 8px;
	float: left;
	align-items: center;
	
}

div.service_holder a {
	font-display: none;
	text-align: center;
	color: #383838;
}

div.service_next_holder {
	display: inline-block;
	padding-top: 30px;
	
}

div.service_small_borderbtm {
	padding-top: 3px;
}

div.service_small_borderbtm a {
	padding-top: 3px;
}

div.service_small_borderbtm a:hover {
	background:	url("../../En/images/services_banner_on.png") no-repeat left top;
}

div.service_small_borderbtm a:link {
	background:	url("../../En/images/services_banner_on.png") no-repeat left top;
}

div.service_small_borderbtm a:visited {
	background:	url("../../En/images/services_banner_on.png") no-repeat left top;
}

div.service_small_borderbtm_main {
	padding-top: 30px;
}

div.service_descriptions {
	width: 680px;
	padding: 0px;
}

.fda_md_links_right2 {
	float: right;
	width: 325px
}

.fda_md_links_right3 {
	float: left;
	width: 400px;
	padding: 0px 20px 10px 0px;
}

.fda_md_photo_left2 {
	padding: 0px 0px 40px 0px;
	width: 350px;
	float: left;
}

.fda_md_photo_left3 {
	padding: 0px 0px 20px 20px;
	width: 250px;
	float: right;
}

.service_long {
	width: 700px;
	padding: 20px 20px 20px 0px;
}

h2.fda_md_headder3 {
	padding: 40px 10px 17px 0;
	line-height: 1.5em;
	color: #81c400;
	font-size: 22px;
}

.yellow {
	display: flex;
	justify-content: center;
	
}

.yellow_holder {
	background-color: #f2c32e;

}

.page_title {
	font-size: 28px;
	font-weight: 700;
}

h1.page_title {
	font-size: 30px;
	font-weight: 700;
	font-style: normal;

}

/* 英語版フッタ -------------------------------------------- */

.foot_links_e	{
	width:	100%;
	padding:	18px 0px;
	background-color:	#fafafa;
}

.foot_list_e	{
	width:	980px;
	margin:	0px auto 0px;
}

.foot_list_e ul	{
	width:	980px;
	margin:	0px 0px 0px;
}

.foot_list_e ul li	{
	width:	231px;
	float:	left;
	font-size:	13px;
	font-weight:	bold;
	margin:	0px 0px 14px;
	background:	url("/common/images/foot_listmark.gif") no-repeat 0px 8px;
	padding-left:	14px;
}

.foot_list_e ul li a	{
	color:	#477400;
}

.foot_list_e ul li a:hover	{
	text-decoration:	none;
}

/* Promotion ------------------------------------------ */


/* Popup ------------------------------------------ */
  /* スタイルを設定 */

  /* フルスクリーンに表示されるウォーニングのスタイル */
  .fullscreen-warning {
    display: none; /* 最初は非表示 */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* 半透明の黒背景：alphaを0にすれば透明、1にすれば透過無し */
    text-align: center;
    z-index: 9999; /* 最前面に表示 */
  }

  /* ウォーニングボックスのスタイル */
  .warning-box {
    position: absolute;
    top: 20%;
    left: 90%;
    transform: translate(-50%, -50%);
    background-color: white; /* 白い背景 */
    color: black; /* 黒のテキスト */
    padding: 10px;
    border-radius: 5px;
    box-shadow: 0 0 10px black; /* ボックスに黒い影を追加 */
  }

  /* ボタンのスタイル */
  .close-button {
  	background-color: none;
    color: #3B3B3B; /* テキスト */
    border: none;
    padding: 0px 0px 10px 60px;
    cursor: pointer;
  }

.round_btn {
  display: block;
  position: relative;
  width: 18px;
  height: 18px;
  border: 2px solid #333; /* 枠の調整 */
  border-radius: 50%;  /* 丸みの度合い */
  background: #fff; /* ボタンの背景色 */
}
 
.round_btn::before, .round_btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3px; /* 棒の幅（太さ） */
  height: 22px; /* 棒の高さ */
  background: #333; /* バツ印の色 */
}
 
.round_btn::before {
  transform: translate(-50%,-50%) rotate(45deg);
}
 
.round_btn::after {
  transform: translate(-50%,-50%) rotate(-45deg);
}
/* Popup end ------------------------------------------ */

/* 最下部会社情報 ------------------------------------------ */

.bottom_compdata	{
	width:	980px;
	margin:	0px auto 16px;
}

.bottom_compdata p	{
	margin:	0px 0px 2px;
	line-height:	120%;
}

p.comp_lastcatch	{
	margin:	12px 0px 10px;
}
span.comp_name	{
	font-size:	20px;
}
