@charset "utf-8";

/* index ---------------------------------------
------------------------------------------------ */
#topMain {
  margin-bottom: 40px;
}

#topProducts {
  margin-bottom: 20px;
}
#topProducts li {
  float: left;
  width: 165px;
  margin-right: 20px;
  padding-bottom: 20px;
}
#index .dotTtl {
  font-size: 18px;
}

#topMessage {
  padding-bottom: 50px;
}
#topMessage p {
  text-indent: 1em;
  line-height: 1.85;
}
#topMessage p.sign {
  padding-top: 10px;
  text-indent: 0;
  text-align: right;
}

#topNews {
  width: 430px;
  float: left;
}
#topNews h2 {
  padding: 0 0 .2em 30px;
  margin-bottom: 5px;
  font-size: 20px;
  font-weight: bold;
  border-bottom: 2px solid #aaa;
  background: url(../images/ico_circle.png) no-repeat left .35em;
}
#topNews  ul li {
  padding: 15px 0;
  border-bottom: 1px dotted #aaa;
  line-height: 1.7;
}
#topNews  ul li .date {
  display: block;
}

#topMember {
  float: right;
  width: 258px;
  border: 1px solid #669ec1;
  background: url(../../images/bg_member_top.gif) no-repeat top left #fff;
  text-align: center;
}
#topMember .inner {
  padding: 19px;
  background: url(../../images/bg_member_bottom.gif) no-repeat bottom left;
}
#topMember h2 {
  padding-bottom: 10px;
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: bold;
  color: #165a8e;
  border-bottom: 1px solid #669ec1;
}
#topMember p {
  font-size: 14px;
  font-weight: bold;
}


/* info ---------------------------------------
------------------------------------------------ */
#infoList {
  font-size: 14px;
  line-height: 1.8em;
}
#infoList dt {
  width: 100px;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-align: center;
}
#infoList dd {
  margin: -1.8em 0 .5em 0;
  padding: 0 0 .5em 120px;
  border-bottom: 1px dotted #aaa;
}
#infoList dd:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
#infoList dd .member {
  font-weight: bold;
}
#infoList dd .memberAddress {
  padding-left: 1em;
}
#infoList dd .memberAddress + .member {
  padding-top: 1em;
}

.patentTtl {
  float: left;
  width: 100px;
  padding: 5px 0;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.1em;
  border-top: 1px dotted #aaa;
  text-align: center;
}
.patentList {
  width: 600px;
  float: right;
  font-size: 14px;
  line-height: 1.8;
  border-top: 1px dotted #aaa;
}
.patentList li {
  overflow: hidden;
  padding: 5px 0;
  border-bottom: 1px dotted #aaa;
}
.patentList li span {
  display: block;
}
.patentList li span.title {
  width: 480px;
  float: left;
}
.patentList li span.number {
  width: 120px;
  float: right;
  text-align: right;
}

.accessMap {
  padding: 4px;
  border: 1px dotted #aaa;
}


/* method ---------------------------------------
------------------------------------------------ */
#featureList li {
  padding-top: 30px;
}
#featureList li:first-child {
  padding-top: 0;
}
#featureList li h4 {
  position: relative;
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: bold;
  line-height: 2;
  color: #fff;
  background: #527aa7;
  text-shadow: 1px 1px 1px rgba(0,0,0,0.2);
}
#featureList li h4 span {
  display: inline-block;
  margin-right: 10px;
  padding: 0 20px;
  background: #222;
}
#featureList li p {
  font-size: 14px;
  line-height: 1.8;
}
#featureList li p.note {
  font-size: 12px;
}

#useList li {
  display: table;
  width: 100%;
  padding: 0 0 10px;
}
#useList li h4,
#useList li p {
  display: table-cell;
  padding: 5px 10px;
  vertical-align: middle;
}
#useList li h4 {
  width: 210px;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  background: #527aa7;
  text-align: center;
}
#useList li p {
  padding: 5px 0 5px 15px;
  font-size: 14px;
}

.methodTbl {
  width: 100%;
}
.methodTbl th,
.methodTbl td {
  padding: 5px 10px;
}
.methodTbl th {
  color: #fff;
  background: #527aa7;
  text-align: center;
  border: 1px solid #fff;
}
.methodTbl td {
  background: #fff;
  border: 1px solid #aaa;
}

.methodLead {
  padding: 10px 15px;
  margin-bottom: 20px;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.8;
  border: 1px solid #165a8e;
}

#Comparison .methodTbl {
  width: 475px;
  float: left;
}
#Comparison .image {
  width: 230px;
  float: right;
}
#Comparison .note {
  clear: both;
  padding-top: 5px;
}

#largeLeft {
  width: 330px;
  float: left;
}
#largeRight {
  width: 360px;
  float: right;
}
#largeRight h4 {
  margin-bottom: 5px;
  color: #165a8e;
  font-weight: bold;
  font-size: 16px;
}

#smallList li {
  padding-top: 20px;
  margin-top: 20px;
  border-top: 1px dotted #aaa;
}
#smallList li:first-child {
  padding-top: 0;
  margin-top: 0;
  border-top: none;
}
#smallList li h4 {
  margin-bottom: 5px;
  color: #165a8e;
  font-size: 18px;
  font-weight: bold;
}
#smallList li p {
  font-size: 14px;
}
#smallList li p.image {
  padding: 10px 0 5px;
}
#smallList li.third {
  width: 330px;
  float: left;
}
#smallList li.fourth {
  width: 375px;
  float: right;
}
#smallList li.third p,
#smallList li.fourth p {
  min-height: 6.5em;
}

#flowList li {
  padding-top: 20px;
  margin-top: 20px;
  border-top: 1px dotted #aaa;
}
#flowList li:first-child {
  padding-top: 0;
  margin-top: 0;
  border-top: none;
}
#flowList li h4 {
  margin-bottom: 5px;
  color: #165a8e;
  font-size: 18px;
  font-weight: bold;
}
#flowList li p {
  font-size: 14px;
}
#flowList li p.image {
  padding: 10px 0 5px;
}
#flowList li p.note {
  padding-top: 5px;
  font-size: 12px;
  color: #c00;
}
#flowList li .left {
  padding-top: 20px;
  width: 350px;
  float: left;
}
#flowList li .right {
  padding-top: 20px;
  width: 350px;
  float: right;
}

#qualityLeft {
  width: 475px;
  float: left;
}
#qualityLeft .w1 {
  width: 27%;
}
#qualityLeft .methodTbl td {
  padding: 5px;
  font-size: 12px;
  text-align: center;
  vertical-align: middle;
}
#qualityRight {
  width: 230px;
  float: right;
}
#qualityRight p {
  margin-bottom: 10px;
}

.testBlock .left {
  width: 230px;
  float: left;
}
.testBlock .image {
  width: 230px;
  float: left;
  margin-left: 15px;
}
.testBlock h4 {
  margin-bottom: 10px;
  color: #165a8e;
  font-size: 16px;
  font-weight: bold;
}
.testBlock p {
  font-size: 14px;
}

/* results ---------------------------------------
------------------------------------------------ */
.resultBlock dl {
  font-size: 14px;
  line-height: 1.8em;
}
.resultBlock dl dt {
  width: 7em;
  letter-spacing: 0.5em;
  font-weight: bold;
}
.resultBlock dl dd {
  padding: 0 0 .5em 8em;
  margin: -1.8em 0 .5em 0;
  border-bottom: 1px dotted #aaa;
}
.resultBlock dl p sup {
  margin: 0;
  padding: 0;
  vertical-align: top;
}
.resultBlock dl p span {
  display: inline-block;
  width: 7.5em;
}
.resultBlock .images {
  margin-left: -20px;
}
.resultBlock .images li {
  width: 350px;
  float: left;
  padding: 10px 0;
  margin-left: 20px;
}

.resultContactBtn {
  text-align: center;
}
.resultContactBtn a {
  display: block;
  padding: 8px 10px;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  background: #165a8e;
  text-decoration: none;
  border-radius: 4px;
  transition: all .5s ease;
  text-shadow: 1px 1px 1px rgba(0,0,0,0.2);
  box-shadow: 0 0 4px rgba(0,0,0,0) inset;
}
.resultContactBtn a:hover {
  opacity: .8;
  box-shadow: 0 0 4px rgba(0,0,0,0.5) inset;
}



/* contact ---------------------------------------
------------------------------------------------ */
.contactLead {
  padding: 30px 0 10px;
  font-size: 14px;
}
#formList {
  padding-top: 1em;
  line-height: 1.8em;
  border-top: 1px dotted #aaa;
}
#formList dt {
  padding-left: 2em;
  padding-top: .5em;
  width: 11em;
}
#formList dt .required {
  display: inline-block;
  padding-left: .5em;
  font-size: 11px;
  color: #c00;
}
#formList dd {
  padding: 0 2em 1em 17em;
  margin: -2.2em 0 1em 0;
  border-bottom: 1px dotted #aaa;
}
#formList .input-text {
  padding: 5px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: 0 0 3px rgba(0,0,0,0.15) inset;
  font-size: 14px;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
#formList .ex {
  display: inline-block;
  padding: 5px 0 0 10px;
  font-size: 13px;
  color: #666;
}
#formList .input-text.short {
  width: 35%;
}
#formList .input-text.medium {
  width: 70%;
}
#formList .input-text.long {
  width: 94%;
}

.formButton {
  padding-top: 20px;
  text-align: center;
}
.formButton button {
  padding: 14px 39px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 18px;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  cursor: pointer;
  background: #165a8e;
  color: #fff;
  transition: all .5s ease;
}
.formButton button:hover {
  background: #fff;
  color: #165a8e;
  border: 1px solid #165a8e;
}

.thanksMsg {
  padding: 42px;
  border: 3px double #ccc;
  text-align: center;
  font-size: 16px;
}
.thanksMsg .link {
  font-size: 14px;
  padding-top: 40px;
}


div#mfp_hidden {
	overflow: hidden;
	width: 1px;
	height: 1px;
	padding: 0px;
	margin: 0px;
}
div#mfp_hidden input {
	margin: 10px;
}
div.mfp_thanks {
	padding: 30px;
}
div.mfp_thanks p {
	line-height: 1.7em;
}
div.mfp_thanks ul.mfp_caution {
	margin: 0px;
	padding: 0px;
}
div.mfp_thanks ul.mfp_caution li {
	display: block;
	color: #C00;
	margin: 0px;
	padding: 5px 0px;
}
div#mfp_thanks {
	text-align: center;
	font-size: 18px;
	padding: 20px 0px;
}
div#mfp_thanks strong {
	color: #C00;
	font-size: 24px;
}
form#mailformpro {
	padding: 20px 0 0;
}

table#mfp_confirm_table {
	border-spacing: 0px;
	border-collapse: collapse;
	width: 100%;
}
table#mfp_confirm_table tr.mfp_colored {
	background-color: #F6F7F9;
}
table#mfp_confirm_table tr.mfp_achroma {
	background-color: #FFF;
}
table#mfp_confirm_table tr th,table#mfp_confirm_table tr td {
	text-align: left;
	font-size: 14px;
	border-top: solid 1px #CCC;
	padding: 10px 15px;
}
table#mfp_confirm_table tr th {
	white-space: nowrap;
	width: 200px;
}
table#mfp_confirm_table tr td {
	line-height: 1.5em;
	word-break: break-all;
}
div#mfp_phase_confirm {
	clear: both;
}
div#mfp_phase_confirm h4 {
	font-size: 36px;
	padding: 10px 0px 0px 0px;
	text-align: center;
}
div#mfp_phase_confirm div#mfp_phase_confirm_inner {
}
div#mfp_overlay {
	position: absolute;
	display: none;
	z-index: 10001;
}
div#mfp_overlay_inner {
	background-color: #FFF;
	padding: 15px;
	margin: 0px auto;
	border-radius: 5px;
	box-shadow: 0px 0px 10px #000;
	width: 640px;
	max-width: 90%;
}
div#mfp_overlay_inner h4 {
	padding: 0 0 10px 0;
  font-size: 18px;
  font-weight: bold;
}
div#mfp_overlay_background {
	background-color: #000;
	position: absolute;
	display: none;
	z-index: 10000;
}
div#mfp_loading_screen {
	z-index: 20000;
	opacity: 0.8;
	display: none;
	background-color: #000;
	position: absolute;
}
div#mfp_loading {
	z-index: 20001;
	position: absolute;
	display: none;
	width: 40px;
	height: 40px;
	background-image: url(../images/loading.gif);
}
.mfp_colored {
	background-color: #F6F7F9;
}
.mfp_achroma {
	background-color: #FFF;
}
div.mfp_err {
	clear: both;
	display: none;
	text-align: left;
	margin: 5px 0px 0px 0px;
	padding: 3px 0px 5px 17px;
	color: #F00;
	font-size: 12px;
	line-height: normal;
	background-image: url(../images/mfp_error.gif);
	background-repeat: no-repeat;
	background-position: 0px 1px;
}
.mfp_parent_error {
	border: solid 2px #F00;
}
.problem {
	background-color: #eff;
}
div#mfp_error {
	background-color: #eff;
	border: solid 1px #F00;
	padding: 10px;
	display: none;
}
div#mfp_error p {
	padding: 0px;
	margin: 0px;
	font-size: 14px;
	text-align: center;
}
div#mfp_error p strong {
	font-size: 18px;
	color: #F00;
}
div#mfp_warning {
	background-color: #eff;
	border: solid 1px #F00;
	padding: 10px;
	display: none;
	border-radius: 5px;
}
div#mfp_warning p {
	padding: 0px;
	margin: 0px;
	font-size: 14px;
	text-align: center;
}
div#mfp_warning p strong {
	font-size: 18px;
	color: #F00;
}
.hidefield {
	height: 0px;
	overflow: hidden;
}
.showfield {
	height: auto;
	overflow: visible;
}