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

.sp {
	display: block;
}

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

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

.boxContentsWrapper {
	margin: 40px 20px 0 20px;
}

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

.boxContentsLeft {
	float: none;
	width: 100%;
}

.boxContentsRight {
	float: none;
	width: 100%;
}

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

	Text Decorations CSS

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

.titPage {
	font-size: 22px;
	padding: 50px 20px;
}

.main .titMid {
	font-size: 18px;
}

.titIcoArrow {
	margin: 0 0 15px 0;
	padding: 0 0 0 25px;
	font-size: 15px;
}

.titIcoArrow:after {
	width: 17px;
	height: 17px;
	font-size: 10px;
	line-height: 160%;
}

.titIcoSquare {
	margin: 0 0 15px 0;
	padding: 0 0 0 25px;
	font-size: 15px;
}

.titIcoSquare:after {
	top: 3px;
}

.titBg {
	font-size: 16px;
	padding: 15px 20px;
	margin: 0 0 40px 0;
}

.titBlue {
	font-size: 11px;
}

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

	Header CSS

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

#menu {
	width: 70px;
	height: 70px;
	position: absolute;
	cursor: pointer;
	z-index: 30;
	top: 0;
	right: 0;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#3a92bb+0,10208b+100 */
	/* Old browsers */
	background: #3a92bb;
	/* FF3.6-15 */
	background: -moz-linear-gradient(left, #3a92bb 0%, #10208b 100%);
	/* Chrome10-25,Safari5.1-6 */
	background: -webkit-linear-gradient(left, #3a92bb 0%, #10208b 100%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	background: linear-gradient(to right, #3a92bb 0%, #10208b 100%);
	/* IE6-9 */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3a92bb', endColorstr='#10208b', GradientType=1);
}

#menu .bar {
	display: inline-block;
	width: 26px;
	height: 4px;
	background-color: #ffffff;
	position: absolute;
	transition: .15s ease-in-out;
	left: 22px;
}

#bar01 {
	top: 24px;
}

#bar02 {
	top: 32px;
}

#bar03 {
	top: 40px;
}

.active #bar01 {
	top: 32px;
	transform: rotate(45deg);
}

.active #bar02 {
	width: 0;
}

.active #bar03 {
	top: 32px;
	transform: rotate(-45deg);
}

#globalHeader {
	height: 70px;
	position: relative;
}

#globalHeader .inner {
	width: auto;
	margin: 0 auto;
	padding: 0;
}

#globalHeader .inner #site-title {
	padding: 15px 0 0 20px;
}

#globalHeader .inner #site-title img {
	height: 40px;
}

#globalNavi {
	border-width: 0;
}

#globalNavi ul {
	width: auto;
	margin: 0 auto;
}

#globalNavi ul li {
	float: none;
	width: auto;
}

#globalNavi ul li:last-child {
	width: auto;
}

#globalNavi ul li a {
	display: block;
	text-align: left;
	padding: 25px 25px 25px 40px;
	border-width: 0 0 1px 0;
	border-style: solid;
	border-color: #ffffff;
	color: #333333;
	font-size: 11px;
}

#globalNavi ul li:last-child a {
	border-width: 0 0 1px 0;
	color: #333333;
}

#globalNavi ul li a:after {
	content: "";
	width: 10px;
	height: 4px;
	display: block;
	background-color: #2E3EB7;
	position: absolute;
	left: 20px;
	bottom: 50%;
	margin: -2px 0 0 0;
	opacity: 1;
}

#globalNavi ul li:last-child a:after {
	background-color: #2E3EB7;
}

.boxNavi {
	background-color: #EAEAEA;
	position: absolute;
	top: 70px;
	left: 0;
	width: 100%;
	display: none;
	z-index: 1000;
}

.boxNavi .headerNavi {
	display: block;
	position: relative;
	top: 0;
	left: 0;
	margin: 0 0 0 0;
}

.boxNavi .headerNavi li {
	margin: 0 0 0 0;
	float: left;
	width: 50%;
	font-size: 100%;
}

.boxNavi .headerNavi li a {
	display: block;
	text-align: left;
	padding: 15px 15px 15px 20px;
	border-width: 0 0 1px 0;
	border-style: solid;
	border-color: #ffffff;
	color: #333333;
	font-size: 11px;
}

.boxNavi .headerNavi li:nth-child(2n) a {
	border-width: 0 0 1px 1px;
}

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

.boxNavi .headerInquiry {
	position: relative;
	top: 0;
	right: auto;
	margin: 0 0 0 0;
	padding: 20px 0 20px 0;
}

.boxNavi .headerInquiry a {
	width: 200px;
	height: auto;
	padding: 15px 0 15px 0;
	font-size: 11px;
	margin: 0 auto;
}

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

	Footer CSS

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

.btnFooterInquiry {
	display: none;
}

#globalFooter .inner {
	width: auto;
	margin: 0 auto;
	padding: 0;
}

#globalFooter .inner .boxFooterNavi {
	position: relative;
	top: 0;
	left: 0;
}

#globalFooter .footerNavi01 {
	display: block;
	font-weight: bold;
	margin: 0 0 0 0;
}

#globalFooter .footerNavi01 li {
	margin: 0 0 0 0;
	width: 100%;
}

#globalFooter .footerNavi01 li a {
	display: block;
	text-align: left;
	padding: 25px 25px 25px 40px;
	border-width: 0 0 1px 0;
	border-style: solid;
	border-color: #EAEAEA;
	color: #333333;
	font-size: 11px;
	position: relative;
}

#globalFooter .footerNavi01 li a:after {
	content: "";
	width: 10px;
	height: 4px;
	display: block;
	background-color: #2E3EB7;
	position: absolute;
	left: 20px;
	bottom: 50%;
	margin: -2px 0 0 0;
	opacity: 1;
}

#globalFooter .footerNavi02 {
	display: block;
}

#globalFooter .footerNavi02 li {
	margin: 0;
	font-size: 11px;
	float: left;
	width: 50%;
}

#globalFooter .footerNavi02 li a {
	border-width: 0 0 1px 0;
	border-style: solid;
	border-color: #EAEAEA;
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: 15px 20px;
	color: #292929;
}

#globalFooter .footerNavi02 li:nth-child(2n) a {
	border-width: 0 0 1px 1px;
}

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

#globalFooter figure {
	margin: 0 0 15px 0;
	padding: 40px 20px 0 20px;
}

#globalFooter figure img {
  /*IE対策のため修正20200803*/
  max-width: 118px;
	/*height: 40px;*/
}

#globalFooter figure figcaption {
	font-size: 12px;
	margin: 14px 0 0 10px;
}

#globalFooter address {
	font-size: 8px;
	padding: 0 0 0 20px;
}

#globalFooter p.link a {
	margin: 0 auto;
}

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

	共通

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

.breadCrumbs {
	display: none;
}

.btn01 {
	font-size: 11px;
	padding: 15px 80px 12px 80px;
}

.imageAbsolute {
	top: 140px;
}

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

.imageAbsolute {
	position: relative;
	width: 100%;
	top: 0;
	left: 0;
	margin: 0 0 40px 0;
}

.boxLeadLeft {
	width: 100%;
	margin: 0 0 30px 0;
}

.boxGrey {
	padding: 30px 20px;
}

.table01 {
	margin: 0 0 20px 0;
	font-size: 11px;
}

.table01 th {
	padding: 15x 10px 12px 15px;
}

.table01 td {
	padding: 15x 10px 12px 15px;
}

.btn01 {
	font-size: 11px;
	padding: 15px 80px 12px 80px;
}

.titBgLine {
	margin: 0 0 20px 0;
	padding: 18px 18px 14px 18px;
	font-size: 14px;
}

.titBgLine:after {
	width: 8px;
	height: 2px;
	top: 26px;
}

.titBig {
	font-size: 16px;
	font-weight: normal;
	margin: 0 0 18px 0;
}

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

.boxBottomInquiry .boxGrey dl {
	font-size: 14px;
}

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

.boxBottomInquiry .boxGrey dl dd font {
	margin: 0 0 8px;
}

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

.boxBottomInquiry .boxGrey p a {
	width: auto;
	height: 60px;
	font-size: 12px;
	padding: 20px 0 0 0;
}

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

.pageNavi li a {
	display: block;
	color: #ffffff;
	text-align: center;
	font-size: 14px;
	padding: 15px 0 6px 0;
}

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

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

.boxBottomSales dl dt {
	font-size: 15px;
	line-height: 120%;
	margin: 0 0 12px 0;
}

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

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

.boxBottomSales p a {
	color: #ffffff;
	font-size: 10px;
	display: block;
	padding: 10px 0 10px 0;
}

.boxLocalNavi {
	border-width: 0;
	padding: 0;
}

.boxLocalNavi:last-child {
	margin: 0;
}

.localNavi {
	border-width: 1px 0 0 0;
	border-style: solid;
	border-color: #EAEAEA;
	font-size: 11px;
}

.localNavi li a {
	padding: 15px 20px;
	border-width: 0 0 1px 0;
	border-style: solid;
	border-color: #EAEAEA;
}

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

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

	トップページ

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

.boxHomeSports .bnrSports li {
  width: 30%;
}

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

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

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

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

.boxHomeMain a .text h2 {
	font-size: 25px;
	line-height: 140%;
	margin: 0 0 25px 0;
}

.boxHomeMain a .text p {
	width: 200px;
	height: 30px;
	padding: 6px 0 0 0;
}

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

.boxHomeWrapper:before {
	width: 50%;
	top: 0;
	left: 50%;
	margin: 0 0 0 0;
}

.titHome {
	font-size: 12px;
	margin: 0 20px 20px;
	width: auto;
}

.titHome font {
	font-size: 24px;
	margin: 0 10px 0 0;
}

.boxHomeSolution {
	margin: 0 0 60px;
	padding: 40px 20px 0 20px;
	background-size: 100% auto;
}

.boxHomeSolution h3 {
	margin: 0 0 20px;
	font-size: 16px;
}

.boxHomeSolution ul li {
	width: 33.33%;
}

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

.boxHomeService {
	margin: 0 0 60px;
	padding: 40px 20px;
	background-position: center top;
}

.boxHomeService ul li {
	width: 25%;
}

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

.boxHomeService h3 {
	font-size: 14px;
	margin: 0 0 10px;
}

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

.boxHomeSales dl {
	padding: 40px 20px 40px 20px;
}

.boxHomeSales dl:nth-child(3) {
	background-size: contain;
}

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

.boxHomeSales dl dd ul li a {
	font-size: 16px;
}

.boxHomeNewsWrapper {
	margin: 60px 20px 20px;
}

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

.boxHomeNewsWrapper h2 {
	margin: 0 0 20px;
}

.boxHomeNewsWrapper header a {
	padding: 7px 30px;
	font-size: 10px;
}

.boxHomeBannerWrapper {
	margin: 60px 20px;
}

.boxHomeBannerWrapper dl dt {
	margin: 0 0 10px;
	font-size: 8px;
}

.boxHomeBannerWrapper dl dt time {
	font-size: 8px;
	margin: 0 10px 0 0;
}

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

.boxHomeBannerWrapper .left a dl dt {
	font-size: 20px;
	margin: 0 0 10px;
}

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

.boxHomeBannerWrapper .right {
	position: relative;
}

.boxHomeBannerWrapper .right a dl {
	padding: 20px;
	top: 1px;
}

.boxHomeBannerWrapper .right a dl dt {
	font-size: 20px;
	margin: 0 0 10px;
}

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

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

	Service 加工技術

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

.boxService02 {
	padding: 20px 20px 60px 20px
}

.boxService02 .text h3 {
	color: #2E3EB7;
	font-size: 18px;
	margin: 0 0 5px 0;
}

.boxService02 .text p {
	margin: 0 0 15px 0;
	font-size: 11px;
}

.boxService02 .text dl dt {
	font-size: 11px;
}

.boxService02 .text dl dd {
	font-size: 11px;
	margin: 0 0 18px 0;
}

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

.boxService02 p.link a {
	font-size: 11px;
	height: 40px;
	padding: 10px 0 0 0;
}

.boxService03 a {
	font-size: 11px;
	padding: 15px 35px;
}

.boxService04 a {
	width: 31.6%;
	margin: 0 2.6% 20px 0;
	padding: 0 20px 0 20px;
}

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

.boxService04 a em {
	margin: 30px 0 18px 0;
	font-size: 17px;
}

.boxService04 a em small {
	font-size: 11px;
}

.boxService04 a span {
	width: 20px;
	height: 20px;
	font-size: 12px;
	padding: 5px 0 0 0;
}

.boxService04 a p {
	margin: 0 0 20px 0;
}

.boxService05 figure figcaption {
	font-size: 10px;
	margin: 5px 0 0 0;
}

.boxService06 ul {
	margin: 0 0 20px 0;
}

.boxService06 ul li {
	font-size: 10px;
	padding: 10px;
	width: 50%;
}

.boxServiceLink {
	padding: 40px 0;
}

.boxServiceLink .wrapper {
	margin: 0 20px;
}

.boxServiceLink dl.link {
	font-size: 11px;
}

.boxServiceLink dl.link dd {
	padding: 0 0 0 15px;
	background-size: 11px 11px;
	background-position: 0 0.2em;
}

.boxService08 h3 {
	padding: 0 0 0 20px;
	font-size: 16px;
	background-size: 16px 16px;
}

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

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

	会社案内

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

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

.boxMessage header figure {
	width: 70%;
}

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

.boxMessage header h2 {
	font-size: 18px;
	margin: 0 0 15px 0;
}

.boxStructure img {
	width: 100%;
}

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

.boxOutline01 figcaption {
	font-size: 11px;
}

.boxOutline02 figure figcaption {
	font-size: 11px;
}

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

	新素材・開発素材の加工

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

.boxNewMaterial01 h3 {
	font-size: 20px;
	margin: 0 0 20px 0;
	padding: 20px 0 0 0;
}

.boxNewMaterial01 h3:after {
	width: 80px;
	height: 2px;
}

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

	採用情報

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

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

.boxRecruitLink ul li a {
	font-size: 16px;
}

.btnGraduate a {
	font-size: 15px;
	padding: 15px 0;
}

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

.naviPhoto li {
	margin: 0 10px 0 0;
	padding: 0 10px 0 0;
	font-size: 14px;
}

.naviPhoto li:last-child {
	margin: 0;
	padding: 0;
}

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

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

.titRecruitIndex {
	margin: 0 0 20px 0;
	font-size: 8px;
}

.titRecruitIndex font {
	font-size: 18px;
}

.boxRecruitIndexNews .left {
	padding: 20px 20px 20px 20px;
}

.boxRecruitIndexNews ul li a {
	font-size: 14px;
}

.boxRecruitIndexMessage {
	margin: 0 0 20px 0;
	padding: 20px;
}

.boxRecruitIndexMessage:before {
	display: none;
}

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

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

.boxRecruitIndexMessage p {
	font-size: 11px;
}

.boxRecruitIndexMessage p.btn {
	margin: 20px 0 0 0;
}

.boxRecruitIndexMessage p.btn a {
	width: 40%;
	padding: 15px 0;
	font-size: 11px;
}

.boxRecruitIndexVision {
	margin: 0 0 20px 0;
	padding: 20px 20px 0 20px;
	background-color: #F4F4F4;
}

.boxRecruitIndexVision:before {
	display: none;
}

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

.boxRecruitIndexVision .text {
	float: none;
	width: 100%;
	padding: 0;
}

.boxRecruitIndexVision .text p {
	font-size: 11px;
}

.boxRecruitIndexVision .text p.btn a {
	width: 40%;
	font-size: 11px;
	padding: 15px 0 15px 0;
}

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

.boxRecruitIndexLink li a span {
	font-size: 11px;
	width: 50%;
	padding: 13px 0;
}

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

.boxRecruitGallery .slider dl {
	margin: 12px 0 8px 0;
}

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

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

.boxRecruitGallery .slider p .cat {
	font-size: 9px;
}

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

.boxRecruitGallery .btn a {
	width: auto;
	font-size: 11px;
	margin: 0 20px;
	padding: 15px 0 15px 0;
}

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

.boxMessage01 figure {
	margin: 0 0 0 10%;
}

.boxMessage01 div {
	margin: -20px 10% 0 0;
	padding: 40px 20px 20px 20px;
}

.boxMessage01 div p {
	font-size: 11px;
}

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

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

.movieResponsiveWrapper {
  width: 500px;
}

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

	お問い合わせ

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

.boxForm .status span {
	font-size: 11px;
}