@charset "utf-8";
/* -------------------------------
 *
 *
 * スマホ用 CSS (max-width: 640px)
 *
 *
------------------------------- */

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

body{
	-webkit-text-size-adjust: 100%;
}
#wrap{
	width:100%;
	min-width:320px;
	position: relative;
}

.spNL:before{
	content: "\A" ;
  white-space: pre ;
}
img{
	max-width:100%;
	width:auto;
	max-height:100%;
	height: 100%;
}
.yt_play img{
	height: revert-layer;
}
	
#home #productsSec ul li a img {
	height: 250px;
}
.basicTable a img {
  /*width: 120px;*/
}
.slider img {
  width: 100%;
  height: auto;
}
/* -------------------------------
   common
------------------------------- */

.sec{
	padding:30px 20px;
}

.sec .tit{
	font-size:20px;
	margin-bottom:20px;
}

.inner ul li img {
	width: 100%;
}
.sec.bottomContact .inner ul{
	/* flex-wrap: wrap; */
	justify-content: center;
	width: 100%;
}

.sec.bottomContact .inner ul li{
	width: 50%;
}

.sec.bottomContact .inner ul li span{
	display: block;
}

.sec.bottomContact .inner ul li a{
	width:130px;
	height:130px;
}

.sec.bottomContact .inner ul li a img{
	width:30px;
	height: auto
}

.sec.bottomContact .inner ul li:not(:nth-child(-n+2)){
	margin-top: 20px;
}

.subTit{
	font-size: 18px;
	margin-bottom: 20px;
}

.subSec{
	margin: 30px 0;
}

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

.subSec:last-child{
	margin-bottom:0;
}
.basicTable,
.basicTable tbody,
.basicTable tr,
.basicTable td,
.basicTable th{
	display: block;
}

.basicTable{
	border: 1px solid #fffefd;
	border-top: none;
	margin: 20px 0;
}

.basicTable th{
	border-top: 1px solid #fffefd;
	margin-bottom: 10px;
	padding: 10px;
}

.basicTable td{
	margin: 5px;
}

.thirdSec{
	margin:25px 0 30px;
}

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

.thirdTit{
	font-size: 16px;
	padding: 10px;
	margin: 20px 0;
}

.btn{
	margin-top:20px;
	margin-bottom: 60px;
}

.btn a{
	padding:15px;
	display: block;
}

table{
	width:100%;
}
.tableScroll{
	overflow: auto;
  white-space: nowrap;
}
.tableScroll::-webkit-scrollbar{
	height: 5px;
}
.tableScroll::-webkit-scrollbar-track{
	background: #F1F1F1;
}
.tableScroll::-webkit-scrollbar-thumb{
	background: #BCBCBC;
}

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

#pageTit h1,
#pageTit p{
	text-align: center;
	padding: 20px;
	font-size: 24px;
	margin-top: 55px;
}
.mainVisual {
	margin-top: 55px;
}

#path ul{
	padding: 0 20px;
}

#pageIndex > ol > li{
	font-size: 16px;
}

#pageIndex ol li ol{
	margin-left: .5em;
}

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

.baseTable{
	border: 1px solid #E5E5E5;
	border-top: none;
	margin: 20px 0;
}

.baseTable th{
	border-top: 1px solid #E5E5E5;
	margin-bottom: 10px;
	padding: 10px;
}

.baseTable td{
	margin:0 10px 10px;
}

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

.basicTable{
	border: 1px solid #fffefd;
	border-top: none;
	margin: 20px 0;
}

.basicTable th{
	border-top: 1px solid #fffefd;
	margin-bottom: 10px;
	padding: 10px;
}

.basicTable td{
	margin:5px;
}

/*見出し固定
.koteiTable{
  width: 100%;
  margin-left:20px;
}
@media screen and (max-width: 640px) {
.koteiTable{
  width: 100%;
  margin-left: 10px;
}
}

.koteiTable th,
.koteiTable td{
  height: auto;
  vertical-align: middle;
  padding: 10px;
  border: 1px solid #ccc;
}
.fixed01{
  position: sticky;
  top: 55px;
  color: #000000;
  background: #c5e3fe;
  &:before{
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: 100%;
    height: auto;
  }
}
*/
/* -------------------------------
   header
------------------------------- */

#header{
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(255,255,255,.95);
	width: 100%;
	z-index: 101;
}

#header #logo{
  position: fixed;
  width: 100%;
	line-height: 1;
  background: #FFF;
  padding: 10px;
  z-index: 1;
}

#header #logo img{
	height: 35px;
	width: auto;
}

#hNav {
  padding-top: 20px;
}

/*
 * ハンバーガーメニュー
 */
#spNavBtn{
	position: absolute;
	width:26px;
	height:20px;
	right:20px;
  top: 18px;
  z-index: 2;
}

#spNavBtn span,
#spNavBtn:before,
#spNavBtn:after{
	position: absolute;
	width:100%;
	height:2px;
	background: #005491;
	display: block;
	transition: all .3s;
}

#spNavBtn span{
	top:50%;
	margin-top:-1px;
}

#spNavBtn:before{
	content:"";
	top:0;
}

#spNavBtn:after{
	content:"";
	bottom:0;
}

#spNavBtn span span{
  display: block;
  overflow: hidden;
  width: 1px;
  height: 1px;
}


/*
 * 押下時のバツ印
 */
#menu-navibtn:checked ~ #header label #spNavBtn span{
	opacity:0;
}

#menu-navibtn:checked ~ #header label #spNavBtn:before{
	top:50%;
	margin-top:-1px;
	transform: rotate(-135deg);
}

#menu-navibtn:checked ~ #header label #spNavBtn:after{
	top:50%;
	bottom:auto;
	margin-top:-1px;
	transform: rotate(135deg);
}

/*
 * ハンバーガーメニュー押下
 */
#menu-navibtn:checked ~ #header{
  background: #002037;
}

#menu-navibtn:checked ~ #header #hNav,
#menu-navibtn:checked ~ #header #gNav {
  display: block;
}

#menu-navibtn:checked ~ #header #hNav {
  margin-top: 55px;
}

#menu-navibtn:checked #gNav ul li{
  max-height: inherit;
  overflow-y: visible;
}

/*
 *検索ボックス
 */
#menu-navibtn:checked ~ #header #hNav .search{
	margin:0 auto;
	width:250px;
	display: flex;
	justify-content: space-between;
}

#hNav .search input[type="text"]{
	font-size:16px;
}

#hNav .btnContact{
	display: none;
}

/*
 * 言語
 */
#menu-navibtn:checked ~ #header #hNav .lang{
	display: flex;
	justify-content: center;
	margin:40px 20px;
	text-align:center;
	background: url(../images/icon_lang.png) no-repeat center top;
	background-size: 17px auto;
	padding-top:34px;
}

#hNav .lang li{
	width:33%;
	display: block !important;
}

#hNav .lang li a{
	color:#fff;
	text-decoration: none;
}

/*
 * 誘導印押下可能範囲拡大
 */
#gNav ul li {
  white-space: nowrap;
}

#gNav ul li label span {
  display: inline-block;
  width: 100%;
}

/*
 * 右向き誘導印
 */
#gNav ul li label span:before{
    content: "";
    display: inline-block;
    position: relative;
    top: 2px;
    width: 15px;
    height: 15px;
    background: url(../images/arrow_circle.png);
    background-size: 100%;
}

/*
 * 押下時下向き誘導印
 */
#gNav ul li input:checked ~ label > span:before{
    content: "";
    display: inline-block;
    position: relative;
    top: 2px;
    width: 15px;
    height: 15px;
    background: url(../images/down_arrow_circle.png);
    background-size: 100%;
}

/*
 * 2段目以降のメニュー
 */
#gNav ul li input ~ ul{
    display: none;
    padding-left: 5%;
    background-color: #005491;
}
/* 2段目以降メニュー */
#gNav ul li input:checked ~ ul{
    display: block;
}

/*
 * 非表示
 */
#gNav,
#gNav ul li input,
#menu-navibtn,
#hNav
{
  display: none;
}


/*

#header #hNav .lang{
	position: absolute;
	left:0;
	top:0;
	background: #0C5B94;
	width:100%;
	display: flex;
	justify-content: space-between;
	padding:10px 0;
}

#header #hNav .lang li{
	text-align: center;
	width:33%;
	line-height: 1;
}

#header #hNav .lang li:not(:last-child){
	border-right:solid 1px #fff;
}

#header #hNav .lang li a{
	color:#fff;
	text-decoration: none;
}

*/

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

#pagetop{
	position: fixed;
	right:5px;
	bottom:58px;
}

#pagetop img{
	width:30px;
}

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

#inquiry img{
	width:30px;
}

#menu-navibtn:checked ~ #header .inner {
  position: fixed;
  width: 100%;
	height: 100%;
	overflow-y: scroll;
	overflow-x: hidden;
	background: #002037;
}

#gNav  ul  li{
	border-bottom:solid 1px rgba(255,255,255,.05);
}

#gNav ul li:nth-child(1){
	border-top:solid 1px rgba(255,255,255,.05);
}

#gNav ul li > *:nth-child(1){
  color: #FFF;
	padding: 20px;
	display: inline-block;
	text-decoration: none;
}

#gNav ul li ul{
	display: none;
}

#footer #fNav,
#footer .sns{
	display: none;
}

#footer .copyright{
	background: #002037;
	color:#FFF;
	font-size:12px;
	text-align: center;
	padding:10px;
}

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



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

.stdTable,
.stdTable > tbody,
.stdTable > tbody > tr,
.stdTable > tbody > tr > th,
.stdTable > tbody > tr > td{
	display: block;
	width: 100%!important;
	height: auto!important;
}
.stdTable > tbody > tr > th,
.stdTable > tbody > tr > td{
	margin-top: -1px;
}


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

.txtBnr li{
/*	width:100%; */
/*	max-width:475px; */
/*	margin: auto; */
	font-size:16px;
}

.txtBnr li:not(:last-child){
	margin-bottom:20px;
}

.txtBnr li a{
	width:100%;
	height:250px;
	background-size:cover !important;
	position: relative;
	display: block;
	text-align: center;
	text-decoration: none;
	border-radius: 10px;
}

.txtBnr li a img {
  width: 100%;
  max-height: 100%;
	border-radius: 10px;
}

#troubleSec ul li{
	max-width: 475px;
	margin:0 auto;
}

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

#troubleSec ul li:not(:last-child){
	margin-bottom:20px;
}

.infoList li{
	padding:20px;
}

.infoList li time,
.infoList li span{
	display: inline-block;
	padding:2px 0;
}

.infoList li span{
	padding:2px 10px;
}

.infoList li a{
	display: block;
	margin-top:5px;
}

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

.singlePost .entryHead time{
	padding:2px 0;
}

.singlePost .entryHead .cat{
	padding: 2px 10px;
}

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

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

.message .photo figcaption{
	margin-bottom: 20px;
}

.philosophy li{
	font-size: 16px;
}

.bottomLink{
	padding:15px 20px;
}

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

.bottomLink ul{
	margin-top:10px;
}

.bottomLink ul li{
	margin-top:5px;
}

.bottomLink ul li a:before{
	margin-right: 5px;
}

a.margin {
    display: block;
    padding-top: 85px;
    margin-top: -70px;
}
.companyBox .photo{
	margin: 0 auto 20px auto;
	max-width: 490px;
	text-align: center;
	font-size: 0;
}
.companyBox .photo img{
	width: calc(50% - 5px);
}
.companyBox .photo img:nth-child(n+3){
	margin-top: 10px;
}
.companyBox .photo img:nth-child(even){
	margin-left: 10px;
}
.companyBox dt{
	font-size: 15px;
}

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

.productsBox .photo{
	text-align: center;
	margin-bottom: 20px;
}

.productsBox .txt .link{
	margin-top:20px;
}

.productsBox .txt .link li:not(:last-child){
	margin-bottom:5px;
}

.productsBox .txt .linktate{
	margin-top:20px;
}

.productsBox .txt .linktate li:not(:last-child){
	margin-bottom:5px;
}

.productsList{
	display: flex;
	flex-wrap: wrap;
}

.productsList li{
	width:48%;
	margin-bottom:4%;
}

.productsList li:nth-child(2n){
	margin-left:4%;
}

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

.detailImg{
	margin:20px auto 35px;
	max-width:450px;
}

.detailImg .thumbnail{
	display: flex;
}

.detailImg .thumbnail li{
	width: 18%;
	margin: 2% 1% 0;
}

.scroll{
	overflow-x: auto;
  white-space: nowrap;

}

.scroll::-webkit-scrollbar{
	height: 5px;
}
.scroll::-webkit-scrollbar-track{
	background: #F1F1F1;
}
.scroll::-webkit-scrollbar-thumb{
	background: #BCBCBC;
}

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

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

.thirdSec table caption{
	text-align: left;
}
#electronicsFlow li:nth-child(5){
	display: flex;
}
#electronicsFlow li:nth-child(5):after{
	display: block;
	content: '';
	width: 10vw;
	height: 1px;
}
#electronicsFlow li img{
	width: auto;
	height: 34vw;
}

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

.basicTable{
	border: 1px solid #fffefd;
	border-top: none;
	margin: 20px 0;
}

.basicTable th{
	border-top: 1px solid #fffefd;
	margin-bottom: 10px;
	padding: 10px;
}

.basicTable th .imgs,.basicTable td .imgs{
	height: 280px;
}

.basicTable th img,.basicTable td img{
	object-fit: cover;
}

.basicTable td{
	margin:5px;
	padding: 5px;
}

/* -------------------------------
   contact
------------------------------- */

.sec .aptoenq_cusinfo_item{
	float: none!important;
	width: 100%!important;
	text-align: left!important;
}
.sec .aptoenq_cusinfo_fm{
	float: none;
	width: 100%;
}
.sec .aptoenq_bt_set{
	text-align: center!important;
	width: 100%!important;
}
.sec .aptoenq_bt_send{
	float: none!important;
	margin: 0 auto;
}
.sec .aptoenq_bt_back{
	float: none!important;
	margin: 0 auto;
}


@media screen and (max-width:568px){
	.basicTable .photo{width: 100%;}
	.basicTable .photo img{height:auto !important;}
}