@charset "UTF-8";


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

          contents

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

#contents {
	background-color: #f0f2f5;
}

/* ************ * main-visual * ************ */
.main-visual {
	position: relative;
	width: 100%;
	height: 250px;
	overflow: hidden;
}
	.company .main-visual {
		background: url(../img/company_main-visual_bg.jpg) center center no-repeat;
		background-size: cover;
	}
	.product .main-visual {
		background: url(../img/product_main-visual_bg.jpg) center center no-repeat;
		background-size: cover;
	}
	.machine .main-visual {
		background: url(../img/machine_main-visual_bg.jpg) center center no-repeat;
		background-size: cover;
	}
	.contact .main-visual {
		background: url(../img/contact_main-visual_bg.jpg) center center no-repeat;
		background-size: cover;
	}
	.threedcadsv .main-visual {
		background: url(../img/3dcadsv_main-visual_bg.jpg) center center no-repeat;
		background-size: cover;
	}
.main-visual h1 {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	color: #fff;
	font-weight: normal;
	text-align: center;
}
.main-visual h1 .jp {
	display: block;
	font-family: 'Noto Serif JP','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ＭＳ Ｐ明朝','MS PMincho','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;
	font-size: 3.6rem;
	letter-spacing: 0.2em;
}
.main-visual h1 .en {
	display: block;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}


@media screen and (max-width: 896px)  {
	.main-visual {
		height: 33.33333vw; /* 250px @750px */
	}
	.main-visual h1 .jp {
		font-size: 5.33333vw; /* 4.0rem @750px */
	}
	.main-visual h1 .en {
		font-size: 2.4vw; /* 1.8rem @750px */
	}
}

@media screen and (max-width: 414px)  {
	.main-visual h1 .jp {
		font-size: 2.2rem;
	}
	.main-visual h1 .en {
		font-size: 1.0rem;
	}
}

/* ************ * section * ************ */
.sec {
	padding-bottom: 40px;
}
	.sec.sec_first {
		padding-top: 60px;
	}
	.sec.sec_intro {
		padding-bottom: 60px;
	}
	.sec.sec_last {
		padding-bottom: 60px;
	}
.sec .wrapper {
	background-color: #fff;
	padding: 40px;
}

@media screen and (max-width: 896px)  {
	.sec {
		padding-bottom: 2.66666vw; /* 20px @750px */
	}
		.sec.sec_first {
			padding-top: 8vw; /* 60px @750px */
		}
		.sec.sec_intro {
			padding-bottom: 8vw; /* 60px @750px */
		}
		.sec.sec_last {
			padding-bottom: 8vw; /* 60px @750px */
		}
	.sec .wrapper {
		margin-right: 2.66666vw; /* 20px @750px */
		margin-left: 2.66666vw; /* 20px @750px */
		padding: 4vw; /* 30px @750px */
	}
}

/* h2 */
.sec h2 {
	display: flex;
 	align-items: center;
	border-left: 10px solid #112f5c;
	background: #17468d;
	height: 60px;
	margin-bottom: 30px;
	padding-left: 20px;
	color: #fff;
	font-size: 1.8rem;
	font-weight: normal;
	line-height: 1;
	text-align: left;
}

.machine .sec#sec02 h2 {
	border-left: 10px solid #17468d;
	background: #112f5c;
}

@media screen and (max-width: 896px)  {
	.sec h2 {
		height: 13.33333vw; /* 100px @750px */
		margin-bottom: 4vw; /* 30px @750px */
		padding-left: 2.66666vw; /* 20px @750px */
		font-size: 3.73333vw; /* 2.8rem @750px */
	}
}

@media screen and (max-width: 414px)  {
	.sec h2 {
		font-size: 1.8rem;
	}
}

/* table */
.sec .tbl_cmn {}
.sec .tbl_cmn th, .sec .tbl_cmn td {
	border: 1px solid #ccc;
	padding: 13px 24px;
}
.sec .tbl_cmn th {
	background-color: #eaf3fd;
	font-weight: normal;
}

@media screen and (max-width: 896px)  {
	.sec .tbl_cmn th, .sec .tbl_cmn td {
		padding: 1.73333vw 2.66666vw; /* 13px 20px @750px */
		font-size: 3.2vw /* 2.4rem @750px */
	}
}

@media screen and (max-width: 414px)  {
	.sec .tbl_cmn th, .sec .tbl_cmn td {
		font-size: 1.4rem;
	}
}

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

          company

************************************************** */
/* sec01 */

@media screen and (min-width: 897px)  {
	.company #sec01 .company_profile {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
}

.company #sec01 .company_profile .tbl_cmn {
	width: 600px;
}
.company #sec01 .company_profile .tbl_cmn th {
	width: 30%;
}

.company #sec01 .company_profile p {
	width: 400px;
}
.company #sec01 .company_profile p img {
	display: block;
	margin-bottom: 20px;
}
.company #sec01 .company_profile p img:last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 896px)  {
	.company #sec01 .company_profile .tbl_cmn {
		width: 100%;
		margin-bottom: 4vw; /* 30px @750px */
	}
	.company #sec01 .company_profile p {
		width: 100%;
	}
	.company #sec01 .company_profile p img {
		margin-bottom: 2.66666vw; /* 20px @750px */
	}
}

/* sec02 */
.company #sec02 .company_map iframe {
	width: 1020px;
	height: 400px;
}
.company #sec02 .company_address {
	margin-top: 25px;
	text-align: right;
}

@media only screen and (max-width: 896px) {
	.company #sec02 .company_map{
		position: relative;
		width; 100%;
		height: 0;
		overflow: hidden;
		padding-bottom: 66.666%; /* 500px @750px */
	}
	.company #sec02 .company_map iframe {
		position: absolute;
		left: 0;
		top: 0;
		width: 100% !important;
	  	height: 100% !important;
	}
	.company #sec02 .company_address {
		margin-top: 3.33333vw; /* 25px @750px */
		font-size: 3.2vw /* 2.4rem @750px */
	}
}

@media screen and (max-width: 414px)  {
	.company #sec02 .company_address {
		font-size: 1.4rem;
	}
}

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

          product

************************************************** */
/* sec01 */
.product #sec01 {
	background: url(../img/product_sec01_bg.jpg) center top no-repeat;
	background-size: cover;
}
.product #sec01 .wrapper {
	background-color: rgba(255, 255, 255, 0.95);
}
.product #sec01 .wrapper .tit_area {
	position: relative;
	width: 100%;
	height: 290px;
	margin-top: 20px;
}
.product #sec01 .wrapper .tit_area h2 {
	position: absolute;
	top: 41px;
	left: 173px;
	display: block;
	border-left: none;
	background: transparent;
	height: 208px;
	margin-bottom: 0;
	padding-left: 0;
}
.product #sec01 .wrapper .tit_area p {
	position: absolute;
	top: 0;
	left: 610px;
}
.product #sec01 .wrapper .sec01_txt {
	margin-top: 52px;
	font-size: 1.6rem;
	text-align: center;
}

@media only screen and (max-width: 896px) {
	.product #sec01 {
		background: url(../img/product_sec01_bg_sp.jpg) center top no-repeat;
		background-size: cover;
	}
	.product #sec01 .wrapper {
		padding-bottom: 8vw; /* 60px @750px */
	}
	.product #sec01 .wrapper .tit_area {
		position: static;
		width: 100%;
		height: auto;
		margin-top: 4vw; /* 30px @750px */;
	}
	.product #sec01 .wrapper .tit_area h2 {
		position: static;
		display: block;
		width: 50.66666vw; /* 380px @750px */
		height: auto;
		margin: 0 auto;
	}
	.product #sec01 .wrapper .tit_area p {
		position: static;
		width: 50.66666vw; /* 380px @750px */
		margin: 5.33333vw auto 0; /* 40px @750px */
	}
	.product #sec01 .wrapper .sec01_txt {
		margin-top: 4.66666vw; /* 35px @750px */
		font-size: 3.2vw; /* 2.4rem @750px */
	}
}


/* sec02 */
.product #sec02 {
	padding-top: 60px;
}
.product #sec02 ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
      	flex-wrap: wrap;
	-webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
}
.product #sec02 ul li {
	margin-bottom: 20px;
}
.product #sec02 ul li img {
	border: 1px solid #ccc;
}

@media only screen and (max-width: 896px) {
	.product #sec02 {
		padding-top: 8vw; /* 60px @750px */
	}
	.product #sec02 .wrapper {
		padding-bottom: 0;
	}
	.product #sec02 ul li {
		width: 42vw; /* 315px @750px */
		margin-bottom: 3.33333vw; /* 25px @750px */
	}
}


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

          machine

************************************************** */
/* sec01 */
.machine #sec01 {
	background: url(../img/machine_sec01_bg.jpg) center top no-repeat;
	background-size: cover;
}
.machine #sec01 .wrapper {
	background-color: rgba(255, 255, 255, 0.95);
}
.machine #sec01 .wrapper .tit_area {
	position: relative;
	width: 100%;
	height: 262px;
	margin-top: 20px;
}
.machine #sec01 .wrapper .tit_area h2 {
	position: absolute;
	top: 28px;
	left: 114px;
	display: block;
	border-left: none;
	background: transparent;
	height: 208px;
	margin-bottom: 0;
	padding-left: 0;
}
.machine #sec01 .wrapper .tit_area p {
	position: absolute;
	top: 0;
	left: 610px;
}
.machine #sec01 .wrapper .sec01_txt {
	margin-top: 52px;
	font-size: 1.6rem;
	text-align: center;
}

@media only screen and (max-width: 896px) {
	.machine #sec01 {
		background: url(../img/machine_sec01_bg_sp.jpg) center top no-repeat;
		background-size: cover;
	}
	.machine #sec01 .wrapper {
		padding-bottom: 8vw; /* 60px @750px */
	}
	.machine #sec01 .wrapper .tit_area {
		position: static;
		width: 100%;
		height: auto;
		margin-top: 4vw; /* 30px @750px */;
	}
	.machine #sec01 .wrapper .tit_area h2 {
		position: static;
		display: block;
		width: 63.2vw; /* 474px @750px */
		height: auto;
		margin: 0 auto;
	}
	.machine #sec01 .wrapper .tit_area p {
		position: static;
		width: 46.4vw; /* 348px @750px */
		margin: 5.33333vw auto 0; /* 40px @750px */
	}
	.machine #sec01 .wrapper .sec01_txt {
		margin-top: 4.66666vw; /* 35px @750px */
		font-size: 3.2vw; /* 2.4rem @750px */
	}
}

@media screen and (max-width: 414px)  {
	.machine #sec01 .wrapper .sec01_txt {
		font-size: 1.4rem;
	}
}


/* sec02 */
.machine #sec02 {
	padding-top: 60px;
}
.machine #sec02 .wrapper ul {}
.machine #sec02 .wrapper ul li {
	display: inline-block;
}
.machine #sec02 .wrapper ul li a {
	color: #0099ff;
}
.machine #sec02 .wrapper ul li:before {
	display: inline-block;
	content: "|";
	padding-right: 8px;
	padding-left: 6px;
}
.machine #sec02 .wrapper ul li:first-child:before {
	display: inline-block;
	content: "";
}

@media only screen and (max-width: 896px) {
	.machine #sec02 {
		padding-top: 8vw; /* 60px @750px */
	}
	.machine #sec02 .wrapper ul li a {
		font-size: 3.2vw /* 2.4rem @750px */
	}
	.machine #sec02 .wrapper ul li:before {
		padding-right: 1.06666vw; /* 8px @750px */
		padding-left: 0.8vw; /* 6px @750px */
	}
}

@media screen and (max-width: 414px)  {
	.machine #sec02 .wrapper ul li a {
		font-size: 1.4rem;
	}
}

/* sec03 ー sec17 */
.machine #sec03, .machine #sec04, .machine #sec05, .machine #sec06, .machine #sec07, .machine #sec08, .machine #sec09, .machine #sec10, .machine #sec11, .machine #sec12, .machine #sec13, .machine #sec14, .machine #sec15, .machine #sec16, .machine #sec17 {
	margin-top: -142px;
    padding-top: 142px;
}

/* tbl_cmn */
.machine .wrapper .tbl_cmn {
	width: 100%;
}
.machine .wrapper .tbl_cmn td {
	text-align: center;
}

@media only screen and (max-width: 896px) {
	.machine .wrapper .tbl_cmn th, .machine .wrapper .tbl_cmn td {
		font-size: 3.2vw /* 2.4rem @750px */
	}
	.machine .wrapper .tbl_cmn th:nth-child(2) {
		white-space: nowrap;
	}
	.machine .wrapper .tbl_cmn td:nth-child(3) {
		white-space: nowrap;
	}
}

@media screen and (max-width: 414px)  {
	.machine .wrapper .tbl_cmn th, .machine .wrapper .tbl_cmn td {
		font-size: 1.4rem;
	}
}


/* sec_img */
.machine .wrapper .sec_img {
	margin: 0 auto 30px;
}
.machine #sec06 .wrapper .sec_img {
	width: 408px;
}
.machine #sec07 .wrapper .sec_img {
	width: 303px;
}
.machine #sec08 .wrapper .sec_img {
	width: 303px;
}
.machine #sec09 .wrapper .sec_img {
	width: 166px;
}
.machine #sec14 .wrapper .sec_img {
	width: 250px;
}
.machine #sec15 .wrapper .sec_img {
	width: 155px;
}
.machine #sec16 .wrapper .sec_img {
	width: 400px;
}
.machine #sec17 .wrapper .sec_img {
	width: 400px;
}

@media only screen and (max-width: 896px) {
	.machine .wrapper .sec_img {
		margin: 0 auto 4vw; /* 30px @750px */
	}
	.machine #sec06 .wrapper .sec_img {
		width: 54.4vw; /* 408px @750px */
	}
	.machine #sec07 .wrapper .sec_img {
		width: 40.4vw; /* 303px @750px */
	}
	.machine #sec08 .wrapper .sec_img {
		width: 40.4vw; /* 303px @750px */
	}
	.machine #sec09 .wrapper .sec_img {
		width: 22.13333vw; /* 166px @750px */
	}
	.machine #sec14 .wrapper .sec_img {
		width: 22.13333vw; /* 166px @750px */
	}
	.machine #sec15 .wrapper .sec_img {
		width: 22.13333vw; /* 155px @750px */
	}
	.machine #sec16 .wrapper .sec_img {
		width: 53.33333vw; /* 40px @750px */
	}
	.machine #sec17 .wrapper .sec_img {
		width: 53.33333vw; /* 40px @750px */
	}
}



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

          contact

************************************************** */
/* tbl_cmn */
.contact .tbl_cmn {
	width: 100%;
}
.contact .tbl_cmn th {
	width: 18%;
}

@media only screen and (max-width: 896px) {
	.contact .tbl_cmn th {
		width: 30%;
	}
}

/* sec01 */
.contact #sec01 .tbl_cmn .tel a {
	color: #333;
	text-decoration: none;
}

/* sec02 */
.contact #sec02 .sec02_lead_txt {
	margin-bottom: 12px;
}
.contact #sec02 .sec02_required_txt {
	margin-bottom: 26px;
	font-size: 1.4rem;
}
.contact .tbl_cmn td .w100 {
	width: 100%;
}
.contact .tbl_cmn td .w63 {
	width: 63%;
}
.contact .tbl_cmn td .ex {
	margin-top: 12px;
	font-size: 1.4rem;
}
.contact .tbl_cmn td .error {
	margin-top: 4px;
	color: #ff0000;
}
.contact .contact_btn {
	margin-top: 30px;
	text-align: right;
}
.contact .contact_btn li {
	display: inline-block;
	margin-left: 16px;
}
.contact .contact_btn li a {
	display: inline-block;
	position: relative;
	border-radius: 10px;
	width: 200px;
	color: #fff;
	text-align: center;
	text-decoration: none;
	line-height: 60px;
}
.contact .contact_btn .contact_btn_confirm a,
.contact .contact_btn .contact_btn_send a {
	background-color: #1dace9;
}
.contact .contact_btn .contact_btn_back a {
	background-color: #cccccc;
}
.contact .contact_btn li a:after {
	display: inline-block;
	position: absolute;
	top: 50%;
	content: "";
	background: url(../img/icon_arrow_right.png) left center no-repeat;
	background-size: 100% auto;
	width: 9px;
	height: 16px;
}
.contact .contact_btn .contact_btn_confirm a:after,
.contact .contact_btn .contact_btn_send a:after {
	right: 18px;
	transform: translateY(-50%);
}
.contact .contact_btn .contact_btn_back a:after {
	left: 18px;
	transform: translateY(-50%) rotate(180deg);
}

.contact .contact_btn a:hover {
	opacity: 0.75;
}

@media only screen and (max-width: 896px) {
	.contact #sec02 .sec02_lead_txt {
		margin-bottom: 0;
		font-size: 3.2vw /* 2.4rem @750px */
	}
	.contact #sec02 .sec02_required_txt {
		margin-bottom: 3.46666vw; /* 26px @750px */
		font-size: 2.93333vw /* 2.2rem @750px */
	}
	.contact #sec02 .tbl_cmn th, .contact #sec02 .tbl_cmn td {
		display: block;
		border-bottom: none;
		width: 100%;
	}
	.contact #sec02 .tbl_cmn td {
		padding: 3.46666vw 2.93333vw; /* 26px 22px @750px */
	}
	.contact #sec02 .tbl_cmn tr:last-child td {
		border-bottom: 1px solid #ccc;
	}
	.contact #sec02 .tbl_cmn td .w100 {
		width: 100%;
	}
	.contact .tbl_cmn td .w100 {
		width: 100%;
	}
	.contact .tbl_cmn td .w63 {
		width: 100%;
	}
	.contact .tbl_cmn td .ex {
		margin-top: 1.6vw; /* 12px @750px  */
		font-size: 2.93333vw /* 2.2rem @750px */
	}
	.contact .tbl_cmn td .error {
		margin-top: 0.53333vw; /* 4px @750px */
		font-size: 3.2vw; /* 2.4rem @750px */
	}
	.contact .contact_btn {
		margin-top: 4vw; /* 30px @750px */
	}
	.contact .contact_btn li {
		display: block;
		margin-left: 0;
		margin-bottom: 2.66666vw; /* 20px @750px */
	}
	.contact .contact_btn li:last-child {
		margin-bottom: 0;
	}
	.contact .contact_btn li a {
		width: 100%;
		font-size: 3.2vw; /* 2.4rem @750px */
		line-height: 13.33333vw; /* 100px @750px */
	}
	.contact .contact_btn li a:after {
		width: 1.86666vw; /* 14px @750px */
		height: 3..33333vw; /* 25px@750px */
	}
}

@media screen and (max-width: 414px)  {
	.contact #sec02 .sec02_lead_txt {
		font-size: 1.4rem;
	}
	.contact #sec02 .sec02_required_txt {
		font-size: 1.2rem;
	}
	.contact .tbl_cmn td .ex {
		font-size: 1.2rem;
	}
	.contact .tbl_cmn td .error {
		font-size: 1.4rem;
	}
	.contact .contact_btn li a {
		font-size: 1.4rem;
	}
}


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

          contact -confirm

************************************************** */
/* sec02 */
.contact.confirm #sec02 .sec02_lead_txt {
	margin-bottom: 25px;
}
.contact.confirm #sec02 .tbl_cmn tr td {
	font-weight: bold;
}

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

          contact -finish

************************************************** */
/* sec02 */
.contact.finish #sec02 .sec02_lead_txt {
	margin-bottom: 2.66666vw; /* 20px @750px */
}

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

          3dcadsv

************************************************** */
/* sec01 */
.threedcadsv #sec01 {
	background: url(../img/3dcadsv_sec01_bg.jpg) center top no-repeat;
	background-size: cover;
}
.threedcadsv #sec01 .wrapper {
	background-color: rgba(255, 255, 255, 0.95);
}
.threedcadsv #sec01 .wrapper h2 {
	width: 100%;
	margin-top: 20px;
	border-left: none;
    background: none;
    height: auto;
    padding-left: 0px;
}
.threedcadsv #sec01 .wrapper .sec01_txt {
	margin-top: 25px;
	font-size: 1.6rem;
	text-align: center;
}
.threedcadsv #sec01 .wrapper .sec01_txt:first-child {
	margin-top: 0px;
}
.threedcadsv #sec01 .wrapper .sec01_txt2 {
	margin-top: 30px;
	font-size: 1.6rem;
	text-align: center;
}
.threedcadsv #sec01 .wrapper .sec01_img {
	margin-top: 40px;
}
.threedcadsv #sec01 .wrapper .sec01_contact {
	background-color: #112f5c;
	margin-top: 40px;
	padding: 25px 0;
	color: #fff;
	text-align: center;
}
.threedcadsv #sec01 .wrapper .sec01_contact h3 {
	font-size: 1.8rem;
	font-weight: bold;
}
.threedcadsv #sec01 .wrapper .sec01_contact p {
	margin-top: 10px;
	font-size: 1.6rem;
}

@media only screen and (max-width: 896px) {
	.threedcadsv #sec01 {
		background: url(../img/3dcadsv_sec01_bg_sp.jpg) center top no-repeat;
		background-size: cover;
	}
	.threedcadsv #sec01 .wrapper {
		padding-bottom: 8vw; /* 60px @750px */
	}
	.threedcadsv #sec01 .wrapper .sec01_txt {
		margin-top: 3.33333vw; /* 25px @750px */
	}
	.threedcadsv #sec01 .wrapper .sec01_txt,
	.threedcadsv #sec01 .wrapper .sec01_txt2,
	.threedcadsv #sec01 .wrapper .sec01_contact p {
		font-size: 3.2vw; /* 2.4rem @750px */
	}
	.threedcadsv #sec01 .wrapper .sec01_txt2 {
		margin-top: 4vw; /* 30px @750px */
	}
}

@media screen and (max-width: 414px)  {
	.threedcadsv #sec01 .wrapper .sec01_txt,
	.threedcadsv #sec01 .wrapper .sec01_txt2,
	.threedcadsv #sec01 .wrapper .sec01_contact p {
		font-size: 1.4rem;
	}
}
