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

/* ***************************************************************************** */
/*

　目次

-------------------------------------------------------------------------------

　01. lineupBox
　02. lineupDetail

*/
/* ***************************************************************************** */

/*-----------------------------------------------------------
===  [ 01. lineupBox ]  ====================================
------------------------------------------------------------*/

.lineupBox {
	width: 100%;
	padding-top: 16px;
	overflow: hidden;
}
.lineupBox > .rBlockTitArea {
	margin: 0;
}
.lineupBox .productsFloat {
	float: left;
	width: 48%;
	padding: 10px;
	box-sizing: border-box;
	margin-left: 4%;
}
.lineupBox .productsFloat:nth-child(2n+1) {
	margin-left: 0;
}
.lineupBox .productsFloat .pw46 {
	width: 96%;
	margin:auto;
}
.lineupBox .productsFloat .btn {
	margin-top: 1em;
}

/* SP */
body.responsive-sp .lineupBox {
	padding-top: 0;
}
body.responsive-sp .lineupBox .productsFloat {
	width: 100%;
	padding: 0 0 6% 0;
	margin: 0;
}
body.responsive-sp .lineupBox .productsFloat:nth-child(2n+1) {
	margin: 0;
}
body.responsive-sp .lineupBox .productsFloat .pw46 {
	width: 92%;
}
body.responsive-sp .lineupBox {
	width: 100%;
	overflow: visible;
}


/* ***************************************************************************** */

/*-----------------------------------------------------------
===  [ 02. lineupDetail ]  ====================================
------------------------------------------------------------*/

.lineupDetailBox {
	margin-top: 16px;
}

/* -- detailList -- */
.lineupDetailBox .detailList {
	width: 100%;
	overflow: hidden;
}

.lineupDetailBox .detailList .clearfix {
	width: auto;
	margin: 0 -12px 0 0;
}

.lineupDetailBox .detailList li {
	float: left;
	width: 205px;
	padding: 12px 0;
	margin: 0 12px 12px 0;
	background-color: #025ab3;
	border-radius: 5px;
	text-align: center;
	color: #fff;
}

.lineupDetailBox .detailList li.first-child {
	margin-left: 9px;
}

/* -- detailListbox -- */

.lineupDetailBox .detailListbox {
	width: 680px;
}

.lineupDetailBox .detailListbox div {
	float: left;
	width: 220px;
	margin: 0 10px 0 0;
}

/* - SP - */
body.responsive-sp .lineupDetailBox .detailList .clearfix {
	margin: 0 32px;
}
body.responsive-sp .lineupDetailBox .detailList li {
	float: none;
	width: auto;
	margin: 0 0 14px 0;
	font-size:138.5%;
}


/* lineupTabBox
----------------------------------------------------*/

/* -- lineupTab -- */

.lineupDetailBox .lineupTab {
	height: 35px;
	overflow: hidden;
	border-bottom: 3px solid #275e72;
	margin: 0 0 20px;
}

.lineupDetailBox .lineupTab li {
	float: left;
	text-align: center;
	font-size: 92.30769%;
	margin-right: 5px;
}

.lineupDetailBox .lineupTab li.first-child {
	background-position: left top;
	margin-right: 6px;
}

.lineupDetailBox .lineupTab li.last-child {
	background-position: right top;
	margin-right: 0;
}

body.responsive-sp .lineupTab li,
body.responsive-sp .lineupTab li.first-child,
body.responsive-sp .lineupTab li.last-child {
	margin-right: 0;

}

.lineupDetailBox .lineupTab li a {
	display: block;
	padding: 10px 5px;
	width: 151px;
	color: #333;
	font-weight: normal;
	background: #ebeef0;
	text-decoration: none;
	-webkit-border-radius: 5px 5px 0 0;
	-moz-border-radius: 5px 5px 0 0;
	border-radius: 5px 5px 0 0;
}

.lineupDetailBox .lineupTab li a.active,
.lineupDetailBox .lineupTab li a:hover {
	color: #fff;
	background: #295e71;
}

.lineupDetailBox .lineupTab li.first-child a.active,
.lineupDetailBox .lineupTab li.first-child a:hover {
}

.lineupDetailBox .lineupTab li.last-child a.active,
.lineupDetailBox .lineupTab li.last-child a:hover {
}

/* - SP - */
body.responsive-sp .lineupDetailBox .lineupTab {
	margin-bottom: 16px;
	height: auto;
	border-bottom: 0;
}
body.responsive-sp .lineupDetailBox .lineupTab li {
	width: 25%;
	padding-left: 1px;
	margin-bottom: 0;
	box-sizing: border-box;
	background-image: none;
	background-color: transparent;
}
body.responsive-sp .lineupDetailBox .lineupTab li:first-child {
	padding-left: 0;
}
body.responsive-sp .lineupDetailBox .lineupTab li a {
	width: auto;
	padding: 20px 0 44px 0;
	background: #dae0e4 url("/business/image-sensor-camera/products/images/r_lineup_tab_sp_active.png") no-repeat center 50px;
	background-size: 9px auto;
}
body.responsive-sp .lineupDetailBox .lineupTab li a.active,
body.responsive-sp .lineupDetailBox .lineupTab li a:hover {
	background: #275e72 url("/business/image-sensor-camera/products/images/r_lineup_tab_sp_active.png") no-repeat center 50px;
	background-size: 9px auto;
}


/* ***************************************************************************** */

.specification sup.notes {
	color: #333333;
}

.specification ul.notesList li span {
	color: #333333;
}

/* 追加 */
.unitmm{
	margin-bottom: 20px;
	text-align: right;
}

table.speclist.tbl02.tblEven.wp100.mbem1.tcamera {
	width: 100%;
	table-layout: fixed;
}

.main_data {
	text-align: center !important;
}

th.speclist_title2 {
	color: #fff;
	font-weight: bold !important;
	background: #666 !important;
	border: 1px solid #414141;
	text-align: center;
	vertical-align: middle;
}
.speeding {
	display: inline-block;
	border: 1px solid #333;
	padding: 4px 8px;
	font-weight: 700;
}
.plus {
	padding: 0 5px;
	font-weight: 700;
}
body.responsive-sp .plus {
	display: block;
	margin: 5px 0;
}
sup {
	font-size: 11px;
}
.blue {
	color: #00b0f0;
}
.app {
	background: #dcdcdc;
	padding: 15px;
}
.app h4 {
	font-size: 109%;
	margin-bottom: 10px;
}
.app li {
	float: left;
	width: 30.2%;
	padding: 0 1.5%;
	border-right: 1px solid #929091;
}
.app li:last-child {
	border-right: none;
}
.app h5 {
	margin-bottom: 5px;
	font-size: 105%;
}
.app img {
	margin-bottom: 5px;
}
body.responsive-sp .app {
	padding: 15px 10px;
}
body.responsive-sp .app h4 {
	text-align: center;
	/*margin-bottom: 25px;*/
}
body.responsive-sp .app li {
	float: none;
	width: 98%;
	padding: 0 2% 25px;
	border-right: none;
	text-align: center;
	/*margin-bottom: 25px;*/
	margin-top: 25px;
	border-bottom: 1px solid #929091;
}
body.responsive-sp .app li:last-child {
	border-bottom: none;
}
body.responsive-sp .app h5 {
	margin-bottom: 5px;
}
.arrow {
	margin-top: 2px;
	display: inline-block;
}
.cclink {
	width: 100%;
	margin-bottom: 10px;
}
.cclink th {
	border: 1px solid #777372;
	background-color: #dcdcdc;
	padding: 10px;
	text-align: center;
}
.cclink td {
	border: 1px solid #777372;
	background-color: #eee;
	padding: 10px;
	font-weight: 700;
}
.cclink th.red {
	background-color: #f6c4ab;
	border-top: 2px solid #e04158;
	border-left: 2px solid #e04158;
	border-right: 2px solid #e04158;
}
.cclink td.red {
	background-color: #fdece3;
	border-left: 2px solid #e04158;
	border-right: 2px solid #e04158;
}
.cclink td.red2 {
	background-color: #fdece3;
	border-left: 2px solid #e04158;
	border-right: 2px solid #e04158;
	border-bottom: 2px solid #e04158;
}

.clearfix.lineups {
	margin-bottom: 20px;
}

.listindent li {
    margin-bottom: 0.5em;
    font-size: 100%;
    color: #333;
    padding-left: 1.5em;
    text-indent: -1.0em;
}

p.catch-title {
    text-align: center;
    font-size: 1.5em;
    margin-bottom: 15px;
    font-weight: bold;
}

.alLeft {
	height: 50px;
}

body.responsive-sp p.alLeft {
    height: auto !important;
}

/* 20171018追加ここから */

/* -- 製品メインビジュアル--  */
.mainVisualBox{
	position: relative;
}

.mainVisualBox img{
	position: relative;
	z-index: 1;
}

.mainVisualBox .txtBox{
	position: absolute;
	z-index: 10;
	font-weight: bold;
	left: 20px;
	width: 100%;
}

.mainVisualBox .txtMain{
	color: #FFF;
	font-size: 200%;
}

.mainVisualBox .txtSub{
	font-size: 162%;
}

/* IV-08MTV2 */
.mainVisualBoxIv-08mtv2 .txtBox{
	top: 30px;
}

.mainVisualBoxIv-08mtv2 .txtSub{
	color: #ffe9a6;
	padding-top: 26px;
}

body.responsive-sp .mainVisualBoxIv-08mtv2 .txtBox{
	top: 16px;
	left: 4%;
	font-size: 92%;
}
body.responsive-sp .mainVisualBoxIv-08mtv2 .txtMain{
	width: 56%;
}
body.responsive-sp .mainVisualBoxIv-08mtv2 .txtSub{
	width: 32%;
	padding-top: 8px;
}

@media (max-width: 480px){
	body.responsive-sp .mainVisualBoxIv-08mtv2 .txtBox{
		top: 12px;
		left: 4%;
	}
	body.responsive-sp .mainVisualBoxIv-08mtv2 .txtMain{
		font-size: 100%;
	}
	body.responsive-sp .mainVisualBoxIv-08mtv2 .txtSub{
		font-size: 100%;
		padding-top: 10px;
	}
}

/* IV-S70 series */
.mainVisualBoxIv-s70_series .txtBox{
	top: 30px;
}

.mainVisualBoxIv-s70_series .txtSub{
	color: #d0fffa;
	padding-top: 26px;
}

body.responsive-sp .mainVisualBoxIv-s70_series .txtBox{
	top: 16px;
	left: 4%;
	font-size: 92%;
}
body.responsive-sp .mainVisualBoxIv-s70_series .txtMain{
	width: 64%;
}
body.responsive-sp .mainVisualBoxIv-s70_series .txtSub{
	width: 56%;
	padding-top: 8px;
}

@media (max-width: 480px){
	body.responsive-sp .mainVisualBoxIv-s70_series .txtBox{
		top: 12px;
		left: 4%;
	}
	body.responsive-sp .mainVisualBoxIv-s70_series .txtMain{
		font-size: 100%;
	}
	body.responsive-sp .mainVisualBoxIv-s70_series .txtSub{
		font-size: 100%;
		padding-top: 10px;
	}
}
@media (min-width: 1024px){
	body.responsive-sp .mainVisualBoxIv-s70_series .txtSub{
		width: 38%;
	}
}




/*----------------------------------------------------
	自動搬送装置（AGV）flow
----------------------------------------------------*/
/* 導入までの流れ */
.lineupBox .productsFloat {
  float: none;
  width: 100%;
}
.flowList {
  display: flex;
  flex-wrap: wrap;
}
.flowList li {
  width: calc(26.333% - 10px);
  margin: 2%;
  box-sizing: border-box;
  text-align: center;
  line-height: 1.6;
  font-weight: 700;
  position: relative;
  padding: 10px;
}
.flowList li:nth-child(n+6) {
  width: calc(25.333% - 10px);
}
.productsFloat .flowList .arrow {
  display:inline-block;
  height:40px;
  width:10px;
  background-color:#5bc0de;
  position:relative;
  top:36px;
  padding: 0;
}
.productsFloat .flowList .arrow:before {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border: 30px solid transparent;
  border-left: 20px solid #5bc0de;
  right: -50px;
  top: -10px;
}
.flowList li p {
  margin-top: 1em;
}




/*180814追加ここから*/

.mainTitle {
	text-align: center;
	padding: 30px 0 0;
}
.mainTitle .main{
    display: inline-block;
	font-size: 220%;
	font-weight: bold;
	margin-bottom: 10px;
	border-bottom: 1px solid;
	padding: 0 20% 3px;
}
.mainTitle .sub{
	font-size: 180%;
	font-weight: bold;
}

.maincopy{
	margin: 2em 5em;
}

.stepTitle{
	font-size: 180%;
	font-weight: normal;
	margin-bottom: 1em;
/*	border-bottom: 2px solid #ccc;
	position: relative;*/
}
.stepTitle.step2, .stepTitle.step4{
	margin-left: 1em;
/*		border-bottom: 2px solid #ccc;*/
}
/*.stepTitle::after {
  position: absolute;
	bottom: -2px;
  left: 0;
  z-index: 2;
  content: '';
  width: 17%;
  height: 2px;
  background-color: #005DB7;
}
.stepTitle.step2, .stepTitle.step4::after {
  position: absolute;
	bottom: -2px;
  left: 0;
  z-index: 2;
  content: '';
  width: 17%;
  height: 2px;
  background-color: #005DB7;
}*/

.suggestionItemTitle{
	font-size: 130%;
	margin-bottom: 0.5em;
}
.suggestionTitle{
	text-align: center;
	margin-top: 1em;
	font-size: 180%;
}

.stepBox{
	table-layout: fixed;
}
.stepBox .scheduleSell {
	width: 56px;
	position: relative;
}
.stepBox .scheduleText{
	font-size: 150%;
	font-weight: bold;
	color: white;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-align: center;
	padding-left: 14px;
}
.stepBox .scheduleSell .triangle{
	position: absolute;
	top: 0;
}

.stepLayout li{
	margin-bottom: 2em;
	padding-left: 2em;
	padding-top: 2em;
}
.stepLayout .leftLong{
	width: 500px;
	float: left;
}
.stepLayout .copy{
	margin-left: 1em;
}
.stepLayout .rightShort{
	width: 250px;
	padding-right: 2em;
	float: right;
}
.stepLayout .leftShort{
	width: 250px;
	float: left;
}
.stepLayout .rightLong{
	width: 500px;
	padding-right: 2em;
	float: right;
}
.stepLayout .rightLong img{
	width: 240px;
}
.stepLayout .leftShort .copy{
	margin-top: -2em;
}

.comments{
	text-align: right;
	font-size: 80%;
	margin-top: 1em;
}

.consultation{
	margin-top: 2em;
	border-bottom: 1px solid #666;
	border-top: 1px solid #666;
	padding: 1.5em;
	font-size: 135%;
	text-align: center;
	line-height: 1.3;
}

.suggestionLayout{
	margin: 3em 3em 0;
    display: flex;
    flex-wrap: wrap;
}
.suggestionLayout li{
	width: 30%;
	margin-right: 20px;
	float: left;
	margin-bottom: 2em;
}
.suggestionLayout li:nth-child(3n) {
    margin-right: 0;
}
.step2Copy{
	margin: 0 3em;
}
.step2CopyAnnotation {
    padding-left: 4em;
    text-indent: -1em;
}


.suggestionLayout2{
	margin: 0 3em;
	position: relative;
}
.suggestionLayout2 li{
	width: 30%;
	margin-right: 20px;
	float: left;
	margin-bottom: 2em;
}
.suggestionLayout2 li:nth-child(3n) {
    margin-right: 0;
}
.suggestionTitleBox{
	text-align: center;
}
.suggestionTitleBox div{
	position: absolute;
    left: 290px;
    top: 40px;
}
.futuristic01 img{
	position: absolute;
	left: 0;
}

.stepTitleHeadNumber{
	font-size: 220%;
	color: #005DB7;
	/*border-right: 2px solid #005DB7;*/
	/*margin-right: 0.3em;*/
	/*padding-right: 0.3em;*/

}
.stepTitleHead{
	color: #005DB7;
}

.annotation {
    padding-left: 1em;
    text-indent: -1em;
	text-align: left;
}

.annotationImage {
	font-size: 80%;
	margin-top: 2em;
}



/*SP*/
body.responsive-sp .flowList {
  display: block;
}
body.responsive-sp .flowList li {
  width: 60%;
  margin: 1em auto;
}
body.responsive-sp .productsFloat .flowList .arrow {
    display: block;
    height: 15px;
    width: 40px;
    top: 16px;
    right: 0;
    left: 0;
    padding: 0;
    margin: 0 auto 60px;
    z-index: 100;
}
body.responsive-sp .productsFloat .flowList .arrow:before {
    position: absolute;
    content: "";
    border: 30px solid transparent;
    border-top: 20px solid #5bc0de;
    right: 0;
    left: -24%;
    top: 15px;
}


/*180814追加ここから*/

body.responsive-sp .mainTitle {
	padding: 30px 0 0;
}
body.responsive-sp .mainTitle .main{
    display: inline-block;
	font-size: 5vw;
	margin-bottom: 10px;
	padding: 0 20% 3px;
}
body.responsive-sp .mainTitle .sub{
	font-size: 4vw;
}

body.responsive-sp .maincopy{
	margin: 1em 2em;
}

body.responsive-sp .stepTitle{
	font-size: 130%;
}
body.responsive-sp .stepTitle.step2, .stepTitle.step4{
	margin-left: 1em;
	padding-right: 1em;
}

body.responsive-sp .stepLayout li{
	margin-bottom: 2em;
	padding-left: 1em;
	padding-top: 1em;
}
body.responsive-sp .stepLayout .leftLong{
	width: 90%;
}
body.responsive-sp .stepLayout .rightShort{
	width: 90%;
	padding-right: 1em;
}
body.responsive-sp .stepLayout .leftShort{
	width: 90%;
}
body.responsive-sp .stepLayout .rightLong{
	width: 90%;
	padding-right: 1em;
}
body.responsive-sp .stepLayout .rightLong img{
	width: 90%;
}

body.responsive-sp .step2Copy{
	margin: 0 2em;
}
body.responsive-sp .step2CopyAnnotation {
    padding-left: 3em;
	padding-right: 2em;
    text-indent: -1em;
}

body.responsive-sp .suggestionLayout{
	margin: 2em 2em 0;
}
body.responsive-sp .suggestionLayout li{
	width: 100%;
	margin-right: 0;
	margin-bottom: 1em;
	text-align: center;
}

body.responsive-sp .stepLayout .leftShort .copy{
	margin-top: -1em;
}

body.responsive-sp .consultation{
	margin-top: 2em;
	padding: 1.5em;
	font-size: 120%;
}


body.responsive-sp .suggestionLayout2{
	margin: 0 2em;
	position: relative;
}
body.responsive-sp .suggestionLayout2 li{
	width: 100%;
	margin-right: 0;
	margin-bottom: 1em;
	text-align: center;
}
body.responsive-sp .suggestionLayout2 li:nth-child(3n) {
    margin-right: 0;
}
body.responsive-sp .suggestionTitleBox{
	text-align: center;
}
body.responsive-sp .suggestionTitleBox div{
	position: inherit;
}
body.responsive-sp .futuristic01 img, body.responsive-sp .futuristic02 img{
	position: inherit;
	width: 100%;
}
body.responsive-sp .suggestionTitle{
	margin-top: 0.5em;
	font-size: 160%;
	margin-bottom: 1em;
}

body.responsive-sp .stepBox .scheduleSell {
	width: 40px;
	position: relative;
}
body.responsive-sp .stepBox .scheduleText{
	font-size: 130%;
	font-weight: bold;
	color: white;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-align: center;
	padding-left: 9px;
}

body.responsive-sp .annotationImage {
	padding: 0 1em 2em;
}

