@charset "utf-8";
/* -------------------------------
 *
 *
 * PC用 (min-width: 641px)
 *
 *
------------------------------- */

/* -------------------------------
   BASE
------------------------------- */

#wrap{
	position:relative;
	width:100%;
	min-width:1020px;
	margin:0 auto;
	overflow:hidden;
	padding-top: 110px;
}


.pcNL:before{
	content: "\A" ;
	white-space: pre ;
}

a{
	transition: all .3s;
}

a.margin {
    display: block;
    padding-top: 70px;
    margin-top: -55px;
}

a:hover{
	opacity: .7;
}

/* -------------------------------
   common
------------------------------- */

/*.sec{
	padding:50px 0;
}*/

.sec .tit{
	font-size:30px;
	margin-bottom:10px;
	margin-top:30px;
	padding:30px;
}

.sec .inner{
	width:980px;
	margin:0 auto;
}

.sec.bottomContact .inner ul li{
	flex-grow: 1;
	font-size:18px;
	padding-bottom: 30px;
}

.sec.bottomContact .inner ul li a{
	width:180px;
	height:180px;
	transition:all .3s;
}

.sec.bottomContact .inner ul li a:hover{
	opacity:.7;
}

.subSec{
	margin: 50px 0;
}

/*.subSec:first-child{
	margin-top:0;
}*/

.subSec:last-child{
	margin-bottom:30px;
}

.subTit{
	font-size: 24px;
	margin: 50px 10px 10px 10px;
}

.thirdSec{
	margin:20px 0;
}

.thirdSec:last-child,
.fourthSec:last-child{
	margin-bottom: 20px;
}

.fourthSec{
	margin:10px 0 ;
}

.thirdTit{
	font-size: 18px;
	padding: 10px 20px;
	margin: 30px 10px 10px 10px;
	/*margin-top: 10px;
	margin-bottom: 10px;*/
}

.fourthTit{
/*	padding: 0px 20px;*/
	padding: 30px 0px 0px 20px;
	font-size: 17px;
	font-weight: bold;
}

.btn{
	font-size:16px;
	margin-top:5px;
}

.btn a{
	width:300px;
	padding:15px;
	display: inline-block;
}

.lbtn{
	font-size:16px;
	margin-top:10px;
}

.lbtn a{
	width:300px;
	padding:15px;
	display: inline-block;
}

.Linebtn{
	font-size:16px;
}

.Linebtn a{
	width: 208px;
	display: inside-block;
}

p.dotbox{
    margin: 30px 25px 10px 25px;
    background: #d6ebff;
    box-shadow: 0px 0px 0px 8px #d6ebff;
    border: dashed 2px white;
    padding: 5px 20px;
    font-size:20px;
    /*font-weight:bold;*/
}

#pageTit h1,
#pageTit p{
	width: 980px;
	margin: 0 auto;
	padding: 35px 0;
	font-size: 30px;
}
.mainVisual{
	margin-top: 110px;
}

#path ul{
	width: 980px;
	margin: auto;
}

.wp-pagenavi{
	margin-top: 50px;
}

.baseTable{
	width: 95%;
	margin: 30px;
}

.baseTable:first-child{
	margin-top:0;
}

.baseTable:last-child{
	margin-bottom:0;
}

.baseTable th{
	vertical-align: top;
	width: 200px;
	border: 1px solid #E5E5E5;
}

.baseTable td{
  padding: 15px 20px;
	border: 1px solid #E5E5E5;
}


.basicTable{
	width: 95%;
	margin: 15px 20px;
	box-shadow: 3px 3px 10px 3px #b1b1b180;
	padding: 15px;
	display: block;
}

.basicTable:first-child{
	margin-top:0;
}

.basicTable:last-child{
	margin-bottom:0;
}

.basicTable th{
	vertical-align: top;
	/*width: 200px;*/
	/*border: 1px solid #fffefd;*/
	text-align: center;
	padding: 10px;
}

.basicTable th .imgs img,.basicTable td .imgs img{
	max-height: 100%;
	max-width: 100%;
	width:auto;
	
	object-fit: cover;
}

.basicTable th .imgs,.basicTable td .imgs{
	width: 300px;
}

.basicTable td{
	padding: 10px;
	/*border: 1px solid #fffefd;*/
}

/* -------------------------------
   header
------------------------------- */

#header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 110px;
	background: rgba(255,255,255,.95);
	border-bottom:5px solid #0C5B94;
	z-index: 101;
}

#header .inner{
	width:980px;
	margin:0 auto;
	padding:28px 0;
	position: relative;
}

#header .inner #logo img{
	width: auto;
	height: 90px;
}

#header .inner #hNav{
	position: absolute;
	right:0;
	top:0;
	display: flex;
}

#header .inner #hNav form,
#header .inner #hNav form input{
  background: #f7f7f7;
}

#header .inner #hNav .lang{
	position: relative;
	z-index: 2;
	background: #005491;
}

#header .inner #hNav .lang li{
	width:110px;
}

#header .inner #hNav .lang li a{
	color:#fff;
	font-weight: bold;
	display: block;
	text-decoration: none;
	height:39px;
	padding:8px 26px;
	transition:all 0.3s;
  text-align: center;
}

#header .inner #hNav .lang li a:hover{
	background-color: #4C87B2 !important;
	opacity: 1;
}

#header .inner #hNav .lang li:first-child a{
	background: url(../images/icon_lang.webp) no-repeat 11px 11px #005491;
	background-size:12px auto;
	position: relative;
}

#header .inner #hNav .lang li:first-child a:after{
	content:"";
	display: block;
	border-top:solid 6px #fff;
	border-left:solid 4px transparent;
	border-right:solid 4px transparent;
	width:0;
	height:0;
	position: absolute;
	right: 5px;
	top:18px;
}

#header .inner #hNav .lang li:not(:first-child) a{
	background: url(../images/arrow_white.webp) no-repeat 16px center;
	background-size:8px auto;
}

body:not(#home) #hNav .search,
body:not(#home) #hNav .search input[type="text"]{
	background: #f7f7f7;
}

#header .inner #hNav > ul.lang li:not(:first-child){
  display: none;
}

#header .inner #hNav > ul.lang:hover li:not(:first-child){
  display: block;
}

#header .inner #gNav{
	position: absolute;
	left:120px;
	top:63px;
}

#header .inner #gNav > ul{
	display: flex;
}

#header .inner #gNav > ul > li{
	/*font-weight: bold;*/
	padding: 20px 0;
	margin: -20px 0 -20px 24px;
}

#header .inner #gNav > ul > li > a{
	text-decoration: none;
	display: block;
	position: relative;
	font-size: 18px;
}

#header .inner #gNav ul .nav-recruit a span{
  color:#FF4111;
}

#home #header .inner #gNav ul .nav-home a span,
#company #header .inner #gNav ul .nav-company a span,
#products #header .inner #gNav ul .nav-products a span,
#technic #header .inner #gNav ul .nav-technic a span,
#trouble #header .inner #gNav ul .nav-trouble a span{
	color:#0C5B94;
	border-bottom:solid 1px #0C5B94;
}
#header .inner #gNav > ul > li > ul{
	display: flex;
	flex-wrap: wrap;
	position: absolute;
	top: calc(100% + 21px);
	right: 0;
	width: 980px;
	transform: scaleY(0);
	transform-origin: left top;
	background: #0C5B94;
	color: #FFF;
	transition-duration: .25s;
	padding: 0 20px 20px 0;
	line-height: 1.2;
	opacity: 0;
}
#header .inner #gNav > ul > li:hover > ul{
	transform: scaleY(1);
	opacity: 1;
}
#header .inner #gNav > ul > li > ul > li,
#header .inner #gNav > ul > li > ul > ul{
	width: 25%;
	padding: 20px 0 0 20px;
}
#header .inner #gNav > ul > li > ul > ul > li:not(:first-child){
	margin-top: 20px;
}
#header .inner #gNav > ul > li > ul > ul.wide{
	width: 50%;
}
#header .inner #gNav > ul > li > ul > ul.wide ul{
	display: flex;
	flex-wrap: wrap;
}
#header .inner #gNav > ul > li > ul > ul.wide ul li{
	width: 50%;
}
#header .inner #gNav > ul > li > ul a{
	color: #FFF;
}
#header .inner #gNav > ul > li >  ul > li > a,
#header .inner #gNav > ul > li >  ul > li > span,
#header .inner #gNav > ul > li >  ul > ul > li > a,
#header .inner #gNav > ul > li >  ul > ul > li > span{
	display: block;
	padding-bottom: 10px;
	border-bottom: 1px solid #FFF;
	text-decoration: none;
}
#header .inner #gNav > ul > li > ul > li > a:before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	margin-top: -2px;
	width: 8px;
	height: 13px;
	background: url(../images/arrow_white.webp);
	background-size: 100% 100%;
	margin-right: 10px;
}
#header .inner #gNav > ul > li > ul > li > ul,
#header .inner #gNav > ul > li > ul > ul > li > ul{
	padding: 5px 0 0 30px;
}
#header .inner #gNav > ul > li > ul > li > ul li,
#header .inner #gNav > ul > li > ul > ul > li > ul li{
	list-style: disc;
	margin-top: 5px;
}

/* 通常は下線無し */
#header .inner #gNav > ul > li > ul > li > ul a,
#header .inner #gNav > ul > li > ul > ul > li > ul a{
	text-decoration: none;
}

/* 選択されている場合は文字色変更、下線付ける */
#header .inner #gNav > ul > li.current > a{
  color: #0C5B94;
  border-bottom: solid 1px #0C5B94;
}

#header .inner #gNav > ul > li > ul li.current > a{
  border-bottom: solid 1px #FFF;
}

/* 採用情報 を赤く */
#header .inner #gNav > ul > li:nth-last-child(1) > a{
 /*color: red;*/
}

#header .inner #hNav .btnContact a{
	background: #005491;
	display: block;
	color:#fff;
	text-decoration: none;
	height:40px;
	font-weight: bold;
	padding:8px 15px 0;
	transition:all 0.3s;
	margin-left: 10px;
}


#header .inner #hNav .btnContact a:hover{
	opacity: .7;
}

#header .inner #hNav .btnContact a:before{
	content:"";
	width:17px;
	height:12px;
	background: url(../images/icon_mail.webp);
	background-size:100% 100%;
	display: inline-block;
	vertical-align: middle;
	margin-right:5px;
}

#pagetop {
	position: fixed;
	right:20px;
	bottom: 120px;
}

#inquiry {
	position: fixed;
	right:20px;
	bottom: 50px;
}


/* -------------------------------
   footer
------------------------------- */

#footer{
	background: #002037;
}

#footer .inner{
	/* padding:60px 50px 20px; */
	padding: 60px 0 20px;
	width: 980px;
	margin: 0 auto;
}

#footer .inner #fNav{
  padding-bottom: 50px;
}

#footer .inner #fNav ul input{
  display: none;
}

#footer .inner #fNav > ul{
	display: flex;
  /* columns: auto 285px; */
  break-inside: avoid-column;
}

#footer .inner #fNav a{
	text-decoration: none;
	color:#fff;
}

#footer .inner #fNav a:hover{
	/* text-decoration: underline; */
}

#footer .inner #fNav > ul > li{
	font-size:16px;
	font-weight: bold;
	padding: 0 0 15px 10px;
	border-left: solid 1px #607d8b38;
	break-inside: avoid-column;
	/* width: 25%; */
}


#footer .inner #fNav > ul > li.ewm img{
	max-width: 150px;
	display: block;
	margin: 0 auto;
}

#footer .inner #fNav > ul > li.ewm span{
	display: block;
	color: #fff;
	margin-top: 15px;
	text-align: center;
}

#footer .inner #fNav > ul > li:nth-child(1){
	width: 20%;
}

#footer .inner #fNav > ul > li:nth-child(2){
	width: 20%;
}

#footer .inner #fNav > ul > li:nth-child(3){
	width: 40%;
}

#footer .inner #fNav > ul > li:nth-child(4){
	width: 20%;
}

#footer .inner #fNav > ul > li:last-child{
	margin-bottom:0;
}

#footer .inner #fNav ul li ul{
	margin-left:7px;
	margin-top:10px;
}

#footer .inner #fNav ul li ul li{
	font-size:14px;
	font-weight: normal;
	margin-top:6px;
}

#footer .inner #fNav ul li ul li:before{
	content:"";
	display: inline-block;
	vertical-align: middle;
	margin-top:-2px;
	width:8px;
	height:13px;
	background: url(../images/arrow_white.webp);
	background-size:100% 100%;
	margin-right:10px;
}

#footer .inner .fBottom{
	/* display: flex;
	justify-content: space-between; */
	text-align: center;
}

#footer .inner .fBottom .sns{
	display: flex;
}

#footer .inner .fBottom .sns li{
	margin-right:20px;
}

#footer .inner .fBottom .copyright{
	color:#fff;
	padding-top:10px;
}

/* -------------------------------
   side
------------------------------- */



/* -------------------------------
   contents
------------------------------- */



/* -------------------------------
   home
------------------------------- */

.mainVisual .slider li img{
	width:100%;
	height:auto;
	margin-top:-112px;
}

#productsSec ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#documentSec ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.txtBnr{
	font-size:0;
	/*margin-left: -28px;
	margin-top: -28px;*/
}

.txtBnr li{
  display: inline-block;
  margin-left:40px;
  margin-top:28px;
  font-size:14px;
}
#productsSec .txtBnr{
	justify-content: center;
	padding-bottom: 30px;
}
#productsSec .txtBnr li{
	width: 286px;
}

#documentSec .txtBnr{
	justify-content: center;
}
#documentSec .txtBnr li{
	width: 286px;
}

.txtBnr li a{
	width:308px;
	height:250px;
	transition:all .3s;
	font-size:20px;
	border-radius: 10px;
}
.txtBnr li a img {
	width: 100%;
	max-height: 100%;
	border-radius: 10px;
}


.txtBnr.col2 li a{
	width:440px;
	background-size:cover !important;
}


.txtBnr li a:hover{
	opacity:.7;
}

.txtBnr2 li a:hover{
	opacity:.7;
}

#troubleSec ul{
	display: flex;
	justify-content: space-between;
	padding: 30px 0px;
}

#troubleSec ul li{
	width:470px;
}

#troubleSec ul li img{
	margin-bottom:15px;
}

.infoList li{
	display: flex;
	padding:20px;
	align-items: center;
}

.infoList li time{
	width:110px;
}

.infoList li .cat,
.singlePost .entryHead .cat{
	padding: 7px;
	width: 130px;
	margin-right: 30px;
	font-size: 12px;
	display: inline-block;
}

.infoList li a{
	width: 670px;
}

/* -------------------------------
   detail
------------------------------- */

.singlePost .entryHead .entryTit{
	font-size: 24px;
	margin: 20px 0 30px;
	padding-bottom: 10px;
}

.singlePost .entryContent{
	margin-bottom: 40px;
}

/* -------------------------------
   company - message
------------------------------- */

.message{
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}

.message .photo{
	margin-left:40px;
}

.philosophy li{
	margin-bottom: 5px;
	font-size: 18px;
}

.bottomLink{
	padding:25px 40px;
	margin-right: 10px;
	margin-left: 10px;
	margin-bottom:75px;
}

.bottomLink h2{
	font-size: 20px;
}

.bottomLink ul,
.productsBox .txt .link{
	margin-top:5px;
	display: flex;
}

.bottomLink ul li,
.productsBox .txt .link li{
	margin-right:40px;
	margin-bottom:5px; /* 7月10日追加 */
}

.bottomLink ul li a,
.productsBox .txt .link li a{
	text-decoration: none;
}

.bottomLink ul li a:hover,
.productsBox .txt .link li a:hover{
	text-decoration: underline;
}

.productsBox .txt .linktate{
	margin-top:5px;
/*	display: flex;*/
}

.productsBox .txt .linktate li{
	margin-right:40px;
	margin-bottom:5px;
}

.productsBox .txt .linktate li a{
	text-decoration: none;
}

.productsBox .txt .linktate li a:hover{
	text-decoration: underline;
}

.childCatList{
	display: flex;
	flex-wrap: wrap;
}
.childCatList li{
	width: calc(50% - 10px);
}
.childCatList li:nth-child(even){
	margin-left: 20px;
}
.childCatList li:nth-child(n+3){
	margin-top: 10px;
}
.childCatList li:nth-last-child(2):nth-child(odd),
.childCatList li:nth-last-child(1):nth-child(even){
	border-bottom: none;
}


.companyBox{
	display: table;
	width: 100%;
}
.companyBox .photo{
	display: table-cell;
	vertical-align: top;
	width: 240px;
	font-size: 0;
}
.companyBox .photo img:nth-child(n+2){
	margin-top: 10px;
}
.companyBox .photo.wide{
	width: 490px;
}
.companyBox .photo.wide img:nth-child(2){
	margin-top: 0!important;
}
.companyBox .photo.wide img:nth-child(even){
	margin-left: 10px;
	margin-top: 10px;
}
.companyBox .txt{
	display: table-cell;
	vertical-align: top;
	padding-left: 20px;
}
.companyBox dt{
	font-size: 18px;
}

/* -------------------------------
   products
------------------------------- */

.productsBox{
	display: flex;
}

.productsBox .photo{
	margin:0px 40px;
}
.productsBox .photo img{
	width: 300px;
	height: auto;
	margin-top: 15px
}

.productsList{
/*	margin-left:-20px;*/
}

.productsList li{
	width:210px;
	margin-left:20px;
}
.productsList li:nth-child(n+5){
	margin-top: 20px;
}

.productsList li a .name{
	display: block;
	margin-top:10px;
}

.leadTxt{
	font-size:18px;
}

.detailImg{
	width:450px;
	margin:35px auto 50px;
}

.detailImg .thumbnail{
	margin-left:-5px;
}

.detailImg .thumbnail li{
	width: 86px;
	margin: 5px 0 0 5px;
	cursor: pointer;
}

.detailImg .thumbnail li:hover{
	opacity: .7;
}

.thirdSec table{
	width:95%;
}

/* -------------------------------
   trouble
------------------------------- */

.numberList dt{
	font-size: 18px;
}

#electronicsFlow li img{
	width: auto;
	height: 177px;
}

/*
 * スマホ用
 */
#menu-navibtn,
#navibtn,
#footer .search,
#footer .lang,
#footer .btnContact,
#gNav ul li input,
#gNav ul li label
{
  display: none;
}

