.display_sp {
	display:none;
}

/* ========== レイアウト ========== */
#head {
	margin: 0 auto;
	position: relative;
	z-index: 2;
}
#eyecatch {
	margin: 0 auto;	
}
#content {
	margin: 0 auto;
	position: relative;
	z-index: 2;
}
#foot {
	margin-top: 100px;
}

/* ========== ヘッダー ========== */
#head {
	max-width: calc(1200px + 8.54vw);
	margin: 0 auto;
	padding: 0 45px 0 0;
}

#head > #header_inner {
	display: flex;
}

#head > #header_inner > #logo {
}


#head > #header_inner > #logo > a > img {
	width: 550px;
	padding: 20px 0 0 10px;
}


#head > #header_inner > #tel {
	margin: 50px 0 10px 15%;
}

#head > #header_inner > #tel > img {
	height: 3em;
}

#head > #header_inner > #contact {
	margin: 50px 0 10px 20px;
	font-weight: bold;
	
}

#head > #header_inner > #contact p {
	font-size: 2em;
}

#head > #header_inner > #contact p a {
	color: #FFF;
	background-color: #0067C0;
	padding: 10px 20px;
}

#head > #menu {
	display: flex;
	margin-left: 30%;
	/*padding: 57px 0 0 0;*/
	font-weight: bold;
	font-size: 1.8em;
}

#head > #menu > li > a {
	margin: 0 30px 0 0;
	color: #305496;
	border-bottom: solid 4px rgb(248, 248, 248);
}

#head > #menu > li > a:hover {
	border-bottom-color: #305496;
	transition: 0.8s;
}


/* ========== フッター ========== */


footer {
	height: 150px;
	/*background-color: #dce0e0;*/
	margin-top: 100px;
	border-top: 5px solid #305496;

}

footer > #footer-top{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	margin: 0 auto;
	max-width: 1200px;
 padding-inline-start: 0;
	padding: 20px 20px;
	font-size: 1.6rem;
}

footer >  #footer-top > .footer-menu{
	padding-right: 100px;	
}


footer > #footer-bottom {
	padding-top: 50px;
	text-align: center;
}

footer > #footer-bottom > p {
	font-size: 1.2rem;
}


/* ========== 共通スタイル ========== */

a:hover {
	opacity: 0.6;
}

#content h1 {
	width: 100%;
	font-size: 3.3rem;
	font-weight: bold;
	color: #305496;
	background-color: #d3d3d3;
	padding: 60px 0 60px 60px;
}

#content h2 {
	font-size: 2.4rem;
	font-weight: bold;
	text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.1);
	padding-left: 8px;
	margin: 70px 0 50px;
	clear: left;
	border-left: 5px solid #305496;
}

#content h3 {
	/*font-size: 1.8em;
	margin-top: 30px;
	margin-left: 40px;*/
	font-size: 2.2rem;
	font-weight: bold;
	text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.1);
	padding: 3px 0px 0px 18px;
	margin: 30px 10px 5px 0;
	background-repeat: no-repeat;
	background-position: left center;
}


#content h4 {
	font-size: 2rem;
	margin: 5px 0 10px 40px;
}
#content p {
	margin-bottom: 10px;
	line-height: 2;
	margin-left: 20px;
	font-size: 2rem;
}

#content p img {
	margin-top: 20px;
	margin-bottom: 15px;
}

#content ul {
	margin-left: 15px;
	font-size: 2rem;
}

#content ul li {
	list-style-type: disc;
	margin-top: 5px;
	margin-bottom: 5px;
}

#content ol {
	margin: 0px 0px 35px 80px;
	font-size: 2rem;
}

body #content ol li {
	margin: 5px 0;
	list-style-type: decimal;
}

#content dl {
	font-size: 2rem;
	margin-left: 60px;
	margin-bottom: 35px;
}

#content dl dt {
	fotn-weight: bold;
	text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.1);
	margin-top: 10px;
}

#content dl dd {
	text-indent: -1em;
	margin-left: 3em;
	list-style-type: disc;
}

table {
	width: 100%;
	font-size: 2rem;
	margin-left: 40px;
	border-collapse: collapse;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
}

table caption {
	display: none;
}

table tr th {
	color: #333;
	text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.1);
	background-color: #EEEEEE;
	padding: 8px 10px;
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
	white-space: nowrap;
}

table tr td {
	text-align: left;
	padding: 8px 10px;
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
}


/* ========== トップページ ========== */

#content > #eyecatch {
	position: relative;
	width: 100%;
	height: 600px;
	overflow: hidden;
	margin: 0 auto;
	margin-top: 20px;
}


#content > #eyecatch > #img1, #img2 {
	position: absolute;
	top: 0;
	left: 0;
	width:100%;
	height: 600px;
}


#img1 {
	animation: slide-animation-01 20s infinite;
}

#img2 {
	animation: slide-animation-02 20s infinite;
}



@keyframes slide-animation-01 {
0% {opacity: 1; transform: scale(1.0);}
30% {opacity: 1;}
40% {opacity: 1; transform: scale(1.0);}
90% {opacity: 0}
100% {opacity: 1; transform: scale(1.0);}
}
@keyframes slide-animation-02 {
0% {opacity: 0;}
30% {opacity: 0; transform: scale(1.0);}
40% {opacity: 0;}
50% {opacity: 1;}
90% {opacity: 1; transform: scale(1.0);}
100% {opacity: 0;}
}





#message {
	margin-top: 50px;
}
	
#message > p {
	font-size: 3rem;
	font-weight: bold;
	text-align: center;
	color: #798486;
}

#service {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}

#service .box-top {
	position: relative;
	width: 300px;
	height: 300px;
	margin: 10px;
	text-align: center;
}

#service .box-top:before {
	content: '';
  	position: absolute;
	top: 0;
 	right: 0;
  	left: 0;
	bottom: 0;
	background-color: rgba(0,0,0,0.5); /*半透明のフィルターをかける*/
}

#service .box-top a img {
	width: 100%;
}

#service .box-top a p {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	color: #FFF;
	font-size: 2.4rem;
}

#service .box-top a .box-line {
	position: absolute;
	top: 50%;
	left: 25%;
	transform: translate(-20%,-50%);
	color: #FFF;
}


/* ========== main_contents ========== */
.main > .main_contents {
	width: 100%;
	max-width:1000px;
	margin: auto;
}


/* ========== 会社案内 ========== */
.main > .main_contents > #study > ul {
	margin-left: 40px;
}

.main > .main_contents > #study > ul > li {
	font-size: 2.2rem;
}


/* ========== 地図・アクセス ========== */
.main > .main_contents > .map {
	display: flex;
}

.main > .main_contents > .map > .map_left {
	margin-right: 50px;
}

.main > .main_contents > .map > .map_right {
	margin-top: 100px;
}

.main > .main_contents > .map > .map_right iflame {
	width: 100%;
	height: auto;
}

/* ========== 設備一覧 ========== */
.main > .main_contents > .equipment {
	display: block;
}

/* ========== 経営方針 ========== */
.main > .main_contents > #management > #decision-outer > p {
	text-align: center;
}

.main > .main_contents > #management > #decision-outer > p img {
	width: 600px;
	height: 600px;
}

.main > .main_contents > #management > p > #decision-motto {
	color: #FF7B00;
	font-weight: bold;
}

.main > .main_contents > #management > p {
	text-align: center;
}

.main > .main_contents > #environment > ol > li > ul > li {
	list-style-type: none;
}

.main > .main_contents > #environment > #ceo {
	text-align: right;
}
	

/* ========== 製品一覧 ========== */
.main > .main_contents > .product {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
}

.main > .main_contents > .product > .kakou-outer{
	text-align: center;
	margin: auto;

}

/* ============= 加工 ============= */
.main > .main_contents > section > .img-flex {
	display: flex;
}

.main > .main_contents > section > .img-flex > .flex-right > ul li {
	margin-left: 1.5rem;
}

.main > .main_contents > section > .img-flex > .kenma {
	margin-top: 250px;
}



/* ----- エントリーフォーム ----- */

#mailformpro table tr th {
	width: 100px;
}
#mailformpro table tr th span {
	color: #C21E3D;
}
#mailformpro table tr td br {
	clear: left;
}
#mailformpro table tr td label,
#mailformpro table tr td input {
	float: left;
}
#mailformpro table.personal tr td label {
	width: 45px;
}
#mailformpro table.personal tr td input {
	width: 200px;
}
#mailformpro table.contact tr td textarea {
	width: auto !important;
	height: auto !important;
}
#mailformpro table.school tr td select {
	float: left;
	margin-right: 8px;
}
#mailformpro table.school tr td label {
	float: left;
	width: 90px;
}
.entry {
	margin-top: 20px;
	margin-left: 10px;
}
div#joinus {
	margin-bottom: 0;
}

/* ========== スライダー ========== */
#slider {
	position: absolute;
	top: -1px;
	z-index: 1;
	width: 100%;
	max-width:1000px;
	margin-left:calc( ( 100vw - 1000px ) / 2 );
	height: 400px;
	overflow: hidden;
	left: 6px;
}

@keyframes slideshow {
	0% {
		left: 100%;
	}
	5% {
		left: 10%;
	}
	25% {
		left: 10%;
	}
	30% {
		left: -100%;
	}
	100% {
		left: -100%;
	}	
}

#slider ul {
	display: flex;

}

#slider li {
	position: absolute;
	top: 0;
	left: 100%;
	object-fit: cover;
	animation: slideshow 32s linear infinite forwards;
	
}

#slider li:nth-child(2) {
	animation-delay: 8s;
}
#slider li:nth-child(3) {
	animation-delay: 16s;
}
#slider li:nth-child(4) {
	animation-delay: 24s;
}



/* ========== sec-margin ========== */
.sec-margin {
	margin:100px auto;
}


