@charset "utf-8";
/* CSS Document */
body{
	/* overflow-y: auto; */
}

.main{
	width: 100%;
	margin: 0 auto;
	/* height: 100%; */
	/*font-family: Arial, Helvetica, sans-serif;*/
	/* overflow-y: auto; */	overflow-x: hidden;
	/* -webkit-overflow-scrolling: touch; */

}
/* 印刷用 */
/* overflowを初期値(visible)にしないと1ページ分しか印刷できない */
/* footer固定用にmin-heightに数値を指定している場合、印刷時footerが変にずれるので、ここでcontents{min-height:0(初期値);}を指定 */

@media print {
    body{
        overflow-y: visible;
        overflow-x: visible;
    }
    .main{
        overflow-y: visible;
        overflow-x: visible;
	}

}


/*********************************************************************************/
/* コンテンツレイアウト
/*********************************************************************************/
/*body min-widthリセット*/
body {
	min-width: 0;
}
#header_ate .hBox {
	 margin: 0 auto 10px;
	 max-width: 1000px !important;
}
#header_ate .hBox .logo {
	width: auto !important;
}
/*--- フルードイメージ ---*/
/* 拡大縮小 */
.fluidimg {
	width: 100%;
	max-width: 100%;
	height:auto;
}
/* 画像サイズ内で縮小 */
.fluidimg2 {
	width: auto;
	max-width: 100%;
	height:auto;
}
.taC {
	text-align: center;
}
/*--------------------------------------------------------------*/
/* PC
/*--------------------------------------------------------------*/
.pc_none {
	display: none;
}
.tb_none {
	display: block;
}
.sp_none {
	display: block;
}
.contentsWapArea {
	max-width: 100%;
}
/*--------------------------------------------------------------*/
/* TB 768px以下 
/*--------------------------------------------------------------*/
@media all and (min-width: 641px) and (max-width: 768px) {
	.pc_none {
		display: block;
	}
	.tb_none {
		display: none;
	}
	.sp_none {
		display: block;
	}
	.contentsWapArea {
		width: 100%;
	}
}
/*--------------------------------------------------------------*/
/* SP 640px以下 
/*--------------------------------------------------------------*/
@media all and (min-width: 0px) and (max-width: 640px) {
	.pc_none {
		display: block;
	}
	.tb_none {
		display: none;
	}
	.sp_none {
		display: none;
	}
	.contentsWapArea {
		width: 100%;
	}
}
/*********************************************************************************/
/* メインビュー
/*********************************************************************************/
/*--------------------------------------------------------------*/
/* PC
/*--------------------------------------------------------------*/
.contentsWapArea .mainviewbg {
	padding: 40px 0;
	background-image:url("/product/3dprinter/f123/img/main_bg.jpg");
	background-size:cover;
}
.contentsWapArea .mainview {
	width: 100%;
	max-width: 1300px;
	margin: 30px auto;
	padding: 0 10px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.contentsWapArea .mainview .mainimg {
	box-sizing: border-box;
	width: 45%;
}
.contentsWapArea .mainview .mainimg img {
	box-shadow: 0px 0px 10px -6px rgba(0,0,0,0.8);
}
.contentsWapArea .mainview .mainttl {
	box-sizing: border-box;
	width: 55%;
	padding-left: 20px;
	text-align: center;
}
.contentsWapArea .mainview .mainttl h1 {
	font-weight: bold;
	font-size: 30px;
}
.contentsWapArea .mainview .mainttl h1 span {
	font-size: 60px;
	color: #00A3E0;
}
/*--------------------------------------------------------------*/
/* TB 768px以下 
/*--------------------------------------------------------------*/
@media all and (min-width: 641px) and (max-width: 768px) {
	.contentsWapArea .mainview .mainttl h1 {
		font-weight: bold;
		font-size: 20px;
	}
	.contentsWapArea .mainview .mainttl h1 span {
		font-size: 30px;
		color: #00A3E0;
	}
}
/*--------------------------------------------------------------*/
/* SP 640px以下 
/*--------------------------------------------------------------*/
@media all and (min-width: 0px) and (max-width: 640px) {
	.contentsWapArea .mainview {
		width: 100%;
		box-sizing: border-box;
		padding: 0 10px;
		margin: 20px 0;
	}
	.contentsWapArea .mainview .mainimg {
		width: 100%;
		margin-bottom: 20px;
	}
	.contentsWapArea .mainview .mainttl {
		width: 100%;
		text-align: center;
		padding-left: 0;
	}
	.contentsWapArea .mainview .mainttl h1 {
		font-size: 22px;
	}
	.contentsWapArea .mainview .mainttl h1 span {
		font-size: 30px;
	}
}
/*********************************************************************************/
/* 帯タイトル
/*********************************************************************************/
/*--------------------------------------------------------------*/
/* PC
/*--------------------------------------------------------------*/
.contentsWapArea .titleObi {
	color: #FFF;
	text-align: center;
	background-color: #00A3E0;
	font-weight: bold;
	font-size: 30px;
	padding: 50px 10px;
}
/*--------------------------------------------------------------*/
/* SP 640px以下 
/*--------------------------------------------------------------*/
@media all and (min-width: 0px) and (max-width: 640px) {
	.contentsWapArea .titleObi {
		color: #FFF;
		text-align: center;
		background-color: #00A3E0;
		font-weight: bold;
		font-size: 24px;
		padding: 20px 10px;
	}
}
/*********************************************************************************/
/* 4つの理由
/*********************************************************************************/
/*--------------------------------------------------------------*/
/* PC
/*--------------------------------------------------------------*/
.contentsWapArea .reasonArea {
	background-color: #ECECEC;
	padding: 0 0 20px;
}
.reasonArea .reasonBox {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 1400px;
	margin: 30px auto 10px;
	padding: 0 10px;
}
.reasonArea .reasonBox .box {
	box-sizing: border-box;
	width: 24%;
	padding: 20px;
	background-color: #FFF;
	box-shadow: 0px 0px 10px -6px rgba(0,0,0,0.8);
	margin-bottom: 20px;
}
.reasonArea .reasonBox .box .ttlwap {
	padding: 10px;
	border-radius: 6px;
	background-color: #efefef;
	margin-bottom: 15px;
}
.reasonArea .reasonBox .box .ttl {
	text-align: center;
	font-weight: bold;
	font-size: 28px;
}
.reasonArea .reasonBox .box .subt {
	text-align: center;
	font-size: 18px;
}
.reasonArea .reasonBox .box .list {
}
.reasonArea .reasonBox .box .list li {
	width: 100%;
	margin-bottom: 5px;
	font-size: 16px;
	padding: 10px 15px;
	background-color: #efefef;
	border-radius: 6px;
	text-align: center;
}

/*--------------------------------------------------------------*/
/* TB 768px以下 
/*--------------------------------------------------------------*/
@media all and (min-width: 641px) and (max-width: 768px) {
	.reasonArea .reasonBox .box {
		width: 49%;
	}
}
/*--------------------------------------------------------------*/
/* SP 640px以下 
/*--------------------------------------------------------------*/
@media all and (min-width: 0px) and (max-width: 640px) {
	.contentsWapArea .reasonArea {
		background-color: #ECECEC;
		padding: 0 0 10px;
	}
	.reasonArea .reasonBox .box {
		width: 100%;
	}
}
/*********************************************************************************/
/* ムービー
/*********************************************************************************/
/*--------------------------------------------------------------*/
/* PC
/*--------------------------------------------------------------*/
.contentsWapArea .movieArea {
	padding: 40px 0;
}
.movieArea .movieBox {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 10px;
	list-style: none;
}
.movieArea .movieBox .box {
	box-sizing: border-box;
	width: 32.5%;
	background-color: #FFF;
	box-shadow: 0px 0px 10px -6px rgba(0,0,0,0.8);
	margin-bottom: 20px;
}
.movieArea .movieBox .box .wap {
	width: 100%;
	margin-bottom: 10px;
}
.movieArea .movieBox .box .ttl {
	width: 97%;
	margin: 0 auto;
	text-align: center;
	padding: 15px 10px;
	font-size: 26px;
	font-weight: bold;
	background-color: #efefef;
	border-radius: 6px;
}
.movieArea .movieBox .box .txt {
	width: 100%;
	padding: 10px 10px 20px;
	font-size: 16px;
	line-height: 1.6;
	/*background-color: #efefef;
	border-radius: 6px;*/
}
.movieArea .movieBox .box .video{
	padding: 10px;
}
.movieArea .movieBox .box .video:hover {
	background-color: #00A3E0;
}
.movieArea .movieBox .box .video img {
	width: 99%;
}
/*--------------------------------------------------------------*/
/* TB 768px以下 ※SP含む 
/*--------------------------------------------------------------*/
@media all and (min-width: 0px) and (max-width: 768px) {
	.movieArea .movieBox .box {
		width: 100%;
	}
}


/*********************************************************************************/
/* 仕様
/*********************************************************************************/
/*--------------------------------------------------------------*/
/* PC
/*--------------------------------------------------------------*/
.spacArea {
	padding: 40px 0;
	/*background-color: #ECECEC;*/
	overflow-x:auto;
}
.spacArea h2 {
	box-sizing: border-box;
	padding: 0 10px;
	max-width: 1000px;
	margin:0 auto;
	color: #ff3333;
	font-size: 26px;
	margin-bottom: 20px;
}
.spacArea .capTxt {
	font-size: 12px;
}
.spacArea .scroll_table {
	max-width: 1000px;
	padding: 0 10px;
  	overflow-x: scroll;
 	margin: 0 auto;
	-webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
}
.spacArea .scroll_table::-webkit-scrollbar { 
        display:none;
    }
.spacArea .scroll_table .spactbl {
	width: 100%;
	background-color: #FFF;
	margin-bottom: 10px;
	border-top: 1px solid #CCCCCC;
	border-left: 1px solid #CCCCCC;
}
.spacArea .scroll_table .spactbl th {
	text-align: left;
	padding: 10px 20px;
	border-right: 1px solid #CCCCCC;
	border-bottom: 1px solid #CCCCCC;
	color: #FFF;
	background-color: #00053d;
	width: 25%;
	box-sizing: border-box;
}
.spacArea .scroll_table .spactbl td {
	text-align: center;
	padding: 10px;
	border-right: 1px solid #CCCCCC;
	border-bottom: 1px solid #CCCCCC;
	width: 20%;
	box-sizing: border-box;
	word-break: keep-all;
}
.spacArea .scroll_table .spactbl td.no-space {
	padding: 0 10px 10px 10px;
}
.spacArea .scroll_table .spactbl td.no-line,.spacArea .scroll_table .spactbl th.no-line {
	border-bottom: none;
}
.spacArea .scroll_table .spactbl td dl {
	display: flex;
	width: 100%;
	margin: 0 auto;
	text-align: left;
}
.spacArea .scroll_table .spactbl td dl dt {
	width: 40%;
}
.spacArea .scroll_table .spactbl td dl dd {
	width: 60%;
}
/*-- ボタン ----------------------------*/
.spacArea .btnA {
  margin: 0 auto;
}
.spacArea .btnA a {
  text-align: center;
  color: #FFFFFF;
  background-color: #ff3333;
  line-height: 1;
  font-size: 12px;
  padding: 5px 10px;
  display: block;
  transition: .2s linear;
  position: relative;
  border-radius: 4px;
}
/*--- リンク ---*/
.spacArea .btnA a:link, 
.spacArea .btnA a:visited {
	color: #FFFFFF;
	text-decoration: none;
}
.spacArea .btnA a:hover, 
.spacArea .btnA a:active {
	color: #FFFFFF;
	text-decoration: none;
  background-color:#CCCCCC;
}
/* popup -------------------------------*/
.white-popup {
  position: relative;
  background: #FFF;
  padding: 40px 41px 35px;
  width: auto;
  max-width: 725px;
  margin: 20px auto;
}
.popup-movie video {
    width: 700px;
    padding: 30px 0;
}
/* overlay at start */
.mfp-fade.mfp-bg {
  opacity: 0;

  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}
/* overlay animate in */
.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.8;
}
/* overlay animate out */
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}

/* content at start */
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;

  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}
/* content animate it */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}
/* content animate out */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}
/*--------------------------------------------------------------*/
/* SP 640px以下 
/*--------------------------------------------------------------*/
@media all and (min-width: 0px) and (max-width: 640px) {
	.spacArea .scroll_table .spactbl {
		width: 900px;
	}
}

/*********************************************************************************/
/* 材料
/*********************************************************************************/
/*--------------------------------------------------------------*/
/* PC
/*--------------------------------------------------------------*/
.materialArea h2 {
	box-sizing: border-box;
	padding: 0 10px;
	max-width: 1000px;
	margin:0 auto;
	color: #ff3333;
	font-size: 26px;
	margin-bottom: 20px;
}
.materialArea table{
	max-width: 1000px;
	margin: 0 auto;
	margin-bottom: 50px;
}
.materialArea table > tbody > tr{
	border-top: 1px solid #dce0e2;
}
.materialArea table > tbody > tr:last-child{
	border-bottom: 1px solid #dce0e2;
}
.materialArea table > tbody > tr > th{
	font-weight: bold;
    font-size: 18px;
    padding: 25px 0 0;
    width: 38%;
	padding-right: 15px;
    position: relative;
    /*display: inline-block;*/
	box-sizing: border-box;
}
.materialArea p.ttl{
    padding: 1em 0 0.8em 1em;
    border-bottom: dotted 1px #dce0e2;
	width: 100%;
}
.materialArea p.ttl_sub{
    padding: 0.8em 0 0.8em 1em;
    font-weight: normal;
    font-size: 16px;
}
.materialArea p.ttl_color{
    padding: 0.8em 0 0.8em 1em;
    font-weight: normal;
	border-top: dotted 1px #dce0e2;
    font-size: 14px;
}
.materialArea table > tbody > tr th span{
	font-size: 13.5px;
    font-weight: normal;
	margin-left: 0.6rem;
}
.materialArea table > tbody > tr > td{
	padding-right: 15px;
	letter-spacing: 0.05em;
    line-height: 1.7;
	padding: 0.5em 0;
	box-sizing: border-box;
}
.materialArea table > tbody > tr > td.pic {
	/*max-width: 250px;*/
	width: 20%;
}
.materialArea table > tbody > tr > td.txt {
	padding-left: 15px;
	width: 45%;
}

/*--------------------------------------------------------------*/
/* SP 640px以下 
/*--------------------------------------------------------------*/
@media all and (min-width: 0px) and (max-width: 640px) {
	.materialArea table > tbody > tr th {
		display: block;
		width: 100%;
		background-color: #efefef;
		padding: 0;
	}
	.materialArea table > tbody > tr td{
		display: inline-block;
	}
	.materialArea table > tbody > tr td.pic {
		width: 20%;
	}
	.materialArea table > tbody > tr td.txt {
		width: 80%;
	}
	.materialArea p.ttl{
    	padding: 0.8em;
    	border-bottom: dotted 1px #dce0e2;
		width: 100%;
	}
	.materialArea p.ttl_sub{
    	padding: 0.8em;
    	font-weight: normal;
    	font-size: 16px;
	}
}

/*********************************************************************************/
/* オプション
/*********************************************************************************/
/*--------------------------------------------------------------*/
/* PC
/*--------------------------------------------------------------*/
.optionArea {
	padding: 40px 0;
	overflow-x:auto;
}
.optionArea h2 {
	box-sizing: border-box;
	padding: 0 10px;
	max-width: 1000px;
	margin:0 auto;
	color: #ff3333;
	font-size: 26px;
	margin-bottom: 20px;
}
.optionArea .optionList {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 900px;
	box-sizing: border-box;
	padding: 20px;
	margin: 0 auto;
	background-color: #ECECEA;
}
.optionArea .optionList li {
	width: 49%;
	background-color: #FFF;
	box-sizing: border-box;
	padding: 15px;
}
.optionArea .optionList li .pic {
	text-align: center;
	margin-bottom: 10px;
}
.optionArea .optionList li .pic img {
	width: auto;
	max-width: 100%;
	height:auto;
}
.optionArea .optionList li .ttl {
	font-weight: bold;
	margin-bottom: 15px;
	font-size: 16px;
	text-align: center;
}
.optionArea .optionList li .txt {
	line-height: 1.6;
}
/*--------------------------------------------------------------*/
/* SP 640px以下 
/*--------------------------------------------------------------*/
@media all and (min-width: 0px) and (max-width: 640px) {
	.optionArea .optionList li {
		width: 100%;
	}
	.optionArea .optionList {
		padding: 15px 10px;
	}
}


/*********************************************************************************/
/* 活用事例
/*********************************************************************************/
/*--------------------------------------------------------------*/
/* PC
/*--------------------------------------------------------------*/
.contentsWapArea .casestudyAera {
	padding: 40px 0;
	max-width: 1100px;
	margin: 0 auto;
}
.casestudyAera h3 {
	margin:40px 0px 15px 0px;
	padding:15px 0px 15px 0px;
	font-size:18px;
	text-align: center;
	color:#333;
	width:100%;
	border-top: #ccc 3px solid;
	border-bottom:3px solid #ccc;
	font-weight: normal;
}
.casestudy_index_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	list-style: none;
	margin: 30px auto 0px;
}
.casestudy_index_list li {
	width: 49%;
	box-sizing: border-box;
	padding: 20px;
	border: solid 1px #cccccc;
	border-radius: 6px;
  position: relative;
  margin-bottom: 20px;
}
.casestudy_index_list li .ttl {
	font-weight: bold;
	font-size: 16px;
	margin: 0 auto 20px;
	text-align: center;
}
.casestudy_index_list li .disp {
  line-height: 1.6;
	font-size: 15px;
  text-align: center;
}
.casestudy_index_list li .pic{
  margin-bottom: 20px;
}
.casestudy_index_list li .pic img{
  width: 100%;
}

.casestudy_index_list li a {
    transition: .2s;
    text-decoration: none;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
  box-shadow: 0px 2px 6px rgba(0,0,0,.2);
}
.casestudy_index_list li a:hover{
  opacity: 0.1;
  filter: alpha(opacity=10);
  -moz-opacity: 0.1;
}

/*--------------------------------------------------------------*/
/* TB 768px以下 ※SP含む 
/*--------------------------------------------------------------*/
@media all and (min-width: 0px) and (max-width: 768px) {
	.casestudy_index_list li {
		width: 100%;
		padding: 15px;
   		 margin: 0px 20px 15px;
	}
}

/*********************************************************************************/
/* サービス案内
/*********************************************************************************/
/*--------------------------------------------------------------*/
/* PC
/*--------------------------------------------------------------*/
.contentsWapArea .serviceArea {
	background-color: #ECECEC;
	padding: 0 0 20px;
}
.serviceArea .serviceBox {
	list-style: none;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 1400px;
	margin: 30px auto 10px;
	padding: 0 10px;
}
.serviceArea .serviceBox .box {
	width: 32%;
	margin-bottom: 15px;
}
/*--------------------------------------------------------------*/
/* SP 640px以下 
/*--------------------------------------------------------------*/
@media all and (min-width: 0px) and (max-width: 640px) {
	.contentsWapArea .serviceArea {
		background-color: #ECECEC;
		padding: 0 0 10px;
	}
	.serviceArea .serviceBox .box {
		width: 100%;
	}
}



/*--------------------------------------------------------------*/
/* PC
/*--------------------------------------------------------------*/
/* footer_contact */
.footer_contact{
	padding: 35px;
	background-color: #f7f9fb;
}
.footer_contact .contwap {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.footer_contact p{
	max-width: 1000px;
	margin: 0 auto;
	display: block;
	text-align: center;
	font-size: 26px;
	margin-bottom: 15px;
}
.footer_contact ul{
	max-width: 580px;
	margin: 0 auto;
	display: block;
}
.footer_contact ul li{
	padding: 10px 0px;
	font-weight: bold;
	text-align: center;
}
.footer_contact_text{
	width: 280px;
	padding-left: 80px;
	box-sizing: border-box;
    font-size: 20px;
	position: relative;
	background-image: url("/product/3dprinter/f123/img/icon_phone.png");
	background-size: 28px;
	background-position: left center;
	background-repeat: no-repeat;
}
.footer_contact_text2{
	width: 280px;
	padding-left: 80px;
	box-sizing: border-box;
    font-size: 20px;
	position: relative;
	background-image: url("/product/3dprinter/f123/img/icon_mail.png");
	background-size: 28px;
	background-position: left center;
	background-repeat: no-repeat;
}
.footer_contact_tel,
.footer_contact_btn{
	width: 250px;
}
.footer_contact_tel{
    font-size: 30px;
	font-weight: bold;
	letter-spacing: 0.1em;
	text-align: center;
}
.footer_contact_btn{
	width: 250px;
	height: 50px;
    line-height: 50px;
}
.footer_contact .footer_btn_link{
    max-width: 580px;
    margin: 30px auto 0;
    /*padding-left: 40px;*/
}
.footer_btn_link a {
    display: block;
    text-decoration: none;
    border:3px solid #5b656f;
    color: #fff;
    background: #5b656f;
    padding:10px 0;
    border-radius: 3px;
    font-size: 20px;
    font-weight: bold;
}
.footer_btn_link a:hover {
    background: #fff;
    border:3px solid #5b656f;
    color:#5b656f;
}
/*--------------------------------------------------------------*/
/* SP 640px以下 
/*--------------------------------------------------------------*/
@media all and (min-width: 0px) and (max-width: 640px) {
	.footer_contact ul li {
		/*width: 100%;*/
	}
	.footer_contact_text,
	.footer_contact_text2{
		width: 280px;
		margin: 0 auto;
    	font-size: 20px;
	}
	.footer_btn {
		width: 100%;
	}
	.footer_contact_tel{
		width: 100%;
	}
	.footer_contact_btn{
		width: 100%;
	}

}
