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

.sp {
	display: block;
}

.spBlock {
	display: block;
}

.spNone {
	display: none !important;
}

body {
	-webkit-text-size-adjust: 100%;
}

a {
	-webkit-transition: all 0 ease;
	-moz-transition: all 0 ease;
	-o-transition: all 0 ease;
}

a img {
	-webkit-transition: all 0 ease;
	-moz-transition: all 0 ease;
	-o-transition: all 0 ease;
}

input[type="text"],
textarea {
	border-radius: 0;
	-webkit-appearance: none;
}

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

	Structure CSS

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

.acms-container {
	padding-right: 10px;
	padding-left: 10px;
}

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

	Header CSS

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

.boxNavi .headerInquiry {
	padding: 20px 20px 20px 20px;
}

.boxNavi .headerInquiry li {
	width: 49%;
	float: left;
}

.boxNavi .headerInquiry li:last-child {
	float: right;
}

.boxNavi .headerInquiry a {
	width: 100%;
}

.boxNavi .headerInquiry li:first-child {
	display: block;
}

.boxNavi .headerInquiry li span {
	display: inline-block;
	position: relative;
}

.boxNavi .headerInquiry li .svg-inline--fa {
	margin-right: 0.75em;
}

.boxNavi .headerInquiry li span:before {
	display: none;
}

.boxNavi .headerInquiry li span:before {
	content: '\f095';
	font-family: "Font Awesome 5 Solid";
}

.boxNavi .headerInquiry li:last-child span:before {
	content: "\f0e0";
	font-family: "Font Awesome 5 Regular";
}

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

	Footer CSS

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

#globalFooter p.link a {
	width: auto;
	height: auto;
	margin: 0 20px 40px 20px;
	font-size: 11px;
	padding: 15px 0 15px 0;
}

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

	共通

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

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

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

.boxGrey .left,
.boxGrey .right {
	width: auto;
	float: none;
	border-width: 0 0 1px 0;
	border-style: solid;
	border-color: #ffffff;
	padding: 30px 20px 0 20px;
}

.boxBottomInquiry .boxGrey {
	padding: 30px;
}

.boxBottomInquiry .boxGrey dl {
	float: none;
	width: 100%;
	margin: 0 0 10px 0;
}

.boxBottomInquiry .boxGrey p {
	float: none;
	width: 100%;
}

.boxBottomInquiry .boxGrey p a {
	height: 40px;
	font-size: 10px;
	padding: 12px 0 0 0;
}

.boxBottomSales .boxGrey {
	padding: 30px 30px 40px 30px;
}

.boxBottomSales .boxGrey dl {
	float: none;
	width: 100%;
	margin: 0 0 20px 0;
}

.boxBottomSales .boxGrey p {
	float: none;
	width: 100%;
}

.pageNavi li a {
	font-size: 10px;
}

.boxImgRight .right {
	float: none;
	width: 100%;
	margin: 0 0 40px 0;
}

.boxImgRight .right figcaption {
	margin: 5px 0 0 0;
	font-size: 10px;
}

.boxImgRight .left {
	float: none;
	width: 100%;
}

.table01SpBlock,
.table01SpBlock tbody,
.table01SpBlock tr,
.table01SpBlock th,
.table01SpBlock td {
	display: block;
}

.table02,
.table02 tbody,
.table02 tr {
	display: block;
}

.table02 th {
	border-width: 0 0 0 0;
	padding: 6px 0 0 0;
	font-size: 12px;
}

.table02 td {
	display: block;
	border-width: 0 0 1px 0;
	border-style: solid;
	border-color: #AAAAAA;
	padding: 3px 0 6px 0;
	font-size: 12px;
}

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

.btn01 {
	display: block;
	padding: 13px;
	text-align: center;
}

.btn01.w330 {
	width: auto;
}

.btn01.submitBtn {
	min-width: 103px;
}

.boxDirectoryIndex a {
	width: 48%;
	margin: 0 0 20px 0;
	font-size: 11px;
}

.boxDirectoryIndex a:nth-child(2n) {
	float: right;
}

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

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

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

.listDisc {
	font-size: 12px;
}

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

	トップページ

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

.boxHomeSports .bnrSports li {
  width: 100%;
  max-width: 320px;
}
.boxHomeMain {
	height: 200px;
	background-size: cover;
	background-position: center center;
}

.boxHomeMain img {
	display: none;
}

.boxHomeMain a .text {
	width: auto;
	top: 40px;
	left: 20px;
	margin: 0 0 0 0;
}

.boxHomeMain a .text h2 {
	font-size: 16px;
	margin: 0 0 40px 0;
}

.boxHomeMain a .text p {
	font-size: 11px;
	width: 200px;
	height: 35px;
	padding: 11px 0 0 0;
}

.boxHomeSolution ul li {
	width: 100%;
	float: none;
	border-width: 0 0 1px 0;
}

.boxHomeSolution ul li a {
	height: auto;
	padding: 50px 40px 40px 40px;
}

.boxHomeService ul li,
.boxUnderService ul li {
	width: 50%;
	min-height: 172px;
	border-width: 0 1px 1px 0;
}

.boxHomeService ul li:nth-child(2),
.boxUnderService ul li:nth-child(2) {
	border-width: 0 0 1px 0;
}

.boxHomeService ul li:nth-child(3),
.boxUnderService ul li:nth-child(3) {
	clear: both;
	border-width: 0 1px 0 0;
}

.boxHomeService ul li a,
.boxUnderService ul li a {
	height: auto;
	padding: 70px 20px 30px 20px;
	background-position: center 36px;
	background-size: 20px 20px;
}

.boxHomeSales {
	display: block;
}

.boxHomeSales dl {
	width: 100%;
}

.boxHomeBannerWrapper {
	margin: 20px;
}

.boxHomeBannerWrapper .left {
	float: none;
	width: 100%;
	margin: 0 0 20px;
}

.boxHomeBannerWrapper .left a dl dd {
	font-size: 10px;
}

.boxHomeBannerWrapper .right {
	float: none;
	width: 100%;
}

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

.boxHomeBannerWrapper .right img {
	position: relative;
	top: 0;
}

.bnrCenter {
  width: 100%;
}

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

	Service 加工技術

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

.boxService01 {
	background-color: #ffffff;
	padding: 40px 0 0 0;
}

.boxService01 p {
	margin: 0;
}

.boxService02 {
	padding: 30px 20px 80px 20px
}

.boxService02 figure {
	float: none;
	width: 100%;
	text-align: center;
	margin: 0 0 30px 0;
}

.boxService02 figure img {
	width: 60%;
}

.boxService02 .text {
	float: none;
	width: 100%;
}

.boxService02 p.link {
	clear: both;
	position: absolute;
	bottom: 20px;
	right: auto;
	left: 0;
	padding: 0 20px;
	width: 100%;
	box-sizing: border-box;
}

.boxService02 p.link a {
	display: block;
	width: auto;
}

.boxGreySpPadding {
	padding: 30px 20px;
}

.boxService03 p {
	font-size: 12px;
	margin: 0 0 15px 0;
}

.boxService03 a {
	display: block;
	position: relative;
	top: 0;
	right: 0;
	padding: 15px 0;
	text-align: center;
}

.boxService04 {
	display: block;
	padding: 0;
}

.boxService04 a {
	margin: 0 0 20px 0;
	padding: 1px 20px 20px 20px;
	width: 100%;
}

.boxService04 a em {
	margin: 30px 0 0 0;
}

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

.boxService05 .left {
	width: 100%;
	float: none;
	margin: 0 0 20px 0;
}

.boxService0502 .left {
	width: 100%;
}

.boxService05 .right {
	float: none;
	width: 100%;
}

.boxService0502 .right {
	width: 100%;
}

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

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

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

.boxService07 {
	padding: 20px;
}

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

.boxServiceLink dl.link dt {
	margin: 0 0 12px 0;
}

.boxServiceLink dl.link dd {
	display: block;
	margin: 0 0 12px 0;
}

.boxService07 .btn01 {
	position: relative;
	right: auto;
	bottom: auto;
	display: block;
	text-align: center;
	margin: 15px 0 0 0;
}

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

	会社案内

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

.boxMessage header figure {
	width: 100%;
	margin: 0 0 20px 0;
}

.boxMessage header div {
	position: relative;
	top: 0;
}

.boxOutline01 img {
	width: 100%;
	height: auto;
	float: none;
	margin: 0 0 20px 0;
}

.boxOutline02 figure {
	width: 100%;
	margin: 0 0 20px 0;
	float: none;
}

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

.boxOutline02 figure figcaption {
	margin: 5px 0 0 0;
}

.boxOutline03 iframe {
	height: 300px;
}

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

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

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

.boxSales01 figure,
.boxSales02 figure {
	width: 100%;
	float: none;
	margin: 0 0 20px 0;
	text-align: center;
}

.boxSales02 figure img {
	width: 60%;
	height: auto;
}

.boxSales01 .text,
.boxSales02 .text {
	float: none;
	width: 100%;
}

.boxSales01 .btn01,
.boxSales02 .btn01 {
	display: block;
	text-align: center;
}

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

	新素材・開発素材の加工

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

.new-material .main h3 {
	font-size: 20px;
}

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

	お知らせ

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

.boxNewsIndex dl {
	display: block;
}

.boxNewsIndex dl dt {
	margin: 0 0 10px;
}

.home .boxNewsIndex dl dt {
	width: 100px;
}

.mpsnews .boxNewsIndex dl dt {
	margin: 0 0 10px;
}

.boxNewsIndex dl dt time {
	width: auto;
	margin: 0 10px 0 0;
}

.boxPagenate {
	margin: 0 0 80px 0;
	position: relative;
	padding: 40px 0 0 0;
	font-size: 11px;
}

.detail .boxPagenate {
	display: block;
}

.boxPagenate .prev a,
.detail .boxPagenate .prev a {
	width: 48%;
	position: absolute;
	top: 0;
	left: 0;
	padding: 10px 0 0 0;
	height: 30px;
}

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

.boxPagenate .number a {
	box-sizing: border-box;
	width: 30px;
	height: 30px;
	margin: 0 2.5px 10px 2.5px;
	padding: 10px 0 0 0;
}

.boxPagenate .next a,
.detail .boxPagenate .next a {
	width: 48%;
	position: absolute;
	padding: 8px 0 0 0;
	height: 30px;
	top: 0;
	right: 0;
}

.boxPagenate .next a .svg-inline--fa {
	right: 10px;
	top: 8px;
}

.boxPagenate .back a {
	width: 100%;
	display: block;
	padding: 10px 0 0 0;
	height: 30px;
}

.boxNewsDetail header time {
	font-size: 13px;
}

.boxNewsDetail header .cat {
	font-size: 11px;
}

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

	MPS News

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

.boxMpsNews figure {
	float: none;
	width: 100%;
	margin: 0 0 30px 0;
	text-align: center;
}

.boxMpsNews figure img {
	width: 70%;
}

.boxMpsNews .text {
	float: none;
	width: 100%;
}

.boxMpsNews .text a.btn01 {
	display: block;
	text-align: center;
}

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

	設備一覧

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

.boxEquipment01 figure {
	float: none;
	width: 100%;
	margin: 0 0 20px 0;
}

.boxEquipment01 .left {
	float: none;
	width: 100%;
}

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

	採用情報

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

.btnGraduate a {
	padding: 15px 0;
	margin: 0;
	width: 100%;
}

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

.imgListWork li {
	margin: 0 0 10px 0;
}

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

.boxPhoto div {
	float: none;
	width: 100%;
	margin: 0 0 30px 0;
}

.boxPhoto dl {
	margin: 12px 0 10px 0;
}

.boxPhoto dl dt {
	font-size: 13px;
	margin: 0 0 10px 0;
}

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

.boxPhoto p .cat {
	font-size: 11px;
}

.boxPhoto p .date {
	font-size: 10px;
}

.boxEnvironment01 figure,
.boxEnvironment02 figure {
	float: none;
	width: 100%;
	margin: 0 0 20px 0;
	text-align: center;
}

.boxEnvironment01 figure img,
.boxEnvironment02 figure img {
	width: 30%;
}

.boxEnvironment01 div,
.boxEnvironment02 div {
	float: none;
	width: 100%;
}

.boxRecruitIndex01 {
	background-image: url(img/recruit/pic_index_main_sp.jpg);
}

.boxRecruitIndex01 .inner {
	padding: 220px 0 0 20px;
}

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

.boxRecruitIndexNews {
	margin: -20px 0 40px 0;
}

.boxRecruitIndexNews .left {
	box-sizing: border-box;
	float: none;
	width: 100%;
}

.boxRecruitIndexNews .left dl dd {
	font-size: 11px;
}

.boxRecruitIndexNews ul {
	width: 90%;
	float: none;
	box-sizing: border-box;
	margin: 0 5% 20px 5%;
}

.boxRecruitIndexNews ul li {
	border-width: 0 1px 0 0;
	float: left;
	width: 33%;
}

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

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

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

.boxRecruitIndexMessage p.btn a {
	width: 100%;
}

.boxRecruitIndexVision .text p.btn a {
	width: 100%;
}

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

.boxRecruitIndexLink li {
	float: none;
	width: 100%;
	margin: 0 0 20px 0;
}

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

.boxMessage02 {
	padding: 0;
}

.boxMessage02 ul li {
	width: 48%;
	margin: 0 0 20px 0;
}

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

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

.boxMessage02 ul li figure {
	padding: 0 5%;
}

.boxMessage02 ul li figcaption {
	font-size: 11px;
	margin: 10px 0 0 0;
}

.boxMessage02 ul li figcaption font {
	font-size: 13px;
}

.boxMessage04 dt {
	font-size: 11px;
	width: 15%;
}

.boxMessage04 dd {
	width: 85%;
	font-size: 14px;
	margin: 0 0 20px 0;
}

.movieResponsiveWrapper {
  width: 100%;
}

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

	品質保証

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

.boxQuality01 div {
	float: none;
	width: 100%;
	margin: 0;
}

.boxQuality01 div figure figcaption {
	font-size: 12px;
}

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

	お問い合わせ

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

.label01 {
	display: block;
	margin: 0 0 5px 0;
}

.label02 {
	display: block;
	margin: 0 0 5px 0;
}

.textarea01 {
	height: 180px;
}

.submitBtn {
	width: 100%;
	display: block;
}