@charset "utf-8";
.pc {
	display: block;
}

.sp {
	display: none;
}

/* =======================================

	共通

========================================== */

em {
	font-weight: bold;
	color: #2E3EB7;
}

.mb0 {
	margin-bottom: 0 !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb100 {
	margin-bottom: 100px !important;
}

.alignR {
	text-align: right !important;
}

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

.alignM {
	vertical-align: middle !important;
}

.bold {
	font-weight: bold;
}

.fz140 {
	font-size: 140% !important;
}

.btn01 {
	color: #ffffff;
	display: inline-block;
	font-size: 13px;
	padding: 18px 50px 13px 20px;
	box-sizing: border-box;
	text-align: center;
}

.btn01.w330 {
	width: 330px;
	padding: 18px 0 13px 0;
}

.btn01:hover {
	opacity: 0.7;
	text-decoration: none;
}

.gradation {
	background: #3a92bb;
	/* Old browsers */
	background: -moz-linear-gradient(left, #3a92bb 0%, #10208b 100%);
	/* FF3.6-15 */
	background: -webkit-linear-gradient(left, #3a92bb 0%, #10208b 100%);
	/* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #3a92bb 0%, #10208b 100%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3a92bb', endColorstr='#10208b', GradientType=1);
	/* IE6-9 */
}

.gradationR {
	background: #3a92bb;
	/* Old browsers */
	background: -moz-linear-gradient(left, #10208b 0%, #3a92bb 100%);
	/* FF3.6-15 */
	background: -webkit-linear-gradient(left, #10208b 0%, #3a92bb 100%);
	/* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #10208b 0%, #3a92bb 100%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#10208b', endColorstr='#3a92bb', GradientType=1);
	/* IE6-9 */
}

.breadCrumbs {
	max-width: 1020px;
	margin: 18px auto;
	font-size: 12px;
}

.breadCrumbs a {
	text-decoration: none;
}

.breadCrumbs a:hover {
	text-decoration: underline;
}

.imageAbsolute {
	position: absolute;
	width: 52%;
	top: 240px;
	left: 48%;
}

.imageAbsolute img {
	width: 100%;
	max-width: 900px;
	height: auto;
}

.boxSection {
	margin: 0 0 60px 0;
}

.boxSection p {
	line-height: 150%;
	margin: 0 0 40px 0;
}

.boxSection p img {
	max-width: 100%;
	height: auto;
}

.boxLeadLeft {
	width: 44%;
}

.boxGrey {
	background-color: #F4F4F4;
	padding: 40px;
}

.boxGrey .left {
	width: 48%;
	float: left;
}

.boxGrey .right {
	width: 48%;
	float: right;
}

.table01 {
	width: 100%;
	margin: 0 0 30px 0;
	border-width: 1px 0 0 0;
	border-style: solid;
	border-color: #AAAAAA;
	line-height: 150%;
}

.table01 th {
	padding: 20px;
	background-color: #F4F4F4;
	border-width: 0 0 1px 0;
	border-style: solid;
	border-color: #AAAAAA;
	white-space: nowrap;
}

.table01 td {
	padding: 20px;
	border-width: 0 0 1px 0;
	border-style: solid;
	border-color: #AAAAAA;
	word-wrap: break-word;
}

.table01 input[type=file] {
	font-size: 13px;
}

.table01Border th,
.table01Border td {
	border-width: 0 0 1px 1px;
}

.table01Border tr th:first-child {
	border-width: 0 0 1px 0;
}

.table02 {
	width: 100%;
	margin: 0 0 30px 0;
	line-height: 140%;
}

.table02 th {
	font-weight: bold;
	border-width: 0 0 1px 0;
	border-style: solid;
	border-color: #AAAAAA;
	padding: 6px 10px 6px 0;
	white-space: nowrap;
}

.table02 td {
	border-width: 0 0 1px 0;
	border-style: solid;
	border-color: #AAAAAA;
	padding: 6px 0;
}

.table03 td {
	border-width: 0 0 1px 1px;
}

.btn01 {
	color: #ffffff;
	font-size: 13px;
	display: inline-block;
	padding: 20px 50px 15px 50px;
}

.btn01:hover {
	opacity: 0.8;
	text-decoration: none;
}

.boxBottomInquiry {
	margin: 100px 0 80px 0;
}

.boxBottomInquiry .boxGrey dl {
	float: left;
	width: 50%;
	margin: 0;
	text-align: center;
	font-size: 17px;
}

.boxBottomInquiry .boxGrey dl dt {
	margin: 0 0 15px 0;
}

.boxBottomInquiry .boxGrey dl dd {
	line-height: 140%;
	font-size: 14px;
}

.boxBottomInquiry .boxGrey dl dd font {
	font-weight: bold;
	font-size: 20px;
	font-family: 'Oswald', sans-serif;
	display: inline-block;
	margin: 0 0 10px 0;
}

.boxBottomInquiry .boxGrey dl dd font span {
	font-size: 31px;
}

.boxBottomInquiry .boxGrey p {
	float: right;
	text-align: center;
	width: 50%;
	margin: 0;
}

.boxBottomInquiry .boxGrey p a {
	color: #ffffff;
	display: block;
	width: 400px;
	height: 100px;
	box-sizing: border-box;
	font-size: 17px;
	padding: 40px 0 0 0;
}

.boxBottomInquiry .boxGrey p a:hover {
	text-decoration: none;
	opacity: 0.8;
}

.boxBottomSales {
	margin: 80px 0 80px 0;
}

.boxBottomSales dl {
	float: left;
	width: 55%;
}

.boxBottomSales dl dt {
	font-size: 16px;
	font-weight: bold;
	margin: 0 0 15px 0;
}

.boxBottomSales dl dd {
	line-height: 150%;
}

.boxBottomSales p {
	float: right;
	width: 40%;
	margin: 0;
}

.boxBottomSales p a {
	color: #ffffff;
	font-size: 16px;
	display: block;
	padding: 30px 0 30px 0;
	text-align: center;
}

.boxBottomSales p a:hover {
	opacity: 0.8;
	text-decoration: none;
}

.listDisc {
	margin: 0 0 30px 0;
	line-height: 160%;
}

.listDisc li {
	margin: 0 0 0 1.2em;
	list-style-type: disc;
}

.listDecimal {
	margin: 0 0 30px 0;
	line-height: 160%;
}

.listDecimal li {
	margin: 0 0 10px 1.2em;
	list-style-type: decimal;
}

.pageNavi {
	margin: 0 0 60px 0;
}

.pageNavi li {
	width: 20%;
	float: left;
}

.pageNavi li a {
	display: block;
	color: #ffffff;
	text-align: center;
	font-size: 16px;
	padding: 18px 0 8px 0;
	line-height: 160%;
	box-sizing: border-box;
	border-width: 0 1px 0 0;
	border-style: solid;
	border-color: #ffffff;
}

.pageNavi li:last-child a {
	border-width: 0;
}

.pageNavi li a:hover {
	text-decoration: none;
	opacity: 0.8;
}

.boxImgRight .right {
	float: right;
	width: 48%;
}

.boxImgRight .right figcaption {
	margin: 10px 0 0 0;
	display: block;
	font-size: 13px;
	line-height: 130%;
}

.boxImgRight .right img {
	width: 100%;
	height: auto;
}

.boxImgRight .left {
	float: left;
	width: 48%;
}

.boxLocalNavi {
	border-width: 0 0 1px 0;
	border-style: solid;
	border-color: #EAEAEA;
	margin: 0 0 10px 0;
	padding: 0 0 10px 0;
}

.localNavi li a {
	padding: 12px 10px;
	display: block;
}

.localNavi li a.active {
	background-color: #F4F4F4;
}

.boxDirectoryIndex {
	margin: 0 0 80px 0;
}

.boxDirectoryIndex a {
	display: block;
	float: left;
	width: 32%;
	margin: 0 2% 20px 0;
	color: #ffffff;
}

.boxDirectoryIndex a:hover {
	text-decoration: none;
}

.boxDirectoryIndex a:nth-child(3n) {
	margin: 0 0 20px 0;
}

.boxDirectoryIndex a:nth-child(3n+1) {
	clear: both;
}

.boxDirectoryIndex a figure img {
	width: 100%;
	height: auto;
}

.boxDirectoryIndex a figure figcaption {
	padding: 20px;
}

.listBlue {
	margin: 0 0 15px 0;
}

.listBlue dt {
	margin: 0 0 5px 0;
	color: #2E3EB7;
	font-weight: bold;
}

.tablePlain th {
	padding: 0 15px 0 0;
	background-color: transparent;
	border-width: 0;
}

.tablePlain td {
	padding: 0;
	background-color: transparent;
	border-width: 0;
}

/* =======================================

	下付き・上付き小文字調整

========================================== */

/*IE10対策*/
_:-ms-lang(x), body sub, .boxHomeWrapper sub, .titPage sub {
	bottom: .2em;
}

/*IE11対策*/
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .boxContentsWrapper sub, .boxHomeWrapper sub, .titPage sub {
    bottom: .2em;
  }
}

@supports (-ms-ime-align: auto) {
  .boxContentsWrapper sub, .boxHomeWrapper sub, .titPage sub {
    bottom: .6em;
  }
}

/* =======================================

	トップページ

========================================== */

.boxHomeSports {
  text-align: center;
  padding-bottom: 20px;
}

.boxHomeSports .bnrSports {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.boxHomeSports .bnrSports li {
  width: 320px;
  margin-bottom: 20px;
}

.boxHomeSports .bnrSports li:nth-child(3n+1) {
  margin-right: 30px;
}

.boxHomeSports .bnrSports li:nth-child(3n) {
  margin-left: 30px;
}

.boxHomeSports .bnrSports li:last-child {
  margin-left: 30px;
}

.boxHomeSports .textSports {
  line-height: 1.6;
}

#fade {
	width: 100%;
	height: 100%;
	display: block;
	background-color: #FFFFFF;
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 1000000;
}

#spinner {
	width: 40px;
	height: 40px;
	background-color: #10208B;
	z-index: 100000000;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -20px 0 0 -20px;
	-webkit-animation: sk-rotateplane 1.2s infinite ease-in-out;
	animation: sk-rotateplane 1.2s infinite ease-in-out;
}

@-webkit-keyframes sk-rotateplane {
	0% {
		-webkit-transform: perspective(120px)
	}
	50% {
		-webkit-transform: perspective(120px) rotateY(180deg)
	}
	100% {
		-webkit-transform: perspective(120px) rotateY(180deg) rotateX(180deg)
	}
}

@keyframes sk-rotateplane {
	0% {
		transform: perspective(120px) rotateX(0deg) rotateY(0deg);
		-webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg)
	}
	50% {
		transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
		-webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg)
	}
	100% {
		transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
		-webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
	}
}

.boxHomeMain {
	position: relative;
}

.boxHomeMain .slider div {
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}

.boxHomeMain a .text {
	width: 1020px;
	position: absolute;
	color: #ffffff;
	top: 35%;
	left: 50%;
	margin: 0 0 0 -510px;
	z-index: 100;
}

.boxHomeMain a .text h2 {
	font-size: 33px;
	line-height: 140%;
	margin: 0 0 60px 0;
	z-index: 100;
}

.boxHomeMain a .text p {
	border-width: 1px;
	border-style: solid;
	border-color: #ffffff;
	text-align: center;
	width: 258px;
	height: 44px;
	box-sizing: border-box;
	padding: 14px 0 0 0;
	font-family: 'Oswald', sans-serif;
	z-index: 100;
}

.boxHomeMain a:hover .text p {
	background-color: #ffffff;
	color: #333333;
}

.boxHomeWrapper {
	padding: 5px 0 0 0;
	position: relative;
}

.boxHomeWrapper:before {
	content: "";
	display: block;
	width: 680px;
	height: 100%;
	background-color: #f4f4f4;
	position: absolute;
	top: 0;
	left: 50%;
	margin: 0 0 0 -170px;
	z-index: 1;
}

.titHome {
	font-size: 13px;
	margin: 0 auto 40px auto;
	width: 1020px;
	position: relative;
	z-index: 2;
}

.titHome font {
	color: #10208B;
	display: inline-block;
	font-family: 'Oswald', sans-serif;
	font-weight: bold;
	margin: 0 20px 0 0;
	font-size: 28px;
	vertical-align: text-bottom;
}

.boxHomeMarginBox {
	position: relative;
	z-index: 2;
}

.boxHomeSolution {
	margin: 0 0 100px 0;
	padding: 60px 0 60px 60px;
	background-image: url(img/home/pic_solution.jpg);
	background-repeat: no-repeat;
	background-size: cover;
}

.boxHomeSolution h3 {
	color: #ffffff;
	margin: 0 0 50px 0;
	line-height: 140%;
	font-size: 23px;
}

.boxHomeSolution ul {
	display: inline-block;
}

.boxHomeSolution ul li {
	width: 33.33%;
	float: left;
	border-width: 0 1px 0 0;
	border-style: solid;
	border-color: #000000;
	box-sizing: border-box;
}

.boxHomeSolution ul li:last-child {
	border-width: 0;
}

.boxHomeSolution ul li a {
	display: block;
	height: 245px;
	box-sizing: border-box;
	padding: 40px;
	color: #ffffff;
}

.boxHomeSolution ul li a:hover {
	text-decoration: none;
	opacity: 0.6;
}

.boxHomeSolution ul li dl dt {
	font-size: 18px;
	margin: 0 0 30px 0;
}

.boxHomeSolution ul li dl dd {
	line-height: 150%;
}

.boxHomeSolution ul li dl span {
	display: block;
	border-width: 1px;
	border-style: solid;
	border-color: #ffffff;
	margin: 20px 0 0 0;
	padding: 5px 0 5px 0;
	text-align: center;
}

.boxHomeService {
	margin: 0 0 100px 0;
	padding: 60px 0 60px 60px;
	background-image: url(img/home/pic_service.jpg);
	background-repeat: no-repeat;
	background-size: cover;
}

.boxHomeService ul {
	display: inline-block;
	margin: 0 0 40px 0;
}

.boxHomeService ul li,
.boxUnderService ul li {
	width: 25%;
	float: left;
	box-sizing: border-box;
	border-width: 0 1px 0 0;
	border-style: solid;
	border-color: #000000;
}

.boxUnderService ul li {
	width: 25%;
}

.boxHomeService ul li:last-child,
.boxUnderService ul li:last-child {
	border-width: 0;
}

.boxHomeService ul li a,
.boxUnderService ul li a {
	display: block;
	position: relative;
	height: 252px;
	padding: 110px 30px 30px 30px;
	box-sizing: border-box;
	color: #ffffff;
	background-repeat: no-repeat;
	background-position: center 40px;
	background-size: 30px 30px;
	background-image: url(img/home/ico_01.svg);
}

.boxHomeService ul li:nth-child(2) a,
.boxUnderService ul li:nth-child(2) a {
	background-image: url(img/home/ico_02.svg);
}

.boxHomeService ul li:nth-child(3) a,
.boxUnderService ul li:nth-child(3) a {
	background-image: url(img/home/ico_03.svg);
}

.boxHomeService ul li:nth-child(4) a,
.boxUnderService ul li:nth-child(4) a {
	background-image: url(img/home/ico_04.svg);
}

.boxHomeService ul li a:hover,
.boxUnderService ul li a:hover {
	text-decoration: none;
	opacity: 0.6;
}

.boxHomeService ul li a dl dt,
.boxUnderService ul li a dl dt {
	text-align: center;
	font-size: 24px;
	margin: 0 0 20px 0;
}

.boxHomeService ul li a dl dd,
.boxUnderService ul li a dl dd {
	font-size: 13px;
	line-height: 150%;
}

.boxHomeService h3 {
	color: #ffffff;
	font-weight: bold;
	margin: 0 0 20px 0;
}

.boxHomeService p {
	color: #ffffff;
	line-height: 150%;
	max-width: 960px;
}

.boxHomeSales {
	position: relative;
	z-index: 2;
	max-width: 1020px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
}

.boxHomeSales dl {
	box-sizing: border-box;
	width: 50%;
	background-image: url(img/home/pic_sales_01.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	padding: 60px 40px 40px 40px;
	color: #ffffff;
	margin-bottom: 10px;
}

.boxHomeSales dl:nth-child(2) {
	background-image: url(img/home/pic_sales_02.jpg);
}

.boxHomeSales dl:nth-child(3) {
	background-image: url(img/home/pic_sales_03.jpg);
	background-color: #fff;
	color: #000;
	border: 1px solid #ccc;
/*	margin-bottom: 0;*/
}

.boxHomeSales dl:nth-child(4) {
	background-image: url(img/home/pic_sales_04.jpg);
    background-size: 100% 100%;
}

.boxHomeSales dl dt {
	font-size: 20px;
	margin: 0 0 30px 0;
}

.boxHomeSales dl dd {
	line-height: 150%;
}

.boxHomeSales dl dd ul {
	display: block;
	margin: 20px 0 0 0;
}

.boxHomeSales dl dd ul li {
	float: left;
	width: 50%;
	border-width: 0 1px 0 0;
	border-style: solid;
	border-color: #000000;
	box-sizing: border-box;
}

.boxHomeSales dl:nth-child(3) dd ul li {
	width: 60%;
}

.boxHomeSales dl:nth-child(4) dd ul li {
	width: 60%;
}

.boxHomeSales dl dd ul li:last-child {
	border-width: 0;
}

.boxHomeSales dl dd ul li a {
	color: #ffffff;
	text-align: center;
	display: block;
	font-size: 18px;
	padding: 30px 0 30px 0;
}

.boxHomeSales dl dd ul li a:hover {
	opacity: 0.6;
	text-decoration: none;
}

.boxHomeNewsWrapper {
	max-width: 1020px;
	margin: 80px auto 100px auto;
}

.boxHomeNewsWrapper header {
	margin: 0 0 30px 0;
	position: relative;
}

.boxHomeNewsWrapper header a {
	position: absolute;
	top: 0;
	right: 0;
	display: inline-block;
	color: #ffffff;
	padding: 10px 35px;
	font-size: 13px;
	z-index: 2;
}

.boxHomeNewsWrapper header a:hover {
	opacity: 0.7;
	text-decoration: none;
}

.boxHomeBannerWrapper {
	margin: 60px auto 80px auto;
	max-width: 1020px;
	overflow: hidden;
}

.boxHomeBannerWrapper .left {
	float: left;
	width: 47%;
}

.boxHomeBannerWrapper .left img {
	width: 100%;
	height: auto;
}

.boxHomeBannerWrapper .left a {
	position: relative;
	text-decoration: none;
	color: #ffffff;
	display: block;
}

.boxHomeBannerWrapper .left a:hover {
	opacity: 0.7;
}

.boxHomeBannerWrapper .left a dl {
	position: absolute;
	top: 20%;
	left: 45%;
}

.boxHomeBannerWrapper .left a dl dt {
	font-family: 'Oswald', sans-serif;
	font-weight: bold;
	font-size: 28px;
	margin: 0 0 20px 0;
}

.boxHomeBannerWrapper .left a dl dd {
	font-size: 13px;
	line-height: 150%;
}

.boxHomeBannerWrapper .right {
	float: right;
	width: 47%;
	height: 100%;
	position: relative;
}

.boxHomeBannerWrapper .right img {
	width: 100%;
	height: auto;
	position: absolute;
	top: 0;
	left: 0;
}

.boxHomeBannerWrapper .right a {
	position: relative;
	color: #ffffff;
	display: block;
}

.boxHomeBannerWrapper .right a:hover {
	opacity: 0.7;
}

.boxHomeBannerWrapper .right a dl {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	padding: 30px;
}

.boxHomeBannerWrapper .right a dl dt {
	font-family: 'Oswald', sans-serif;
	font-weight: bold;
	font-size: 18px;
	margin: 0 0 15px 0;
}

.boxHomeBannerWrapper .right a dl dd {
	font-size: 23px;
}

.imgResponsive {
  width: 100%;
  height: auto;
}

.bnrCenter {
  width: 480px;
  margin: 0 auto;
}

/* =======================================

	Service 加工技術

========================================== */

.boxService01 p {
	margin: 0;
}

.boxService02 {
	background-color: #F4F4F4;
	position: relative;
	margin: 0 0 20px 0;
	padding: 40px 40px 60px 40px
}

.boxService02 figure {
	float: left;
	width: 20%;
}

.boxService02 figure img {
	width: 100%;
	height: auto;
}

.boxService02 .text {
	float: right;
	width: 78%;
}

.boxService02 .text h3 {
	color: #2E3EB7;
	font-size: 23px;
	line-height: 130%;
	margin: 0 0 15px 0;
}

.boxService02 .text p {
	margin: 0 0 18px 0;
}

.boxService02 .text dl dt {
	color: #2E3EB7;
	font-weight: bold;
	margin: 0 0 5px 0;
	line-height: 150%;
}

.boxService02 .text dl dd {
	line-height: 150%;
	margin: 0 0 20px 0;
}

.boxService02 .text dl dd font {
	font-weight: bold;
}

.boxService02 .text dl dd.material {
	margin: 0;
}

.boxService02 .text dl dd.material span {
	display: none;
}

.boxService02 p.link {
	clear: both;
	position: absolute;
	bottom: 0;
	right: 0;
	margin: 0;
}

.boxService02 p.link a {
	color: #ffffff;
	text-decoration: none;
	font-size: 13px;
	display: block;
	width: 256px;
	height: 56px;
	text-align: center;
	box-sizing: border-box;
	padding: 20px 0 0 0;
}

.boxService02 p.link a:hover {
	opacity: 0.8;
}

.boxService03 {
	position: relative;
}

.boxService03 p {
	margin: 0;
}

.boxService03 a {
	display: inline-block;
	position: absolute;
	top: 0;
	right: 0;
	color: #ffffff;
	font-size: 13px;
	padding: 20px 55px;
}

.boxService03 a:hover {
	text-decoration: none;
	opacity: 0.8;
}

.boxService04 {
	display: flex;
	/* Safari */
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	/* Safari */
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.boxService04 a {
	display: block;
	width: 32.2%;
	background-color: #F4F4F4;
	position: relative;
	color: #333333;
	box-sizing: border-box;
	padding: 0 30px 0 30px;
	margin: 0 1.55% 30px 0;
}

.boxService04 a:nth-child(3n) {
	margin: 0 0 30px 0;
}

.boxService04 a:hover {
	text-decoration: none;
	opacity: 0.7;
}

.boxService04 a figure {
	margin: 20px 0 15px 0;
}

.boxService04 a figure img {
	width: 100%;
}

.boxService04 a em {
	display: block;
	margin: 30px 0 30px 0;
	color: #2E3EB7;
	font-size: 22px;
	line-height: 110%;
}

.boxService04 a em small {
	font-size: 14px;
	font-weight: bold;
}

.boxService04 a span {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 40px;
	height: 40px;
	color: #ffffff;
	display: block;
	text-align: center;
	font-size: 20px;
	box-sizing: border-box;
	padding: 10px 0 0 0;
}

.boxService05 {
	margin: 0 0 40px 0;
}

.boxService05 .left {
	width: 30%;
	float: left;
}

.boxService0502 .left {
	width: 48%;
}

.boxService05 .left img {
	width: 100%;
	height: auto;
}

.boxService05 .right {
	float: right;
	width: 65%;
}

.boxService0502 .right {
	width: 48%;
}

.boxService05 .right p {
	margin: 0 0 25px 0;
}

.boxService05 .right figure {
	width: 30%;
}

.boxService0502 .right figure {
	width: 45%;
}

.boxService05 .right figure img {
	width: 100%;
	height: auto;
}

.boxService05 figure figcaption {
	font-size: 13px;
	line-height: 130%;
	display: block;
	margin: 10px 0 0 0;
}

.boxService06 ul {
	border-width: 1px 1px 0 0;
	border-style: solid;
	border-color: #AAAAAA;
	margin: 0 0 30px 0;
}

.boxService06 ul li {
	box-sizing: border-box;
	float: left;
	width: 25%;
	padding: 15px;
	border-width: 0 0 1px 1px;
	border-style: solid;
	border-color: #AAAAAA;
}

.boxService07 {
	position: relative;
}

.boxService07 .btn01 {
	position: absolute;
	right: 40px;
	bottom: 40px;
}

.boxService07 p:last-child {
	margin: 0;
}

.boxService08 h3 {
	margin: 0 0 20px 0;
	padding: 0 0 0 25px;
	font-size: 18px;
	font-weight: bold;
	line-height: 130%;
	position: relative;
	background-image: url(img/common/ico_arrow.jpg);
	background-size: 18px 18px;
	background-repeat: no-repeat;
	background-position: 0 0.1em;
}

.boxServiceLink {
	background-color: #F4F4F4;
	padding: 80px 0;
}

.boxServiceLink .wrapper {
	max-width: 1020px;
	margin: 0 auto;
}

.boxServiceLink dl.link {
	margin: 0 0 20px 0;
}

.boxServiceLink dl.link dt {
	color: #2E3EB7;
	line-height: 140%;
	margin: 0 0 15px 0;
	font-weight: bold;
}

.boxServiceLink dl.link dd {
	line-height: 140%;
	display: inline-block;
	margin: 0 35px 15px 0;
	padding: 0 0 0 20px;
	background-image: url(img/common/ico_arrow.jpg);
	background-repeat: no-repeat;
	background-size: 14px 14px;
	background-position: 0 0.2em;
}

/* =======================================

	会社案内

========================================== */

.boxMessage header {
	position: relative;
	margin: 0 0 30px 0;
}

.boxMessage header figure {
	width: 60%;
	margin: 0 0 0 auto;
}

.boxMessage header figure img {
	width: 100%;
	height: auto;
}

.boxMessage header div {
	position: absolute;
	top: 20px;
	left: 0;
}

.boxMessage header h2 {
	font-size: 22px;
	line-height: 130%;
	margin: 0 0 18px 0;
}

.boxStructure img {
	width: 80%;
	height: auto;
	margin: 0 auto;
	display: block;
}

.boxPrinciple01 img {
	width: auto;
	height: 110px;
}

.boxOutline01 {
	margin: 0 0 40px 0;
}

.boxOutline01 img {
	width: 240px;
	height: auto;
	float: left;
	margin: 0 20px 0 0;
}

.boxOutline01 figcaption {
	line-height: 150%;
}

.boxOutline02 figure {
	width: 32%;
	margin: 0 2% 30px 0;
	float: left;
}

.boxOutline02 figure img {
	width: 100%;
	height: auto;
}

.boxOutline02 figure:nth-child(3n) {
	margin: 0 0 30px 0;
}

.boxOutline02 figure:nth-child(3n+1) {
	clear: both;
}

.boxOutline02 figure figcaption {
	display: block;
	margin: 10px 0 0 0;
}

.boxOutline03 {
	margin: 0 0 30px 0;
}

.boxOutline03 iframe {
	width: 100%;
	height: 400px;
}

.boxOutline04 {
	margin: 0 0 30px 0;
	width: 100%;
	height: 400px;
}

.boxClening01 img {
	float: left;
	width: 48%;
	height: auto;
	margin: 0 20px 20px 0;
}

/* =======================================

	光学薄膜製品・中古機械の販売

========================================== */

.boxSales01 figure {
	width: 40%;
	float: right;
}

.boxSales01 figure img {
	width: 100%;
	height: auto;
}

.boxSales01 .text {
	float: left;
	width: 55%;
}

.boxSales02 figure {
	width: 20%;
	float: right;
	margin: 0 0 40px 0;
}

.boxSales01 figure img,
.boxSales02 figure img {
	width: 100%;
	height: auto;
}

.boxSales02 .text {
	float: left;
	width: 75%;
}

/* =======================================

	新素材・開発素材の加工

========================================== */

.new-material .main h3 {
	font-size: 31px;
	line-height: 140%;
	position: relative;
	margin: 0 10px 35px;
	padding: 35px 0 0 0;
	background-color: inherit;
}

.new-material .main h3:after {
	content: "";
	width: 100px;
	height: 4px;
	display: block;
	background-color: #2E3EB7;
	position: absolute;
	top: 0;
	left: 0;
}

.boxNewMaterial01 h3 {
	font-size: 31px;
	line-height: 140%;
	position: relative;
	margin: 0 0 35px 0;
	padding: 35px 0 0 0;
}

.boxNewMaterial01 h3:after {
	content: "";
	width: 100px;
	height: 4px;
	display: block;
	background-color: #2E3EB7;
	position: absolute;
	top: 0;
	left: 0;
}

/* =======================================

	お知らせ

========================================== */

.boxNewsIndex {
	margin: 0 0 30px 0;
	border-width: 1px 0 0 0;
	border-style: solid;
	border-color: #EAEAEA;
}

.boxNewsIndex dl {
	border-width: 0 0 1px 0;
	border-style: solid;
	border-color: #EAEAEA;
	padding: 20px 0 20px 0;
	display: table;
	line-height: 140%;
	width: 100%;
}

.boxNewsIndex dl dt {
	width: 160px;
	display: table-cell;
}

.mpsnews .boxNewsIndex dl dt {
	width: 80px;
}

.boxNewsIndex dl dt time {
	font-family: 'Oswald', sans-serif;
	width: 70px;
	white-space: nowrap;
	font-size: 15px;
	display: inline-block;
}

.boxNewsIndex dl dt .cat {
	white-space: nowrap;
	font-size: 13px;
}

.boxNewsIndex dl dd {
	display: table-cell;
}

.boxPagenate {
	margin: 0 0 100px 0;
	display: flex;
	/* Safari */
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.boxPagenate a {
	color: #ffffff;
}

.boxPagenate a:hover {
	text-decoration: none;
	opacity: 0.7;
}

.boxPagenate .prev a {
	width: 140px;
	text-align: center;
	position: relative;
	display: block;
	padding: 12px 0 0 0;
	height: 40px;
	box-sizing: border-box;
}

.detail .boxPagenate .prev a {
	width: 200px;
}

.boxPagenate .prev a .svg-inline--fa {
	position: absolute;
	left: 12px;
	top: 12px;
}

.boxPagenate .number {
	display: flex;
}

.boxPagenate .number a {
	box-sizing: border-box;
	width: 40px;
	height: 40px;
	text-align: center;
	margin: 0 2.5px;
	padding: 12px 0 0 0;
	display: block;
}

.boxPagenate .number a.active {
	border-width: 1px;
	border-style: solid;
	border-color: #265AA4;
	color: #333333;
	background: #fff;
}

.boxPagenate .next a {
	width: 140px;
	text-align: center;
	position: relative;
	display: block;
	padding: 12px 0 0 0;
	height: 40px;
	box-sizing: border-box;
}

.detail .boxPagenate .next a {
	width: 200px;
}

.boxPagenate .back a {
	width: 200px;
	text-align: center;
	position: relative;
	display: block;
	padding: 12px 0 0 0;
	height: 40px;
	box-sizing: border-box;
}

.boxPagenate .next a .svg-inline--fa {
	position: absolute;
	right: 12px;
	top: 12px;
}

.boxNewsDetail header {
	margin: 0 0 20px 0;
}

.boxNewsDetail header time {
	font-family: 'Oswald', sans-serif;
	white-space: nowrap;
	font-size: 15px;
	display: inline-block;
	margin: 0 10px 0 0;
}

.boxNewsDetail header .cat {
	white-space: nowrap;
	font-size: 13px;
}

/* =======================================

	MPS News

========================================== */

.boxMpsNews figure {
	float: right;
	width: 35%;
}

.boxMpsNews figure img {
	width: 100%;
	height: auto;
}

.boxMpsNews .text {
	float: left;
	width: 60%;
}

/* =======================================

	設備一覧

========================================== */

.boxEquipment01 figure {
	float: right;
	width: 35%;
}

.boxEquipment01 figure img {
	width: 100%;
	height: auto;
}

.boxEquipment01 .left {
	float: left;
	width: 60%;
}

/* =======================================

	採用情報

========================================== */

.boxRecruitLink {
	margin: 100px 0 100px 0;
}

.boxRecruitLink ul li {
	float: left;
	width: 50%;
}

.boxRecruitLink ul li a {
	display: block;
	text-align: center;
	color: #ffffff;
	transition: all 0.5s ease 0s;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	font-size: 22px;
	display: block;
	padding: 48px 0;
}

.boxRecruitLink ul li:first-child a {
	border-width: 0 1px 0 0;
	border-style: solid;
	border-color: #ffffff;
}

.boxRecruitLink ul li a:hover {
	text-decoration: none;
	opacity: 0.7;
}

.btnGraduate {
	text-align: center;
}

.btnGraduate a {
	display: block;
	width: 50%;
	margin: 0 25%;
	box-sizing: border-box;
	color: #ffffff;
	font-size: 20px;
	line-height: 100%;
	padding: 30px 0;
	transition: all 0.5s ease 0s;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
}

.btnGraduate a:hover {
	opacity: 0.8;
	text-decoration: none;
}

.imgListWork {
	margin: 0 0 20px 0;
}

.imgListWork li {
	width: 48.5%;
	float: left;
	margin: 0 0 20px 0;
}

.imgListWork li img {
	width: 100%;
	height: auto;
}

.imgListWork li:nth-child(2n) {
	float: right;
}

.imgListWork li:nth-child(2n+1) {
	clear: both;
}

.naviPhoto {
	margin: 0 0 45px 0;
}

.naviPhoto li {
	float: left;
	border-width: 0 1px 0 0;
	border-style: solid;
	border-color: #BEBEBE;
	margin: 0 15px 0 0;
	padding: 0 15px 0 0;
	font-size: 16px;
}

.naviPhoto li:last-child {
	border-width: 0;
}

.naviPhoto li .svg-inline--fa {
	margin: 0 5px 0 0;
}

.naviPhoto i {
	color: #2E3EB7;
}

.boxPhoto {
	margin: 0 0 40px 0;
}

.boxPhoto div {
	margin-bottom: 20px;
}

.boxPhoto div img {
	width: 100%;
	height: auto;
}

.boxPhoto dl {
	margin: 15px 0 12px 0;
	line-height: 140%;
}

.boxPhoto dl dt {
	font-size: 16px;
	margin: 0 0 12px 0;
}

.boxPhoto dl dd {
	font-size: 13px;
}

.boxPhoto p {
	position: relative;
}

.boxPhoto p .cat {
	font-size: 12px;
	display: inline-block;
	padding: 8px 10px;
	background-color: #E5E5E5;
}

.boxPhoto p .date {
	font-size: 11px;
	position: absolute;
	bottom: 0;
	right: 0;
}

.boxEnvironment01 figure {
	float: right;
	width: 18%;
}

.boxEnvironment01 figure img {
	width: 100%;
	height: auto;
}

.boxEnvironment01 div {
	float: left;
	width: 80%;
}

.boxEnvironment02 figure {
	float: left;
	width: 15%;
}

.boxEnvironment02 figure img {
	width: 100%;
	height: auto;
}

.boxEnvironment02 div {
	float: right;
	width: 82%;
}

.boxRecruitIndex01 {
	background-image: url(img/recruit/pic_index_main_pc.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.boxRecruitIndex01 .inner {
	max-width: 1020px;
	margin: 0 auto;
	height: 350px;
	color: #ffffff;
	box-sizing: border-box;
	padding: 100px 0 0 0;
}

.boxRecruitIndex01 .inner h1 {
	font-size: 16px;
	margin: 0 0 25px 0;
}

.boxRecruitIndex01 .inner h1 font {
	font-family: 'Oswald', sans-serif;
	font-size: 18px;
	display: inline-block;
	margin: 0 12px 0 0;
	font-weight: bold;
}

.boxRecruitIndexNews {
	background-color: #F4F4F4;
	margin: -90px 0 60px 0;
}

.boxRecruitIndexNews .left {
	box-sizing: border-box;
	float: left;
	width: 75%;
	padding: 30px 30px 30px 40px;
}

.titRecruitIndex {
	margin: 0 0 30px 0;
	line-height: 140%;
	font-size: 13px;
	vertical-align: middle;
}

.titRecruitIndex font {
	font-family: 'Oswald', sans-serif;
	font-size: 28px;
	display: inline-block;
	margin: 0 12px 0 0;
	font-weight: bold;
	color: #10208B;
	vertical-align: text-bottom;
}

.boxRecruitIndexNews .left dl dt {
	font-family: 'Oswald', sans-serif;
	margin: 0 0 10px 0;
	font-size: 15px;
}

.boxRecruitIndexNews .left dl dd {
	line-height: 140%;
}

.boxRecruitIndexNews ul {
	width: 25%;
	float: right;
}

.boxRecruitIndexNews ul li {
	border-width: 0 0 1px 0;
	border-style: solid;
	border-color: #ffffff;
}

.boxRecruitIndexNews ul li:last-child {
	border-width: 0;
}

.boxRecruitIndexNews ul li a {
	display: block;
	color: #ffffff;
	text-align: center;
	font-size: 16px;
	padding: 25px 0;
}

.boxRecruitIndexNews ul li:last-child a {
	padding: 15px 0;
}

.boxRecruitIndexNews ul li a:hover {
	text-decoration: none;
	opacity: 0.8;
}

.boxRecruitIndexMessage {
	background-color: #F4F4F4;
	position: relative;
	margin: 0 0 80px 0;
	padding: 40px 0 40px 40px;
}

.boxRecruitIndexMessage:before {
	content: "";
	display: block;
	width: 25%;
	height: 100%;
	background-color: #ffffff;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
}

.boxRecruitIndexMessage figure {
	float: right;
	width: 70%;
	position: relative;
	z-index: 3;
}

.boxRecruitIndexMessage figure img {
	width: 100%;
	height: auto;
}

.boxRecruitIndexMessage .text {
	float: left;
	width: 27%;
	position: relative;
	z-index: 3;
}

.boxRecruitIndexMessage p {
	line-height: 140%;
}

.boxRecruitIndexMessage p.btn {
	margin: 25px 0 0 0;
	text-align: center;
}

.boxRecruitIndexMessage p.btn a {
	color: #ffffff;
	display: block;
	width: 80%;
	padding: 18px 0;
	font-size: 13px;
}

.boxRecruitIndexMessage p.btn a:hover {
	text-decoration: none;
	opacity: 0.8;
}

.boxRecruitIndexVision {
	position: relative;
	margin: 0 0 80px 0;
	padding: 40px 0 40px 0;
}

.boxRecruitIndexVision:before {
	content: "";
	display: block;
	width: 76%;
	height: 80%;
	background-color: #F4F4F4;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
}

.boxRecruitIndexVision figure {
	float: left;
	width: 49%;
	z-index: 3;
	position: relative;
}

.boxRecruitIndexVision figure img {
	width: 100%;
	height: auto;
}

.boxRecruitIndexVision figure ul li:first-child {
	margin: 0 0 10px 0;
}

.boxRecruitIndexVision figure ul li:nth-child(2) {
	float: left;
	width: 49%;
}

.boxRecruitIndexVision figure ul li:nth-child(3) {
	float: right;
	width: 49%;
}

.boxRecruitIndexVision .text {
	float: right;
	width: 49%;
	position: relative;
	z-index: 3;
	box-sizing: border-box;
	padding: 0 40px 0 0;
}

.boxRecruitIndexVision .text p {
	line-height: 140%;
	margin: 0 0 20px 0;
}

.boxRecruitIndexVision .text p img {
	width: 100%;
	height: auto;
}

.boxRecruitIndexVision .text p.btn a {
	text-align: center;
	width: 50%;
	font-size: 13px;
	padding: 20px 0 20px 0;
	display: block;
	color: #ffffff;
}

.boxRecruitIndexVision .text p.btn a:hover {
	text-decoration: none;
	opacity: 0.8;
}

.boxRecruitIndexLink {
	margin: 0 0 80px 0;
}

.boxRecruitIndexLink li {
	float: left;
	width: 50%;
}

.boxRecruitIndexLink li a {
	display: block;
	position: relative;
}

.boxRecruitIndexLink li a:hover {
	text-decoration: none;
	opacity: 0.8;
}

.boxRecruitIndexLink li a img {
	width: 100%;
	height: auto;
}

.boxRecruitIndexLink li a span {
	color: #ffffff;
	font-size: 18px;
	width: 320px;
	display: block;
	padding: 30px 0;
	text-align: center;
	position: absolute;
	bottom: 0;
	right: 0;
}

.boxRecruitGallery {
	margin: 0 0 80px 0;
}

.boxRecruitGallery .slider dl {
	margin: 15px 0 12px 0;
	line-height: 140%;
}

.boxRecruitGallery .slider dl dt {
	font-size: 16px;
	margin: 0 0 12px 0;
}

.boxRecruitGallery .slider dl dd {
	font-size: 13px;
}

.boxRecruitGallery .slider p {
	position: relative;
}

.boxRecruitGallery .slider p .cat {
	font-size: 12px;
	display: inline-block;
	padding: 8px 10px;
	background-color: #E5E5E5;
}

.boxRecruitGallery .slider p .date {
	font-size: 11px;
	position: absolute;
	bottom: 0;
	right: 0;
}

.boxRecruitGallery .btn a {
	text-align: center;
	width: 256px;
	font-size: 13px;
	margin: 0 0 0 auto;
	padding: 20px 0 20px 0;
	display: block;
	color: #ffffff;
}

.boxRecruitGallery .btn a:hover {
	text-decoration: none;
	opacity: 0.8;
}

.boxMessage01 {
	margin: 0 0 60px 0;
}

.boxMessage01 figure {
	margin: 0 0 0 15%;
	position: relative;
	z-index: 2;
}

.boxMessage01 figure img {
	width: 100%;
	height: auto;
}

.boxMessage01 div {
	margin: -40px 15% 0 0;
	padding: 80px 40px 40px 40px;
	background-color: #F4F4F4;
	position: relative;
	z-index: 1;
}

.boxMessage01 div p {
	line-height: 160%;
}

.boxMessage02 {
	margin: 0 0 60px 0;
	padding: 0 8%;
}

.boxMessage02 ul li {
	float: left;
	width: 21.25%;
	margin: 0 5% 0 0;
	text-align: center;
}

.boxMessage02 ul li:last-child {
	margin: 0;
}

.boxMessage02 ul li img {
	width: 100%;
	height: auto;
}

.boxMessage02 ul li figcaption {
	display: block;
	line-height: 160%;
	font-size: 12px;
	margin: 15px 0 0 0;
}

.boxMessage02 ul li figcaption font {
	font-size: 14px;
	color: #2E3EB7;
	font-weight: bold;
	display: inline-block;
	margin: 0 0 5px 0;
}

.boxMessage03 {
	margin: 0 0 40px 0;
}

.boxMessage03 figure {
	float: left;
	width: 49%;
}

.boxMessage03 figure:nth-child(2n) {
	float: right;
}

.boxMessage03 figure img {
	width: 100%;
	height: auto;
}

.boxMessage04 dt {
	line-height: 180%;
	color: #2E3EB7;
	font-weight: bold;
	clear: both;
	float: left;
	width: 10%;
}

.boxMessage04 dd {
	float: right;
	width: 90%;
	line-height: 180%;
	font-size: 16px;
	margin: 0 0 30px 0;
}

.boxRecruitMovie {
  margin: 0 0 60px 0;
}

.movieResponsiveWrapper {
  width: 600px;
  margin: 0 auto;
}

.movieResponsive {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.movieResponsive iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}


/* =======================================

	品質保証

========================================== */

.boxQuality01 div {
	float: left;
	width: 32%;
	margin: 0 2% 0 0;
}

.boxQuality01 div:nth-child(3n) {
	margin: 0;
}

.boxQuality01 div:nth-child(3n+1) {
	clear: both;
}

.boxQuality01 div figure img {
	width: 100%;
	height: auto;
}

.boxQuality01 div figure figcaption {
	color: #2E3EB7;
	display: block;
	line-height: 140%;
	margin: 15px 0;
}

/* =======================================

	お問い合わせ

========================================== */

.boxForm .status span {
	display: inline-block;
	vertical-align: middle;
	margin: 0 5px;
	padding: 4px 16px;
	background-color: #D8EFFA;
	font-size: 12px;
}

.boxForm .status span:first-child {
	margin: 0 5px 0 0;
}

.boxForm .status span.active {
	background-color: #83CBED;
}

.boxForm .table01 th {
	position: relative;
}

.boxForm .table01 th .caution {
	position: absolute;
	top: 20px;
	right: 20px;
}

.boxForm .caution,
.boxForm .message,
.boxForm .transaction-notice-error,
.boxForm .v-result-0,
.boxForm .v-result-error,
.boxForm .validator-result-0,
.boxForm .validator-result-error {
	color: #CC0000;
}

.boxForm .error-text {
	margin: 0;
}

.boxForm .caption {
	display: inline-block;
	margin: 5px 0 0 0;
}

.inputText01 {
	background-color: #F0F0F0;
	border-width: 1px;
	border-style: solid;
	border-color: #A7A7A7;
	padding: 3px;
	box-sizing: border-box;
	width: 100%;
	max-width: 670px;
	display: block;
}

.inputText02 {
	background-color: #F0F0F0;
	border-width: 1px;
	border-style: solid;
	border-color: #A7A7A7;
	padding: 3px;
	box-sizing: border-box;
	width: 156px;
	margin: 0 0 10px 0;
}

.inputText03 {
	background-color: #F0F0F0;
	border-width: 1px;
	border-style: solid;
	border-color: #A7A7A7;
	padding: 3px;
	box-sizing: border-box;
	width: 260px;
	margin: 0 0 10px 0;
}

.inputText04 {
	background-color: #F0F0F0;
	border-width: 1px;
	border-style: solid;
	border-color: #A7A7A7;
	padding: 3px;
	box-sizing: border-box;
	width: 80px;
}

.inputText05 {
	background-color: #F0F0F0;
	border-width: 1px;
	border-style: solid;
	border-color: #A7A7A7;
	padding: 3px;
	box-sizing: border-box;
	width: 260px;
	margin: 0 0 10px 0;
}

.label01 {
	margin: 0 30px 0 0;
}

.label02 {
	margin: 0 10px 0 0;
}

.textarea01 {
	background-color: #F0F0F0;
	border-width: 1px;
	border-style: solid;
	border-color: #A7A7A7;
	padding: 3px;
	box-sizing: border-box;
	width: 100%;
	max-width: 670px;
	display: block;
	height: 230px;
}

.form-btn {
	display: inline-block;
}

.submitBtn {
	width: 315px;
	border-width: 0;
	cursor: pointer;
	transition: all 0.5s ease 0s;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	padding: 18px 0;
}

.submitBtn:hover {
	opacity: 0.8;
}