@charset "UTF-8";

/******************
テンプレート全体[共通]
******************/

.commonBox{
	clear:both;
	overflow:hidden;
	width:100%;
	margin-bottom:60px;
}

.commonBox:after{
	content: "."; 
	display: block; 
	height: 0; 
	font-size:0;
	clear: both; 
	visibility:hidden;
}

* html .commonBox {
	height: 1%;
}

p{

}

img.aligncenter{
	display: block;
	margin:0 auto;
	float:none;
}

img.alignright{
	margin:0 0 0 auto;
	display:block;
	float:none;
}

img.alignleft{
	text-align: left;
	float:none;
}

/******************
テンプレートレイアウト
******************/
.wp-block-image{
	margin:auto;
}

/******************
中ページ共通項目[共通]
******************/

input,textarea{
	font-size: 16px;
	border: 1px solid #cccccc;
	outline: none;
	border-radius:2px;
	-moz-border-radius:2px;
	-webkit-border-radius:2px;
	padding:5px;
}

#breadcrumbWrap{
	width:100%;
	clear:both;
	padding:0;
	margin:0px auto 40px;
}

#breadcrumbWrap p{
	font-size:90%;
	max-width:1100px;
	width:100%;
	margin:0 auto;
	position:relative;
	padding:0 5px 0 12px;
}

#breadcrumbWrap p img{
	vertical-align:middle;
	padding-bottom:2px;
}

.homeIconWrap{
	width:17px;
	height:17px;
	display:inline-block;
}

#wrapper #contents{
	width:100%;
	overflow:hidden;
	clear:both;
	margin:0 auto;
	padding:150px 0 80px 0;
}

#wrapper #main{
	width:94%;
	max-width:1100px;
	margin:0 auto;
	overflow:hidden;
}
h1{
	width:90%;
	max-width:1100px;
	clear:both;
	margin:30px auto 40px;
	position: relative;
}
/*
h1::before{
	content: "";
	position: absolute;
	left: -200px;
	top: 0;
	width: 1000px;
	height: 100%;
	z-index: 1;
	background-color: #dbeff2;
	-webkit-transform: skew(-30deg,0);
	transform: skew(-30deg,0);
}
h1 .md-h1 {
	z-index:5;
	position: absolute;
	top: 46%;
	left: 20%;
	right: 0;
	display: block;
	font-weight: bold;
	line-height: 120%;
	letter-spacing: 0.1em;
	transform: translate(-20%,-46%);
}
*/
#md-h1 span{
	display:block;
}
.md-en{
	font-size:200%;
	font-weight:500;
	line-height:120%;
}
.md-jp{
	padding-left:5px;
	font-weight:500;
	font-size:70%;
	letter-spacing:0.1em;
}
h2 {
	margin:0 auto 30px;
	font-size:180%;
	font-weight:bold;
	line-height:120%;
	position:relative;
	padding:5px 8px 8px;
	border-bottom:2px solid #0b9b93;
}

h3{
	clear:both;
	font-size:140%;
	font-weight:500;
	padding:1px 8px 4px;
	margin:0 auto 20px;
	color:#087570;
	border-left:6px solid #087570;
}
h4{
	font-size:120%;
	font-weight:500;
}

.editPostLink{
	clear:both;
	max-width:1100px;
	margin:10px auto 0;
	display:none;
}

.editPostLink a{
	display:inline-block;
	padding:5px;
	background-color:#2466dd;
	color:white;
	border-radius:3px;
	-moz-border-radius:3px;
	-webkit-border-radius:3px;
}

.editPostLink a:hover{
	background-color:#4486fd;
	text-decoration:none;
}

.pagination {
	clear:both;
	padding:20px 0;
	position:relative;
	font-size:11px;
	line-height:13px;
	margin-bottom:20px;
}

.pagination span, .pagination a {
	display:block;
	float:left;
	margin: 2px 2px 2px 0;
	padding:6px 9px 5px 9px;
	text-decoration:none;
	width:auto;
	color:#3e3e3e;
	background: #dddddd;
}
 
.pagination a:hover{
	color:#fff;
	background: #888888;
}
 
.pagination .current{
	padding:6px 9px 5px 9px;
	background: #f29528;
	color:#fff;
}

.txt-haba{
	margin-bottom:20px;
}

@media screen and (max-width: 960px) {
#wrapper #contents{
	padding:84px 0 40px;
}
#breadcrumbWrap p{
	padding:0 5px 0 3%;
}
.md-en{
	font-size:160%;
}
h2 {
	font-size:150%;
}

h3{
	font-size:130%;
}
}
@media screen and (max-width: 480px) {
h1{
	font-size:7vw;
	margin: 15px auto 20px;
}
}

/******************
中ページ共通CSS
******************/
.midashiImg{
	width:100%;
	height:0;
	margin:auto;
	padding-top: 40%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
	margin-bottom:30px;
}
#mdImg01{
	background-image: url(./images/common/md-img01.jpg);
}
#mdImg02{
	background-image: url(./images/common/md-img02.jpg);
}
#mdImg03{
	background-image: url(./images/common/md-img03.jpg);
}
#mdImg04{
	background-image: url(./images/common/md-img04.jpg);
}
#mdImg05{
	background-image: url(./images/common/md-img05.jpg);
}
#mdImg06{
	background-image: url(./images/common/md-img06.jpg);
}
@media screen and (max-width: 768px) {
.midashiImg{
	padding-top: 66.666%;
}
#mdImg01{
	background-image: url(./images/common/md-img01-sp.jpg);
}
#mdImg02{
	background-image: url(./images/common/md-img02-sp.jpg);
}
#mdImg03{
	background-image: url(./images/common/md-img03-sp.jpg);
}
#mdImg04{
	background-image: url(./images/common/md-img04-sp.jpg);
}
#mdImg05{
	background-image: url(./images/common/md-img05-sp.jpg);
}
}
/******************
会社案内
******************/
#greetingBox{
	/*display:flex;*/
	width:96%;
	margin:0 auto 80px;
}
#greetingTxt{
	font-size:110%;
	line-height:2.4em;
}
#greetingLeft{
	width:60%;
	margin-right:5%;
	font-size:110%;
	line-height:2em;
}
#personTxt1{
	margin-top:30px;
	text-align:right;
	font-size:90%;
	letter-spacing:0.1em;
}
#personTxt2{
	text-align:right;
	font-size:160%;
	font-weight:bold;
	font-family:Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
}
.companyTable table{
	width:96%;
	margin:0 auto 50px;
}
.companyTable table th{
	width:180px;
	padding:20px 10px 20px 30px;
	border-bottom:1px dotted #ccc;
	text-align:left;
	font-size:110%;
}
.companyTable table td{
	padding:20px;
	border-bottom:1px dotted #ccc;
}
.cpLink a{
	position:relative;
	display:inline-block;
	padding-right:30px;
	text-decoration:underline;
}
.cpLink a::before{
	font-family: "Font Awesome 5 Free";
	content:'\f35d';
	font-weight:bold;
	position:absolute;
	top:60%;
	right:5px;
	transform: translate(0,-60%);
	-webkit-transform: translate(0,-60%);
	-ms-transform: translate(0,-60%);
}
.buildingImg{
	margin:0 auto 80px;
}
.historyTable table{
	width:96%;
	margin:0 auto 80px;
}
.historyTable table th{
	width:180px;
	padding:20px 10px 20px 30px;
	border-bottom:1px dotted #ccc;
	text-align:left;
	font-size:110%;
}
.historyTable table td{
	padding:20px;
	border-bottom:1px dotted #ccc;
}
#accessBox{
	display:flex;
	margin:0 auto 80px;
}
#accessLeft{
	width:60%;
	margin-right:5%;
}
.ggmap{
	margin:auto;
	position: relative;
	padding-bottom: 75%;
	height: 0;
	overflow: hidden;
	width:auto;
}
.ggmap iframe,
.ggmap object,
.ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#accessAdd{
	margin:40px auto;
}
#accessIcon li{
	padding-left:18px;
	margin-bottom:5px;
	position:relative;
}
#accessIcon li::before {
  	display: block;
  	content: '';
  	position: absolute;
  	top: 50%;
  	left: 2px;
  	width:8px;
  	height:8px;
  	background-color: #0b5a9c;
  	border-radius: 100%;
	transform: translate(0,-50%);
	-webkit-transform: translate(0,-50%);
	-ms-transform: translate(0,-50%);
}
.companyUl{
	display:flex;
	flex-wrap:wrap;
	margin:0 auto 60px;
}
.companyUl li{
	width:32%;
	margin:0 0 20px;
}
.companyUl li:nth-child(3n+2){
	margin:0 2% 20px;
}
.companyUl li a{
	position:relative;
	display:block;
	padding:20px 10px 20px 60px;
	border:1px solid #000;
	line-height:1.4em;
	transition:.3s;
}
.companyUl li a::before{
	font-family: "Font Awesome 5 Free";
	content: '\f1c1';
	color:#fa0f00;
	font-size:160%;
	position: absolute;
	top: 50%;
	left: 20px;
	transform: translate(0,-50%);
	-webkit-transform: translate(0,-50%);
	-ms-transform: translate(0,-50%);
	transition:.3s;
}
.companyUl li a:hover{
	color:#fff;
	background-color:#0b9b93;
	border:1px solid #0b9b93;
}
.companyUl li a:hover::before{
	color:#fff;
}
.companyUl li a:hover::before{
	color:#fff;
}
@media screen and (max-width: 1120px) {
.companyUl li{
	width:48%;
	margin:0 0 20px;
}
.companyUl li:nth-child(3n+2){
	margin:0 0 20px;
}
.companyUl li:nth-child(2n+1){
	margin:0 2% 20px 0;
}
}
@media screen and (max-width: 960px) {
#greetingBox{
	display:block;
	width:100%;
}
#greetingLeft{
	width:100%;
	margin:0 auto 30px;
}
#greetingRight{
	max-width:800px;
	margin:auto;
}
#personTxt1{
	margin-top:20px;
}
}
@media screen and (max-width: 781px) {
.buildingImg{
	display:block !important;
}
}
@media screen and (max-width: 768px) {
.companyTable table, .historyTable table{
	width:100%;
	margin:0 auto 30px;
}
.companyTable table th, .historyTable table th{
	width:auto;
	display:block;
	padding:10px;
}
.companyTable table td, .historyTable table td{
	display:block;
	padding:10px 10px 20px 20px;
	border-bottom:none;
}
#accessBox{
	display:block;
	margin-bottom:40px;
}
#accessLeft{
	width:100%;
	margin:0 auto;
}
.ggmap{
	padding-bottom: 56.25%;
}
#accessAdd{
	margin:20px auto;
}
.companyUl{
	display:block;
	margin-bottom:40px;
}
.companyUl li:nth-child(2n+1), .companyUl li:nth-child(3n+2){
	margin:0 auto 20px;
}
.companyUl li{
	max-width:340px;
	width:100%;
	margin:0 auto 20px;
}
}
/******************
機械設備
******************/
.facilityList{
	display:flex;
	flex-wrap:wrap;
	margin:0 auto 40px;
}
.facilityList2{
	display:flex;
	flex-wrap:wrap;
	margin:0 auto;
}
.facilityFrame{
	width:49%;
	margin:0 2% 40px 0;
	box-sizing:border-box;
	border:1px solid #ccc;
	padding:15px;
}
.facilityFrame2{
	width:180px;
	border:1px solid #ccc;
	margin:0 2% 15px 0;
	padding:15px;
}
.facilityFrame3{
	width:180px;
	border:1px solid #ccc;
	margin:0 2% 15px 0;
	padding:15px;
}
.facilityList .facilityFrame:nth-child(2n), .facilityList2 .facilityFrame:nth-child(2n){
	margin:0 0 40px 0;
}
.facilityName{
	font-size:110%;
	font-weight:500;
	margin:15px auto 10px;
}
.facilityName2{
	font-size:110%;
	font-weight:500;
	margin:0 auto 10px;
}
@media screen and (max-width: 768px) {
.facilityFrame{
	width:48%;
}
.facilityList .facilityFrame:nth-child(3n+2), .facilityList2 .facilityFrame:nth-child(3n+2){
	margin:0 0 40px;
}
.facilityList .facilityFrame:nth-child(2n+1), .facilityList2 .facilityFrame:nth-child(2n+1){
	margin:0 2% 40px;
}
}
@media screen and (max-width: 480px) {
.facilityFrame{
	width:100%;
	margin:0 auto 30px;
}
.facilityList .facilityFrame:nth-child(3n+2), .facilityList .facilityFrame:nth-child(2n+1),
.facilityList2 .facilityFrame:nth-child(3n+2), .facilityList2 .facilityFrame:nth-child(2n+1){
	margin:0 auto 30px;
}
}
/******************
製品案内
******************/
.productList{
	margin:0 auto 20px;
}
.productFrame1{
	display:flex;
	margin:0 auto 60px;
}
.productLeft1{
	width:50%;
	margin-right:5%;
}
.productRight1{
	width:45%;
}
.productFrame2{
	display:flex;
	flex-direction:row-reverse;
	margin:0 auto 60px;
}
.productLeft2{
	width:50%;
	margin-left:5%;
}
.productRight2{
	width:45%;
}
.productList-1{
	display:flex;
	flex-wrap:wrap;
	margin:0 auto 20px;
}
.productFrame-1{
	width:49%;
	margin:0 2% 40px 0;
	box-sizing:border-box;
	border:1px solid #ccc;
	padding:15px;
}
.productList-1 .productFrame-1:nth-child(2n){
	margin:0 0 40px 0;
}
.pd-name{
	font-size:120%;
	font-weight:bold;
	margin:10px auto;
	display:table;
}
.pd-txt{
	margin:0 auto 10px;
	display:table;
}
@media screen and (max-width: 960px) {
.productFrame1, .productFrame2{
	display:block;
	margin:auto;
}
.productLeft1, .productLeft2{
	width:100%;
	margin:auto;
}
.productRight1, .productRight2{
	max-width:800px;
	width:100%;
	margin:30px auto 40px;
}
}
@media screen and (max-width: 480px) {
.facilityFrame{
	width:100%;
	margin:0 auto 30px;
}
.facilityList .facilityFrame:nth-child(3n+2), .facilityList .facilityFrame:nth-child(2n+1),
.facilityList2 .facilityFrame:nth-child(3n+2), .facilityList2 .facilityFrame:nth-child(2n+1){
	margin:0 auto 30px;
}
.productList-1{
	display:block;
}
.productFrame-1{
	width:100%;
	margin:0 auto 30px;
}
.productList-1 .productFrame-1:nth-child(2n){
	margin:0 auto 30px;
}
.pd-name{
	font-size:110%;
}
}
/******************
取り組み
******************/
.attemptList{
	margin:0 auto 40px;
}
.attemptList .wp-block-image{
	margin-bottom:0;
}
.attemptFrame{
	display:flex;
	margin:20px auto 60px;
}
.attemptFrame p{
	width:49%;
	margin:0 2% 0 0;
	box-sizing:border-box;
}
.attemptFrame p:nth-child(2n){
	margin:0;
}
#sdgsMainImg{
	max-width:700px;
	width:80%;
	margin:30px auto 80px;
}
.sdgsList{
	display:flex;
	flex-wrap:wrap;
	margin:40px auto 0;
}
.sdgsFrame{
	/*
	width:42%;
	margin:0 8% 60px 0;
	position:relative;
	*/
	padding-bottom:20px;
	margin-bottom:40px;
	border-bottom:1px dotted #808080;
}
.sdgsImg{
	display:flex;
	flex-wrap:wrap;
	margin:0 auto 20px;
}
.sdgsImg p{
	width:19%;
	margin-right:1%;
}
.sdgsTxtBox{
	/*
	position:absolute;
	bottom:0;
	right:-5%;

	position:relative;
	background-color:rgba(255,255,255,0.8);
	width:80%;
	padding: 30px 5%;
	margin: -100px 0 0 20%;
	z-index: 2;
	box-shadow:1px 1px 3px #ccc;
	*/
}
.sdgsTitle{
	font-size:120%;
	font-weight:bold;
	margin-bottom:10px;
	display:inline-block;
	/*background: linear-gradient(transparent 60%, #dbf3ff 20%);*/
}
@media screen and (max-width: 480px) {
.sdgsImg p{
	width:24%;
}
}
/******************
採用情報
******************/
#recruitMain h2{
	font-size:240%;
	border:none;
	text-align:center;
}
#recruitMain h2 span{
	display:block;
	font-size:1.1rem;
	font-weight:500;
	line-height:1.4em;
	color:#0555a6;
}
#recruitMain h2.recruit-h2{
	font-size:200%;
}
.recruitBox{
	width:94%;
	max-width:1100px;
	margin:0 auto;
}
.recruitBox2{
	width:94%;
	max-width:1400px;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
}
.recruitBox2 p{
	width:31.33333%;
	margin:0 1% 30px;
}
#messageBox{
	font-size:110%;
	line-height:220%;
	text-align:center;
	letter-spacing:0.1em;
}
.kaigyo{
	display:block;
}
.fellowBg{
	background-color:#dbeff2;
	padding:80px 0 20px;
	margin-bottom:80px;
}
.fellowFrame1{
	display:flex;
	margin:0 auto 60px;
	align-items:center;
}
.fellowLeft1{
	width:50%;
	margin-right:5%;
}
.fellowRight1{
	width:45%;
}
.fellowFrame2{
	display:flex;
	flex-direction:row-reverse;
	margin:0 auto 60px;
	align-items:center;
}
.fellowLeft2{
	width:50%;
	margin-left:5%;
}
.fellowRight2{
	width:45%;
}
.fellowName{
	font-size:180%;
	font-weight:bold;
	margin:0px auto 30px;
	color:#0555a6;
	border-left:6px solid #0555a6;
	padding:4px 0 2px 8px;
}
.fellowSub{
	font-size:60%;
}
.fellowTitle{
	font-size:120%;
	font-weight:bold;
	margin:0 0 20px 12px;
}
.fellowTxt{
	margin-left:12px;
	font-size:110%;
	line-height:180%;
}
.fellowList{
	width:94%;
	max-width:1400px;
	margin:auto;
}
.environmentList{
	width:94%;
	max-width:1100px;
	margin:auto;
}
.environmentFrame1{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	margin:0 auto 30px;
	padding-bottom:30px;
	border-bottom:1px dotted #064f4b;
}
.environmentLeft1{
	width:25%;
	margin-right:2%;
}
.environmentLeft1 img{
	max-width:240px;
	width:100%;
	/*border-radius:100%;*/
}
.environmentRight1{
	width:73%;
}
.environmentName{
	font-size:140%;
	font-weight:bold;
	margin:0 auto 10px;
}
.environmentImg{
	display:flex;
	margin:20px auto 0;
}
.environmentImg p{
	width:48%;
	margin:0 1%;
}
.entryBtn{
	width:80%;
	max-width:600px;
	margin:60px auto 40px;
}
.entryBtn a{
	display:block;
	background-color:#fff;
	border:2px solid #0b5a9c;
	padding:25px 30px 35px 50px;
	color:#0b5a9c;
	position:relative;
}
.entryBtn a::before{
	font-size:160%;
	font-family: "Font Awesome 5 Free";
	content: '\f054';
	font-weight: bold;
	position: absolute;
	top: 50%;
	right: 40px;
	transform: translate(0,-50%);
	-webkit-transform: translate(0,-50%);
	-ms-transform: translate(0,-50%);
	transition: .3s;
}
.entry-en{
	display:block;
	font-size:300%;
	font-weight:500;
	line-height:120%;
}
.entry-jp{
	display:block;
	font-size:90%;
}
.entryBtn a:hover{
	color:#fff;
	background-color:#0b5a9c;
}
/*中途採用*/
#mid-careerBox{
	width:96%;
	max-width:800px;
	margin:0 auto 80px;
	background-color:#fff9f6;
	padding:40px 20px;
	box-sizing:border-box;
}
#mid-careerTitle{
	color:#fd5234;
	font-size:200%;
	font-weight:bold;
	margin-bottom:30px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center; 
	align-items: center;
}
#mid-careerTitle::before,
#mid-careerTitle::after {
	content: '';
	width: 40px;
	height: 2px;
	background-color:#ff9b8a;
}
#mid-careerTitle::before{
	margin-right:20px;
}
#mid-careerTitle::after {
	margin-left:20px;
}
#mid-careerTxt{
	display:table;
	margin:auto;
	font-weight:500;
}
#mid-careerImg{
	width:92%;
	margin:20px auto 0;
	text-align:center;
}
#mid-careerPC{
	margin:auto;
}
#mid-careerSP{
	display:none;
	margin:auto;
}
@media screen and (max-width: 960px) {
.fellowFrame1, .fellowFrame2{
	display:block;
	margin:0 auto 30px;
}
.fellowLeft1, .fellowLeft2{
	width:100%;
	margin:0 auto 20px;
}
.fellowRight1, .fellowRight2{
	width:100%;
	max-width:800px;
	margin:auto;
}
.recruitBox2 p{
	width:48%;
	margin:0 1% 10px;
}
.recruitBox2 p:last-child{
	display:none;
}
}
@media screen and (max-width: 768px) {
#mid-careerPC{
	display:none;
}
#mid-careerSP{
	display:block;
}
}
@media screen and (max-width: 680px) {
#messageBox{
	font-size:2.4vw;
}
}
@media screen and (max-width: 480px) {
#recruitMain h2.recruit-h2{
	font-size:150%;
}
#messageBox{
	font-size:100%;
	text-align:left;
	letter-spacing:0;
}
.kaigyo{
	display:inline;
}
#mid-careerBox{
	margin-bottom:60px;
	padding:40px 10px;
}
#mid-careerTitle{
	font-size:160%;	
}
#mid-careerTitle::before,
#mid-careerTitle::after {
	width: 30px;
}
#mid-careerTitle::before{
	margin-right:12px;
}
#mid-careerTitle::after {
	margin-left:12px;
}
#mid-careerImg{
		width:70%;
}
}
/*募集要項・エントリーフォーム*/
#bosyuTable table{
	width:96%;
	margin:0 auto 120px;
}
#bosyuTable table th{
	width:200px;
	padding:20px;
	border-bottom:1px dotted #ccc;
	text-align:left;
	font-size:110%;
}
#bosyuTable table td{
	padding:20px;
	border-bottom:1px dotted #ccc;
}
@media screen and (max-width: 960px) {
.environmentList{
	display:flex;
	flex-wrap:wrap;
}
.environmentFrame1{
	width:46%;
	display:block;
}
.environmentFrame1:nth-child(2n+1){
	margin-right:2%;
}
.environmentLeft1{
	width:70%;
	text-align:center;
	margin:auto;
}
.environmentRight1{
	width:100%;
}
.environmentName{
	text-align:center;	
}
}
@media screen and (max-width: 768px) {
#bosyuTable table{
	width:100%;
	margin:0 auto 60px;
}
#bosyuTable table th{
	width:auto;
	display:block;
	padding:10px;
	border-bottom:1px dotted #000;
}
#bosyuTable table td{
	display:block;
	padding:10px 10px 20px 20px;
	border-bottom:none;
}
}
@media screen and (max-width: 480px) {
.environmentList{
	display:block;
}
.environmentFrame1{
	width:100%;
	margin:0 auto 30px;
}
.environmentFrame1:nth-child(2n+1){
	margin:0 auto 30px;
}
.entryBtn a{
	padding:15px 20px 20px 30px;
}
.entryBtn a::before{
	font-size:120%;
	right:15px;
}
.entry-en{
	font-size:200%;
}
.entry-jp{
	font-size:80%;
}
}
/******************
お問い合わせ[PC]
******************/
/* contact form 7 */
#contactForm{
	margin:0 auto;
	width:96%;
}
#contactForm input,
#contactForm select{
	/*-webkit-appearance: none;*/
	padding: 5px 1% 5px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	-moz-box-shadow: inset 1px 2px 5px -6px rgba(0,0,0,0.5);
	-webkit-box-shadow: inset 1px 2px 5px -6px rgba(0, 0, 0, 0.5);
	box-shadow: inset 1px 2px 5px -6px rgba(0,0,0,0.5);
	color: #323232;
	border:1px solid #777;
	background-color:#fff;
	position:relative;
	font-family:Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}
#contactForm textarea{
	overflow: auto;
	height:120px;
	padding: 5px 1% 4px;
	line-height:1.1em;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	color: #323232;
	border:1px solid #777;
	width:90%;
	font-family:Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}
input:focus, textarea:focus {
	outline: 2px solid #00f;
}
input[type=checkbox]:focus{
	outline:none;
}
#js-select{
	font-size:96%;
}
#contactForm table{
	width:100%;
	border-spacing: 0;
}
#contactForm tr{
	clear:both;
}
#contactForm th{
	position:relative;
	width:34%;
	text-align:left;
	font-weight:500;
	padding:16px 0 12px 2%;
	vertical-align:top;
	border-bottom:1px solid #c2c3c3;
	box-sizing:border-box;
}
#contactForm td{
	width:64%;
	padding:14px 0;
	border-bottom:1px solid #c2c3c3;
	box-sizing:border-box;
}
span.required{
	background-color:#ee947e;
	display:inline-block;
	color:white;
	margin-top:3px;
	padding:0px 4px 2px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	-o-border-radius: 3px;
	-ms-border-radius: 3px;
	border-radius: 3px;
	position:absolute;
	right:15%;
	font-size:80%;
	line-height:1.4em;
}
#sendingBox{
	width:96%;
	border-bottom:1px solid #ccc;
	margin:auto;
	text-align:center;
	padding:30px 0;
}
#sendingTxt{
	font-weight:bold;
	font-size:120%;
}
#sendingCheck{
}
#caveat{
	font-size:80%;
	color:#ff0000;
	text-align:center;
}
#formBtnBox{
	max-width:280px;
	width:90%;
	margin:40px auto 0;
	display:flex;
	justify-content: space-between;
}
.kakuninBtn{
	width:152px;
}
.kakuninBtn input{
	width:150px;
	height:46px;
	cursor:pointer;
	outline:none;
	background-color:#4a4a4a;
	color:white;
	border:none;
	letter-spacing:1px;
	-moz-box-shadow: 0px 1px 1px rgba(000,000,000,0.3);  
	-webkit-box-shadow: 0px 1px 1px rgba(000,000,000,0.3);  
	box-shadow: 0px 1px 1px rgba(000,000,000,0.3);
	transition:.3s;
	font-weight:500;
	font-family:"游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
.kakuninBtn input:hover{
	background-color:#0b9b93;
}
.returnBtn input{
	height:46px;
	outline:none;
	border:none;
	padding:5px 10px;
	background-color:#ccc;
	border:1px solid #ccc;
	-moz-box-shadow: 0px 1px 1px rgba(000,000,000,0.3);  
	-webkit-box-shadow: 0px 1px 1px rgba(000,000,000,0.3);  
	box-shadow: 0px 1px 1px rgba(000,000,000,0.3);
	transition:.3s;
	font-weight:500;
	font-family:"游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
.returnBtn input:hover{
	background-color: #aaaaaa;
}
.confirmForm span.required{
	display:none;
}
#contactForm select{
	-webkit-appearance: checkbox;
}
::placeholder {

}
.sent #formBox{
	display: none;
}
/*
.sentout_message{
	display: none;
}
.sent .sentout_message{
	display: block;
}
*/
/*送信成功*/
div.wpcf7 form.sent .wpcf7-response-output{
	background:#d5edda;
	color:#185626;
	border:1px solid #c4e5cc !important;
	padding:10px 10px 10px 20px !important;
}
/*送信NG・失敗*/
div.wpcf7 form.failed .wpcf7-response-output,
div.wpcf7 form.aborted .wpcf7-response-output,
div.wpcf7 form.invalid .wpcf7-response-output,
div.wpcf7 form.unaccepted .wpcf7-response-output,
div.wpcf7 form.payment-required .wpcf7-response-output{
	background:#f7d7da;
	color:#711d26;
	border:1px solid #f4c6cb !important;
	padding:10px 10px 10px 20px !important;
} 
/*スパムなどで送信ブロックされた場合*/
div.wpcf7 form.spam .wpcf7-response-output{
	background:#fff2cf;
	color:#846314;
	border:1px solid #feedbd !important;
	padding:10px 10px 10px 20px !important;
}
#contactForm .wpcf7-not-valid {
	background: #ffebef !important;
}
.wpcf7 .wpcf7-submit:disabled{
	background-color:#808080;
}
.hosoku-txt,.hosoku-txt1{
	color:#575757;
	font-size:85%;
	line-height:1.4em;
}
.hosoku-txt{
	margin-left:8px;
}
.hosoku-txt1{
	margin-top:10px;
	padding-left: 14px;
	text-indent: -14px;
}
#formTel{
	font-size:120%;
	font-weight:bold;
	margin:20px auto 30px;
}
#recruitMain .sentout_message h2{
	margin: 0 auto 30px;
	font-size: 180%;
	font-weight: bold;
	line-height: 120%;
	position: relative;
	padding: 5px 8px 8px;
	border-bottom: 2px solid #0b9b93;
	text-align:left;
}
@media screen and (max-width: 768px) {
#contactForm{
	width:100%;
}
#contactForm th{
	width:100%;
	display:block;
	padding:10px 0 10px 10px;
	border:none;
	background-color:#f0f0f0;
}
#contactForm td{
	width:100%;
	display:block;
	padding:15px 10px 30px 20px;
	border-bottom:none;
}
#contactForm input.wpcf7-text, #contactForm input.wpcf7-email, #contactForm input.wpcf7-textarea {
	width:90%;
	max-width:400px;
}
#contactForm input.p-postal-code{
	max-width:auto;
	width:auto;
}
span.required{
	position:static;
	margin-left:20px;
}
.hosoku-txt{
	margin-top:10px;
	display:block;
}
}

/******************
プライバシーポリシー[PC]
******************/

.pp-txt{
	margin:	0 2% 40px;
}

.pp-txt1{
	margin:5px auto 0;
    text-indent: -12px;
    padding-left: 34px;

}
.pptxtM40{
	margin-bottom:40px;	
}

/******************
プライバシーポリシー[タブレット・スマートフォン]
******************/

@media screen and (max-width: 1130px) {

.pp-txt{
	width:100%;
	margin-bottom:4px;
}

.pp-txt1{
	width:100%;
	text-indent: -10px;
	padding-left: 5%;
}

}


/******************
サイトマップ[PC]
******************/

.sitemapBox{
	display:flex;
	flex-wrap:wrap;
}
.sitemapBox li{
	width:31.33333%;
	margin:0 1% 20px;
}
.sitemapBox li a{
	padding-top:5px;
	padding-bottom:5px;
	border:1px solid #0b9b93;
	display:block;
	padding-left:40px;
	color:#323232;
	position:relative;
	transition:.3s;
}

.sitemapBox li span{
	padding-top:8px;
	padding-bottom:8px;
	border:1px solid #cccccc;
	display:block;
	padding-left:30px;
}

.sitemapBox li ul{
	padding-bottom:20px;
}

.sitemapBox li ul li a{
	padding-left:50px;
	margin:3px 0px;
	border:none;
	position:relative;
}
.sitemapBox li ul li a::before {
	content: '';
	display: block;
	position: absolute;
	height: 0;
	width: 0;
	top: 15px;
	left: 36px;
	border-top: 5px solid transparent;
	border-right: 8px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 8px solid #0b9b93;
	display: block;
	position: absolute;
	z-index: 1;
}
.sitemapBox li a::after{
	position: absolute;
	margin: auto;
	content: "";
	vertical-align: middle;
	top:16px;
	left: 20px;
	width: 6px;
	height: 6px;
	border-top: 1px solid #0b9b93;
	border-right: 1px solid #0b9b93;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transition:.3s;
}

.sitemapBox li a:hover{
	text-decoration:none;
	background-color:#0b9b93;
	color:#fff;
}
.sitemapBox li a:hover::after{
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
}

/******************
サイトマップ[スマートフォン]
******************/

@media screen and (max-width: 640px) {
.sitemapBox{
	width:90%;
	float:none;
	padding-left:5%;
	padding-right:5%;
}

.sitemapWrap .sitemapBox:first-child{
	margin-left:0;
	border-right:none; 
}

}


/******************
お知らせ[PC]
******************/

#infoBox{
	margin:0px auto 30px;
	width:90%;
}

#infoBox ul{
	clear:both;
	overflow:hidden;
}

#infoBox li{
	padding:15px 1%;
	border-bottom:1px dotted #323232;
	overflow:hidden;
	font-size:110%;
}

@media screen and (max-width: 768px) {
#infoBox{
	width:100%;
}
#infoBox li{
	font-size:100%;
}
}