/*
Theme Name: denken
*/

/*-----------------------------------------------------------------
リセット
----------------------------------------------------------------- */
*,
*:after,
*:before {
	margin:0;
	padding:0;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
	border: 0;
	outline: 0;
	}
ol, ul,li{ list-style: none; margin:0; padding:0;}
:focus,
:active { outline:0;}
table {
	border-collapse: collapse;
	border-spacing: 0;
	}
th, 
td { padding:8px; line-height:1.4em;}
input{ margin-right:5px;}	
.switch {
	visibility: hidden;
}
body{ font:17px/1.8 'Noto Sans JP', sans-serif; margin:0; padding:0;  color:#000; letter-spacing: 0.05em;}
h1, h2, h3, h4, h5, h6, p,dt ,dl,dd{ font-size:inherit; margin:0; padding:0; }
hr{ display:block; height:1px; border:0; border-top:1px solid #cccccc; margin:1em 0; padding:0; }
ul{ list-style:none; margin:0; padding:0;}
li{ margin:0; padding:0; }
@media screen and (min-width: 360px) { * { -webkit-text-size-adjust: none; } }


/*----------------------------------------------------
 clearfix
----------------------------------------------------*/

.clearfix:after,
.spCrearBox:after,
#gNavi:after,
.breadcrumb:after,
.breadcrumb ul:after,
.contents:after{ content: ".";display:block;height:0.1px;clear:both;visibility:hidden;font-size:0.1em;line-height:0; }
.clearfix,
.spCrearBox,
#gNavi,
.breadcrumb,
.breadcrumb ul,
.contents{ display:inline-block;overflow:hidden;_overflow:visible;display:block; }
* html .clearfix,
* html .spCrearBox,
* html #gNavi,
* html .breadcrumb,
* html .breadcrumb ul,
* html .contents{ height:1%; }


/* ----------- anchor */
a { color:#000; text-decoration:none;}
a:hover { color:#004da1; }
a .imgbt:hover{opacity:0.8;filter:alpha(opacity=80);cursor:pointer;}
a { -webkit-tap-highlight-color: rgba(0,0,0,0); }
a,
a::before,
a::after {
  -webkit-transition: all .7s;
  transition: all .7s;
}
a:hover img:not(.notHover){ opacity:0.7;filter:alpha(opacity=70); -webkit-transition: all .7s; transition: all .7s;}
.onlySP { display: none;}

#wrapper{ position: relative;}
img{max-width: 100%; vertical-align: bottom;}
.contentsWrap{width: 100%; padding: 80px 0; }
.contents{ width: 1080px;margin-left: auto; margin-right: auto;}
.contentsWrapSub{width: 100%; padding: 30px 0 80px; }

#contentsAll{ min-height: 100vh;}
a[href^="tel:"],
.tel-link{ pointer-events: none; text-decoration: none; }

/*----------------------------------------------------
 	header PC
----------------------------------------------------*/
#header{ position: fixed; top: 0; right: 0; left: 0; z-index: 98; width: 100%; background: #fff; }
/*.headerWrap{
	width:100%;
	 height: auto;
  position: relative;
  height: 740px;
  background: url(./img/bg_header.jpg) no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
}
.headerWrap:after{ content: ''; display: block; position: absolute; width: 100%; height: 100%; background: #004da1; top: 0; left: 0; z-index: 0;}
*/

/*mp4用*/
.headerWrap {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.headerWrap video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100vw;
  height: auto;
  object-fit: cover;
　/*height: 100％;
  object-fit: fill;	*/
  z-index: 0;
}

.headerWrap .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.headerWrap .content {
  position: relative;
  z-index: 2;
  color: white;
  text-align: center;
  padding: 2rem;
}

h1 {display: inline;}
h1 img{ position: fixed; top: 20px; left: 40px;z-index: 100;}
h1 a{ pointer-events: auto; }
h1 a:hover img{opacity:1.0;filter:alpha(opacity=100);}

.menu-container {z-index: 100000;position: relative;pointer-events: auto;}
.menu-container a{ font-size: 17px;font-weight: bold;}

.menu > ul > li.onlySP{display: none;}
.menu > ul > li.menuHover:hover {
	background: url(./img/icon_navi.png) no-repeat center bottom ;
	background-size: 14px;
}

.cap img{display: block; position: absolute; z-index: 2; margin: auto; left: 0;right: 0; top: 20%;}
.cap02{font-size:28px; height: 33px; color: #fff; font-weight: bold; z-index: 2; text-align: center; letter-spacing: 0.4em;position: absolute; top: 82%; left: 0;right: 0; line-height: 1.2em; z-index: 2;transform: matrix(1, 0, 0, 1, 0, 0); }

@media only screen and (min-height: 690px) and  (max-height: 800px){
.cap02 { top:78vh;}
}


.scrollBtn{ position: absolute; bottom: 0;margin-left: auto; margin-right: auto;left: 0;right: 0; width: 54px; height: 61px; z-index: 5;}
.spLanMenu{display: none;}

/*----------------------------------------------------	
 	TOP PC
----------------------------------------------------*/
h2{font-size: 36px;margin-bottom: 60px; position: relative;}
h2>span{ display: block; font-size: 10px; font-weight: normal; line-height: 1.4em; position: relative;top: 0;left: 0;}
h2>span>span{background: #fff;
  padding: 0 10px 0 0;
  position: relative;
  z-index: 5;display: inline-block;}
h2>span:before{ content: "";
  display: block;
  background: #e5e5e5;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  z-index: 0;}

.topMenuList{margin-bottom: 100px;overflow: hidden;}
.topMenuList li a{display: block; width: 350px; margin-right: 15px; margin-bottom: 15px; background: url(./img/bg_menu01.jpg) no-repeat center center; background-size: cover;text-align: center; position: relative; color: #fff; font-size: 32px;font-weight: bold; padding-top: 35px;float: left;height: 248px;}
.topMenuList li a:before{ content: '';display: block; width: 100%; height: 100%; z-index: 0; left: 0; top: 0; background: rgba(0,0,0,0.7); position: absolute;}
.topMenuList li a:hover:before{background: rgba(0,0,0,0.3);}
.topMenuList li:nth-child(3n) a{ margin-right: 0;}
.topMenuList li a img{position: absolute;z-index: 1;margin-left: auto; margin-right: auto;left: 0;right: 0; bottom: 25px; width: 48px; height: 32px;}
.topMenuList li a p{ position: relative;z-index: 1; line-height: 1.4em;margin-bottom: 10px;}
.topMenuList li a span{display: block; font-size: 20px;margin-top: 10px;}
.topMenuList li:nth-child(2) a{background: url(./img/bg_menu02.jpg) no-repeat center center; background-size: cover;}
.topMenuList li:nth-child(3) a{background: url(./img/bg_menu03.jpg) no-repeat center center; background-size: cover;}
.topMenuList li:nth-child(4) a{background: url(./img/bg_menu04.jpg) no-repeat center center; background-size: cover;}
.topMenuList li:nth-child(5) a{background: url(./img/bg_menu05.jpg) no-repeat center center; background-size: cover;}
.topMenuList li:nth-child(6) a{background: url(./img/bg_menu06.jpg) no-repeat center center; background-size: cover;}

.challengeBox{overflow: hidden;}
.challengeBox h2{-ms-writing-mode: tb-rl;-webkit-writing-mode: vertical-rl;writing-mode: vertical-rl;margin-bottom: 0px; text-align: left; line-height: 1.1em; width: 40px; float: left;margin-top: 20px;}
.challengeBox ol{width: 100%; float: right; margin-left: -100px; padding-left: 100px;}
.challengeBox ol li{overflow: hidden;font-size: 17px;margin-bottom: 50px;}
.challengeBox ol li .ttl{overflow: hidden; font-size: 40px; font-weight: bold;width: 250px; float: left;}
.challengeBox ol li .ttl img{float: left; margin-top: 14px;}
.challengeBox ol li .ttl p{ padding-left: 80px; vertical-align: top;line-height: 1.6em;}
.challengeBox ol li .cont{width: 100%; float: right; margin-left: -280px; padding-left: 280px; padding-top: 50px;}
.challengeBox ol li .cont p{margin-bottom: 30px; line-height: 2em;}

.btn{text-align: right;}
.btn a{ font-size: 14px;color: #004da1; display: inline-block; background: url(./img/icon_btn.png) no-repeat 99% 46%; padding:10px 60px 10px 0; background-size: 54px;}
.btn a:hover{/*background: url(./img/icon_btn_h.png) no-repeat right 46%;background-size: 44px;*/opacity:0.8;filter:alpha(opacity=80);}

.contentsWrapRecruit{background: url(./img/bg_recruit.jpg) no-repeat center top;
	-webkit-background-size: 100%;
	background-size:100%;padding-bottom: 100px;}
.contentsWrapRecruit .contents{
	position: relative;
	overflow: hidden;
	padding-top: 280px;
}
.contentsWrapRecruit h2{margin-bottom: 40px;}
.contentsWrapRecruit h2>span>span{background: #004da1;}
.contentsWrapRecruit .ttlBox{ margin-top: 60px;width: 500px; height: 370px; background: #004da1; float: right; display: block; padding: 40px; color: #fff;}
.contentsWrapRecruit .ttlBox p{margin-bottom: 40px; line-height: 2em;}
.contentsWrapRecruit .ttlBox .btn a{ color: #fff;background: url(./img/icon_btn_o.png) no-repeat right 46%;background-size: 54px;}

.topicsList{overflow: hidden;}
.topicsList>li{ width: 336px; margin-right: 36px; float: left;margin-bottom: 100px;}
.topicsList.bottom40>li {margin-bottom: 20px;}
.topicsList>li img{margin-bottom: 15px;height: inherit;height: auto;}
.topicsList>li:nth-child(3n){margin-right: 0;}
.topicsList>li:nth-child(3n+1){ clear: both; flex: left;}
.topicsList .ttl{font-weight: bold;font-size: 17px;margin-bottom: 10px; line-height: 1.6em;}
.categoryBox,.categoryBox a,.topicsTag a{color: #666; font-size: 12px;}
.categoryBox p,.categoryBox a{display: inline-block; margin-left: 10px;}
.topicsTag li{display: inline-block;margin-right: 10px;}
.topicsTag a{}

h2.topTopicsH2{ margin-bottom: 0;padding-bottom: 0;}
.topicsTtl{overflow: hidden;}
.topicsTtl select{
	margin-top: -10px;
	text-align: right;
	float: right;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius:0px;
	width: 260px;
	font-size: 13px;
	padding-left:3px;
	padding-bottom: 8px;
	color: #000;
	cursor: pointer;
	background: #fff url(./img/icon_arw.png) no-repeat right 4px;
	background-size: 12px;
	margin-bottom: 40px;
	border-bottom: 1px solid #000;
}

.footerContact{margin-bottom: 100px;}
.footerContact .contents{ background: #004da1; color: #fff;text-align: center; padding: 40px;}
.footerContact .contents a{color: #fff;}
.footerContact .contents h2>span:before{ display: none;}
.footerContact .contents h2>span{font-size: 14px;}
.footerContact .contents h2{ padding-bottom: 40px; margin-bottom: 40px; border-bottom: 1px solid #2660b7;font-size: 24px;}
.footerContact .contents div{ width: 50%; float: left; font-size: 17px;}
.footerContact .contents .footerBtn a{display: block; background: #fff url(./img/bg_ftBtn.png) no-repeat 96% center; background-size: 24px; color: #2660b7; padding: 20px 0 19px;font-weight: bold;} 
.footerContact .contents .footerBtn a:hover{background: rgba(255,255,255,0.6) url(./img/bg_ftBtn.png) no-repeat 96% center; background-size: 24px;}
.footerContact .contents div:first-of-type a{ font-size: 36px;font-weight: bold;}
.footerContact .contents div:first-of-type p:first-of-type{line-height: 1.6em;padding-top: 7px;margin-bottom: 3px;}
.footerContact .contents div:first-of-type p.openTime{font-size: 14px;}

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

#footer{ width: 100%; padding: 80px 0; background: #004da1; color: #fff; position: relative;}
#footer a{ color: #fff;}
#footer a:hover{ text-decoration: underline;}
#footer .contents>ul{ width: 300px; float: left;}
#footer .contents>ul:nth-child(2){width: 230px;}
#footer ul{font-weight: bold;font-size: 14px;}
#footer ul>li{margin-bottom: 10px;}
#footer ul>li>ul li{font-weight: normal; margin-left: 1.1em;margin-bottom: 3px;}


#copyright{ text-align: right; font-size: 12px;clear: both;}
#pageTop{width: 66px;height: 66px;position: fixed; bottom: 20px; right: 20px; z-index: 10; text-align: center;}
#pageTop img:hover{opacity:1.0;filter:alpha(opacity=100);}

/*----------------------------------------------------
 	下位common
----------------------------------------------------*/
.headerSub .menu-container{padding-top: 5px;}
h1.h1Sub img{top: 24px;}

.breadcrumb{}
.breadcrumb ul{ padding: 0px 0 20px; font-size: 12px; width: 1080px;margin-left: auto;margin-right: auto;} 
.breadcrumb ul li{ display:inline-block;}
.breadcrumb ul li a{color: #999999;}
.breadcrumb ul li:before { content:"＞"; margin-right: 5px; margin-left: 5px; color: #999999;}
.breadcrumb ul li:first-child:before { content:""; margin-right: 0;}
.breadcrumb ul li a:hover { text-decoration: underline ; color: #004da1;} 

.videoContainer {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
	margin-bottom:30px;
}
.videoContainer iframe,  
.videoContainer object,  
.videoContainer embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.google-maps iframe,
.google-maps object,
.google-maps embed {
width: 100%!important;
height: 500px;
}
.google-maps {
	width: 100%;
	height:500px;
}

h3{font-size: 24px;margin-bottom: 35px;}
h3.servicettl,
.mainSection h3{position: relative; font-size: 26px; padding-top: 40px;}
h3.servicettl:after,
.mainSection h3:after{ content: '';display: block; height: 1px; background: #000; position: absolute; top: 0; left: 0; width: 80px;}


/*----------------------------------------------------
 	SS PC
----------------------------------------------------*/

.selecSS{position: relative;}
.selecSS:before{ content: ''; display: block; position: absolute; top: 0; right: 0;width: 50%;height: calc(100vh - 100px); background: url(./img/system-solution/bg_ss.jpg) no-repeat center bottom; -webkit-background-size: cover;background-size: cover;z-index: -5; margin-top: 34px;}
.selecSS.selecED:before{background: url(./img/electronics/bg_ed.jpg) no-repeat center bottom; -webkit-background-size: cover;background-size: cover;}
.selecSS.selecSE:before{background: url(./img/solar/bg_se.jpg) no-repeat center bottom; -webkit-background-size: cover;background-size: cover;}
.selecSS.selecPK:before{background: url(./img/parking/bg_park.jpg) no-repeat center bottom; -webkit-background-size: cover;background-size: cover;}
.selecSS.selecMD:before{background: url(./img/health-care/bg_md.jpg) no-repeat center bottom; -webkit-background-size: cover;background-size: cover;}
.selecSS.selecONI:before{background: url(./img/metal-solution/bg_oni.jpg) no-repeat center bottom; -webkit-background-size: cover;background-size: cover;}

.subHeaderWrap{ margin-top: 40px; position: relative; padding: 0 0 75px; min-height: calc(100vh - 80px);}
.subHeaderWrap .contents{ padding-top: 140px;}

.subHeaderWrap h2{ margin-bottom: 50px;}
.subHeaderWrap h2 span:first-of-type{display: inline-block;font-size: 14px;font-weight: bold;margin-bottom: 10px;letter-spacing: 0.1em;}
.subHeaderWrap h2 span:first-of-type:before{ content: "";
  display: block;
  background: #000000;
  width: 100%;
  height: 1px;
  position: absolute;
  top: auto;
bottom: -4px;
  z-index: 0;}
.subHeaderWrap h2 span:nth-child(2){ font-size: 80px; font-weight: bold;margin-bottom: 10px;line-height: 1.4em;}
.subHeaderWrap h2.tagH2 span:nth-child(2){font-size: 60px;}

.subHeaderWrap h2 span:nth-child(3):before,
.subHeaderWrap h2 span:nth-child(2):before{display: none;}
.subHeaderWrap h2 span:nth-child(3){font-size: 24px;font-weight: bold; letter-spacing: 0.1em;}

.subHeaderWrap .btnCt a{ display: inline-block; background: #004da1 url(./img/icon_ct.png) no-repeat 92% center; color: #fff; width: 360px; padding: 12px 0 11px; text-align: center; font-weight: bold; background-size: 24px; border: 1px solid #004da1;}
.subHeaderWrap .btnCt a:hover{ background: #fff url(./img/bg_ftBtn.png) no-repeat 90% center; color: #004da1;background-size: 24px;}

.bgImg{height: calc(100vh - 90px);width: 1080px;margin-left: auto; margin-right: auto; left: 0;right: 0; position: fixed; z-index: -1; bottom: 0;}
.bgImg img{width: 206px;display: block; position: absolute; top: 0;bottom: 0; margin: auto; right: 0;}
.selecSS.selecPK .bgImg img{width: 90px;}
.selecSS.selecSE .bgImg img{width: 92px;}

.selecCap{font-weight: bold; font-size: 42px;margin-bottom: 60px; color: #004da1; padding-left: 50px; line-height: 1.5em;}
.selecCap span{display: inline-block; position: relative;}
.selecCap span:first-of-type:before{ content: '';display: block; background: url(./img/bg_cap.png) no-repeat left top; background-size: 35px; width: 35px; height: 30px; position: absolute; top: 0; left: -50px; z-index: -1;}
.selecCap span:last-of-type:after{ content: '';display: block; background: url(./img/bg_cap02.png) no-repeat right bottom; background-size: 35px; width: 35px; height: 30px; position: absolute; bottom: 5px; right: -40px;z-index: -1;}


.selecTxt p{ line-height: 2.2em; margin-bottom: 90px;}

.advantageList{margin-bottom: 120px;}
.advantageList li .ttl{font-size: 20px; font-weight: bold; vertical-align: middle;line-height: 1.4em;}
.advantageList li .num{display: inline-block; position: relative; font-size: 32px; color: #004da1; padding-right: 60px;float: left;}
.advantageList li .num:after{content: '';display: block; background: url(./img/bg_advantege.png) no-repeat center center; position: absolute; right: 18px; background-size: 30px;width: 30px; height: 2px; top: 14px;}
.advantageList li .ttl span:last-of-type{vertical-align: text-bottom;padding-left: 120px;
display: block;
width: 100%;
float: right;
margin-left: -120px;}
.advantageList li p{padding-left: 110px;}
.advantageList li:not(:last-of-type){margin-bottom: 30px;}

.topicsList.subList{/*margin-bottom: 120px;*/ margin-bottom: 40px;}
.topicsList.subList.mb0{ margin-bottom: 0;}
.topicsList.subList.mb120{ margin-bottom: 120px;}
.topicsList.subList .ttl{ margin-bottom: 10px; }
.topicsList.subList>li{margin-bottom: 60px;}
.topicsList.subList a{width: 100%; border-bottom: 1px solid #004da1; display: block; padding-bottom: 15px;position: relative; padding-bottom: 40px;}
.topicsList.subList .btn{font-size: 14px; padding-right: 46px;color: #004da1; background: url(./img/icon_btn02.png) no-repeat 98% 90%; background-size: 36px;position: absolute; bottom: 8px; right: 0;}
.topicsList.subList .nomalList{font-size: 14px;}
.topicsList.subList .nomalList li{line-height: 1.4em;}
.topicsList.subList.detailLink a{border: none;}

.detailLink{overflow: hidden;}
.detailLink>li{ width: 336px; margin-right: 36px; float: left;margin-bottom: 100px;}
.detailLink.bottom10>li{margin-bottom: 20px;} 
.detailLink>li img{margin-bottom: 15px;height: inherit;height: auto;}
.detailLink>li:nth-child(3n){margin-right: 0;}
.detailLink>li:nth-child(3n+1){ clear: both; flex: left;}
.detailLink .ttl{font-weight: bold;font-size: 17px;margin-bottom: 10px; line-height: 1.6em;}
.detailLink .btn a{width: 100%; border-bottom: 1px solid #004da1; display: block; padding-bottom: 15px;position: relative;}
.detailLink .nomalList{font-size: 14px;}


.clientList{overflow: hidden;margin-bottom: 120px;}
.clientList li{	width: calc(100% / 3); padding: 10px;text-align: center; float: left; margin-bottom: 40px; background: #fff;height: 80px; position: relative;}
.clientList li img{max-height: 80px;display: block; margin: auto; top: 0;bottom: 0;left: 0;right: 0;position: absolute; max-width: 70%;}
.clientList li p{position: absolute;top: 50%;left: 50%;transform: translateY(-50%) translateX(-50%);-webkit-transform: translateY(-50%) translateX(-50%); width: 100%;}

.subDList dt{font-weight: bold;margin-bottom: 5px;}
.subDList dd{margin-bottom: 30px;}
.privacyDl dd .subDList dd.mb20{margin-bottom: 20px;}

.dList dt{font-weight: bold;margin-bottom: 10px;}
.dList dd{margin-left: 20px;margin-bottom: 60px;font-size: 14px;}

.faqList{ margin-bottom: 140px;}
.faqList>dt{
	border-bottom: 1px dotted  #999999;
	position: relative;
padding: 22px 32px 22px 62px;
width: 100%;
display: block;
font-size: 20px;
font-weight: bold;
background: url(./img/icon_down.png) no-repeat right 44px;
background-size: 14px;
cursor: pointer;
}
.faqList>dt:before{
  content: "Q";
  display: inline-block;
  position: absolute;
  top: 12px;
left: 0;
  font-weight: 700;
font-size: 24px;
	background: #004da1;
border-radius: 50px;
width: 48px;
height: 48px;
color: #fff;
padding-left: 15px;
padding-top: 4px;
}
.faqList>dt.active{ background: url(./img/icon_up.png) no-repeat right 44px;
background-size: 14px;}
.faqList>dd{
	display: none;
margin-bottom: 20px;
padding: 20px 0 20px 60px;
position: relative;
margin-left: 50px;
}
.faqList>dd:before{
  content: "A";
  display: inline-block;
  position: absolute;
  top: 0;
	left: 0;
  font-weight: 700;
font-size: 40px;
width: 48px;
height: 48px;
color: #004da1;
padding-left: 15px;
padding-top: 0;
}
.faqList>dd a{display: inline-block; color: #004da1; position: relative;}
.faqList>dd a:after{ content: ''; width: 100%; height: 1px; background: #004da1; position: absolute; left: 0;bottom: 2px; display: block;}

.officeList{overflow: hidden;/*margin-bottom: 100px;*/}
.officeList li{width: 48%; float: left; margin-bottom: 40px;font-size: 14px;}
.officeList li:nth-child(2n){float: right;}
.officeList li .ttl{font-weight: bold; font-size: 17px;margin-bottom: 10px;}

.basicList{margin-bottom: 100px;}
.basicList li{ position: relative; padding-left: 20px;}
.basicList li:not(:last-of-type){margin-bottom: 20px; }
.basicList li:before{ content: ''; display: block; width: 10px; height: 10px;background: url(./img/icon_li.png) no-repeat left top; background-size: 8px; position: absolute; left: 0; top: 10px;}
.basicList li a{display: inline-block; color: #004da1; position: relative;}
.basicList li a:after{ content: ''; width: 100%; height: 1px; background: #004da1; position: absolute; left: 0;bottom: 2px; display: block;}

.subMenu{ overflow: hidden;margin-bottom: 120px;}
.subMenu li{/*width: calc(100% / 3);*/ min-width: calc(100% / 3); float: left; margin-bottom: 20px;background: url(./img/icon_li.png) no-repeat left 11px; background-size: 8px;padding-left: 20px; padding-right: 40px;}
.subMenu li a{color: #004da1; display: inline-block;position: relative;}
.subMenu li a:after{ content: ''; width: 100%; height: 1px; background: #004da1; position: absolute; left: 0;bottom: 2px; display: block;}

.twoColumn li{ overflow: hidden; margin-bottom: 80px;}
.twoColumn li .photoBox{width: 32%; float: left;}
.twoColumn li .txtBox{width: 100%; float: right; margin-left: -36%;padding-left: 36%;}
.twoColumn li .txtBox .ttl{font-weight: bold;font-size: 20px; margin-bottom: 30px;}
.twoColumn li .txtBox .cont{line-height: 2em;}

ol.parkingFlow {counter-reset:number;list-style-type: none;margin-bottom: 80px;}
ol.parkingFlow>li {position: relative;padding-left: 30px;line-height: 1.4em;padding: 10px 10px 10px 70px; margin-bottom: 40px;}
ol.parkingFlow>li:before{
  position: absolute;
  counter-increment: number;
  content: counter(number);
  display:inline-block;
  background: #004da1;
  color: #fff;
  font-weight:bold;
  font-size: 24px;
  border-radius: 50%;
  left: 0;
  width: 48px;
  height: 48px;
  line-height: 48px;
  text-align: center;
  top: 22px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.parkingFlow li .ttl{font-weight: bold;font-size: 20px;margin-bottom: 20px;}

.accessList{overflow: hidden;margin-bottom: 120px;}
.accessList>li{ width: 48%;float: left; font-size: 14px; margin-bottom: 80px;}
.accessList>li:nth-child(2n){float: right;}
.accessList li .ttl{font-weight: bold; font-size: 17px;margin-bottom: 10px;}
.selecList{margin-bottom: 5px;}
.selecList li{display: inline-block; font-size: 12px; line-height: 1.2em; padding: 4px 10px; border: 1px solid #ddd; margin-bottom: 5px; margin-right: 5px;border-radius: 4px;white-space: nowrap}
.accessList li a{color: #004da1; text-decoration: underline;}
.accessList li a[href^="tel:"]{color: #000;text-decoration: none;}


/*----------------------------------------------------
 	Administration PC
----------------------------------------------------*/

.selecAdmin{position: relative;}
.selecAdmin:before{ content: ''; display: block; position: absolute; top: 0; right: 0;width: 80%;height:calc(100vh - 100px); max-height: 900px; background: url(./img/administration/bg_company.jpg) no-repeat center center; -webkit-background-size: cover;background-size: cover;z-index: -5;margin-top: 34px;}

.selecAdmin .subHeaderWrap{ position: relative; height:calc(100vh - 80px); max-height: 900px;margin-bottom: 100px;}
.selecAdmin .subHeaderWrap .contents{ padding-top: 90px;}
.selecAdmin .subHeaderWrap h2{ position: absolute; margin-top: auto;margin-bottom: auto; top: 0;bottom: 0;height: 150px;}

.contentsWrapMessage{position: relative; padding-bottom: 100px;margin-bottom: 100px;}
.contentsWrapMessage:before{ content: ''; display: block; position: absolute; bottom: 0; left: 0;width: 100%;height:calc(100% - 555px); background: #f4f5f5;z-index: -1;}

.contentsWrapMessage .photoBox img{ width: 100%;margin-bottom: 60px;}
.contentsWrapMessage .adminMessage{width: 74%;margin-left: auto; margin-right: auto; line-height: 2.2em; text-align: justify;}
.contentsWrapMessage .adminMessage p:not(:last-of-type){ margin-bottom: 30px;}
.adminMessage .adminCeo{text-align: right; font-size: 20px; line-height: 1.4em;}
.adminMessage .adminCeo span{font-size: 14px;display: block;}

.adminPholo{overflow: hidden;}
.adminPholo>.ttl{width: 280px;float: left;margin-bottom: 40px;}
.adminPholo .txtBox{width: 100%;float: right; margin-left: -280px; padding-left: 280px;}
.adminPholo .txtBox>p:first-of-type{margin-bottom: 80px;}
.adminPholo .txtBox .advantageList .num{color: #000;}

.profileDl {overflow: hidden;margin-bottom: 120px;}
.profileDl dt{font-weight: bold; width: 280px; float: left; padding: 30px 0; clear: both;}
.profileDl dd{ width: 100%; float: right; margin-left: -280px;padding-left: 280px; border-bottom: 1px solid #e5e5e5;padding: 30px 0 30px 280px;}
.profileDl dd table th{text-align: left;}
.profileDl dd table td:last-of-type{ padding-left: 20px;}
.profileDl dd:last-of-type{border: none;}

.historyList{ position: relative; overflow: hidden; line-height: 1.8em; padding: 10px 0;margin-bottom: 120px;}
.historyList:before{ content: '';display: block; height: 100%; position: absolute; background:linear-gradient(to bottom, rgba(0,0,0,1), rgba(0,0,0,1) 33%, rgba(0, 0, 0, 0) 33%, rgba(0, 0, 0, 0) 100%) 0% 0%;background-size:1px 3px;width: 1px; left: 136px;}
.historyList dt{ width: 160px; font-weight: bold; float: left; clear: both; margin-bottom: 25px; position: relative;}
.historyList dt:after{ content: ''; display: block; width: 11px; height: 11px; background: url(./img/icon_en.png) no-repeat; position: absolute; left: 131px; -webkit-background-size: 11px;background-size: 11px; top: 9px;}
.historyList dd{ width: 100%; float: right; margin-left: -160px;padding-left: 160px; margin-bottom: 25px;}

.nomalList li{list-style-type: disc;margin-left: 20px;}
.nomalList.text14{font-size: 14px;}
.nomalList.bottom10 li:not(:last-of-type){margin-bottom: 10px;}

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

.selecBasic .subHeaderWrap{ height:auto; max-height: auto;min-height: auto; padding-bottom: 0;}
.selecBasic .contents.contentsForm{width: 800px;margin-left: auto; margin-right: auto;}

.flowList{margin-bottom: 60px; font-weight: bold;display: table; width: 100%;table-layout: fixed;}
.flowList li { display: table-cell; color: #999999; position: relative; border-bottom: 1px solid #e5e5e5; font-size: 24px; padding-bottom: 10px;}
.flowList li span{ font-size: 14px;display: inline-block; margin-right: 10px; vertical-align: text-top;}
.flowList li.current{ color: #000;border-color: #000;}

.nomalList.formList {margin-bottom: 40px;}
.nomalList.formList li{font-size: 14px; margin-left: 10px;margin-bottom: 5px;}
.nomalList.formList li a,
.privacyBox a{color: #004da1; display: inline-block;position: relative;}
.nomalList.formList li a:after,
.privacyBox a:after{ content: ''; width: 100%; height: 1px; background: #004da1; position: absolute; left: 0;bottom: 2px; display: block;}

.table01{width: 100%;table-layout: fixed; margin-bottom: 40px;}
.table01 th{width: 30%;font-weight: bold;vertical-align: middle; padding: 30px 0; text-align: left;}
.table01 td{ width: 70%; padding: 30px 0;}
.table01 .vat th{vertical-align: top; padding-top: 35px;}

.privacyBox{text-align: center;margin-bottom: 60px;}
.mw_wp_form_confirm .privacyBox{display: none;}
.mw_wp_form_confirm .PpTxt{display: none;}
.mw_wp_form_confirm span.hissu{display:none;}
/*.grecaptcha-badge { visibility: hidden; }*/
.PpTxt{font-size: 14px; margin-top: 40px;}
span.hissu{ color: #d00;}
#mw_wp_form_mw-wp-form-9116.mw_wp_form .error{color: #d00;}
#mw_wp_form_mw-wp-form-9129.mw_wp_form .error{color: #d00;}


.btnSubmit{ display: block; width: 360px; background: #004da1 url(./img/icon_ct.png) no-repeat 92% center; color: #fff; margin-left: auto;margin-right: auto; padding: 20px 0; font-size: 20px; font-weight: bold; cursor:pointer; border: 1px solid #004da1;background-size: 24px; text-align: center;}
.btnSubmit:hover{ color: #004da1; background: #fff url(./img/bg_ftBtn.png) no-repeat 92% center;background-size: 24px;}

.top_select1 select{
-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	border-radius:0px;
	width: 100%;
	padding: 14px 10px;
	font-size: 17px;
	padding-left:3px;
	color: #333;
	border: 1px solid #ccc;
	cursor: pointer;
	background: #f4f5f5 url(./img/icon_down.png) no-repeat 98% center;
background-size: 14px;
	border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
}

/* input base */
input[type=text],input[type=tel], input[type=mail],input[type=password], textarea {
	padding:14px 10px;
	text-align:left;
	border:1px solid #e5e5e5;
	background: #f4f5f5;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
width: 100%; display:block; font-size: 1em;	
}
input[type=password]{width: 160px;display: inline-block;padding: 10px;}
input[type=submit]{padding:10px;background: #004da1;color: #fff;font-size: 1em;	
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;}
input:focus,textarea:focus {
    background: #ffffdd;
}
input[type=checkbox],
input[type=radio]{ margin-right:5px; }
textarea {  width:100%; display:block; resize: vertical; font-size: 1em;}

label,
input[type=checkbox],
input[type=radio] { display:inline; vertical-align: middle!important;}
 

/*----------------------------------------------------
 	下位デフォルト PC
----------------------------------------------------*/

#sideSection{ position: absolute; top: 180px; }
#sideSection span{-ms-writing-mode: tb-rl;-webkit-writing-mode: vertical-rl;writing-mode: vertical-rl; font-size: 12px; font-weight: bold; display: inline-block;position: relative;}
#sideSection span:after{ content: ''; display: block; height: 100%; width: 1px;position: absolute; left: 0; background: #000; }

h2.topicsH2{ margin-bottom: 30px; line-height: 1.4em;}
.mainSection{width: 640px;margin: 80px auto 120px; }
.mainSection img{ max-width: 100%;height: auto;}
.mainSection .categoryBox{line-height: 1.2em;}
.tagBox{margin-bottom: 60px;}
.catchImg{ margin-bottom: 100px;}
.mainSection .postCont img,
.mainSection .postCont p{ margin-bottom: 40px; }
.postSection{margin-bottom: 100px;}
.twoColumnDetail{overflow: hidden; margin-bottom: 60px;}
.twoColumnDetail>div{ width: 47%; float: left; font-size: 14px;}
.twoColumnDetail>div:last-of-type{float: right;}
.mainSection .postCont .twoColumnDetail>div img{margin-bottom: 20px;}
.mainSection h4,.productPage h4{ font-size: 20px; margin-bottom: 20px;}
.mainSection h4.mb0{margin-bottom: 0;}
.detailTbl{ width: 100%; table-layout: fixed;font-size: 14px;}
.detailTbl th,
.detailTbl td{ padding: 20px 0; border-bottom: 1px solid #e5e5e5; text-align: left;}
.detailTbl td:last-of-type{text-align: right;}
.detailTbl tr:last-of-type th,.detailTbl tr:last-of-type td{border: none;}
.detailTbl.detailTblLeft td:last-of-type{text-align: left;}
.detailTbl.detailTblCenter th:not(:first-of-type){text-align: center;}
.detailTbl.detailTblCenter td{text-align: center;}
.topicsList.topicsListSub{width: 880px;margin: 0 auto 0px; }
.topicsList.topicsListSub li{width: 272px;margin-right: 32px; }
.topicsList.topicsListSub li:nth-child(3n){margin-right: 0;}
.btn.mb120{margin-bottom: 120px;}
.mainSection .postCont img.mb0{margin-bottom: 0px;}
.mainSection .postCont img.mb20{margin-bottom: 20px;}
.mainSection .postCont img.mb60{margin-bottom: 60px;}
.mainSection .postCont p.mb10{margin-bottom: 10px;}
.mainSection .postCont p.mb20{margin-bottom: 20px;}
.text14{font-size: 14px;}
.subBtn a{display: block; width: 48%; border: 1px solid #004da1; text-align: center; padding: 14px 0 13px;color: #004da1; font-weight: bold; font-size: 14px; background: url(./img/bg_ftBtn.png) no-repeat 96% center; background-size: 24px;}
.subBtn a:hover{background:#004da1 url(./img/icon_ct.png) no-repeat 96% center; background-size: 24px;color: #fff;}
.btnBox{overflow: hidden;}
.btnBox>div.subBtn{float: left; width: 48%;}
.btnBox>div.subBtn:nth-child(2n){float: right;}
.btnBox>div.subBtn a{width: 100%;}
.subBtn.textC a{margin-left: auto;margin-right: auto;}

.mainSection .postCont .parkingFlow p.ttl{margin-bottom: 20px;}
.mainSection .postCont .parkingFlow p{margin-bottom: 20px;}
.mainSection .postCont .parkingFlow img{margin-bottom: 10px;}
.mainSection .postCont .parkingFlow a,
a.txtLink{display: inline-block; color: #004da1; position: relative;}

a.Link{text-decoration: underline;}
a.Link:hover{text-decoration:none;}
.mainSection .postCont .parkingFlow a:after,
a.txtLink:after{ content: ''; width: 100%; height: 1px; background: #004da1; position: absolute; left: 0;bottom: 2px; display: block;}
a.txtLink.linkMark{background: url(./img/icon_li.png) no-repeat left 11px; background-size: 8px;padding-left: 20px;}
a.txtLink.linkMark:after{left: 20px;}
.mainSection .postCont .parkingFlow a[href^="tel:"]{color: #000;pointer-events: none; }
.mainSection .postCont .parkingFlow a[href^="tel:"]:after{display: none;}
.mainSection .postCont .parkingFlow a.telLink{font-size: 18px;font-weight: bold;}

.mainSection .postCont .twoColumn li .txtBox p.ttl{margin-bottom: 10px; font-size: 17px;}
.mainSection .postCont .twoColumn li .txtBox p.cont{font-size: 14px;line-height: 1.6em;}
.mainSection .postCont .twoColumn li{margin-bottom: 20px;}
.mainSection .postCont h5{margin-bottom: 20px;}

.mainSection .postCont .subTtl{margin-bottom: 10px;font-weight: bold;}
.mainSection .postCont .subTbl{table-layout: fixed;width: 100%;font-size: 14px;}
.mainSection .postCont .subTbl,
.mainSection .postCont .subTbl th,
.mainSection .postCont .subTbl td{ border-collapse: collapse; border: 1px solid #ddd;}
.mainSection .postCont .subTbl th{font-weight: normal;text-align: left; width: 25%;}

.mainSection .postCont p.bolTxt{margin-bottom: 20px;}
.bolTxt{font-weight: bold;margin-bottom: 20px;}
.bolTxt span{display: inline-block;}
.bolTxt span:after{ content: ''; width: 100%; height: 1px; background: #000; position: absolute; left: 0;bottom: 2px; display: block;}

.subDl{margin-bottom: 60px; margin-left: 30px;}
.subDl dt{ font-weight: bold;margin-bottom: 5px;}
.subDl dd{margin-bottom: 30px;font-size: 14px;}
.subDl dd a{display: inline-block; color: #004da1; position: relative;}
.subDl dd a:after{ content: ''; width: 100%; height: 1px; background: #004da1; position: absolute; left: 0;bottom: 2px; display: block;}

input[type=radio].checkCategory{display: none;}
.categorySelect{position: relative;display: inline-block;
    *display: inline;
    zoom: 1;
float: right;font-size: 13px;}
.condition{
	background: #fff url(./img/icon_arw.png) no-repeat right 4px;
	background-size: 12px;
	margin-bottom: 40px;
	border-bottom: 1px solid #000;
    display: inline-block;
    *display: inline;
    zoom: 1;
    width: 260px;
    color: #000;
    text-decoration: none;
    cursor: default;
}
.pulldown {
    border: solid #bbb 1px;
	padding: 0 5px;
    width: 260px;
    max-height: 270px;
    position: absolute;
    left: 0;
    top: 28px;
    background: #fff;
    overflow: auto;
	display: none;
}
.pulldown label{ width: 100%; display: block; padding: 3px 0;}
a.selectTopics{display: block;width: 100%;}
.result{clear: both;}

#subAnchor01,
#subAnchor02,
#subAnchor03,
#subAnchor04,
#subAnchor05,
#subAnchor06,
#subAnchor07,
#subAnchor08,
#subAnchor09,
#subAnchor10,
#welfare,
#product01,
#product02,
#product03,
.subSectionWrap{margin-top: -100px;padding-top: 100px; /*margin-bottom: 120px;*/}

.solorList{margin-top: 100px;}
.solorList li{overflow: hidden; margin-bottom: 60px;}
.mainSection .solorList li .ttl{font-weight: bold; margin-bottom: 10px; font-size: 20px;}
.solorList li .photoBox{ width: 300px;float: left;}
.solorList li .txtBox{ width: 100%; float: right; margin-left: -320px; padding-left: 320px;}
.solorDl{font-size: 14px;}
.solorDl dt{ font-weight: bold; width: 100px;float: left; clear: both;margin-bottom: 10px;}
.solorDl dd{ width: 100%; float: right; margin-left: -110px;padding-left: 110px;margin-bottom: 10px;}

/*----------------------------------------------------
 	下位デフォルト NEW 2025.04〜06
----------------------------------------------------*/
.productPage h2{
	margin-bottom: 30px;
  line-height: 1.4em;
}

.productPage h3{
	position: relative;
	font-size: 26px;
	padding-top: 40px;
}

.productPage h3::after{
	content: '';
  display: block;
  height: 1px;
  background: #000;
  position: absolute;
  top: 0;
  left: 0;
  width: 80px;
}

.productPage p{
	margin-bottom: 40px;
}

.productPage > p.eyecatch{
	margin-bottom: 100px;
}

.productPage a{
	/* text-decoration: underline; */
	color: #004da1;
}

.productPage .withImg{
	overflow: hidden;
}

.productPage .withImg li{
	width: 336px;
	margin-right: 36px;
	float: left;
	margin-bottom: 60px;
}

.productPage .withImg li:nth-child(3n){
	margin-right: 0;
}

.productPage .withImg li:nth-child(3n+1) {
	clear: both;
	flex: left;
}

.productPage .withImg img{
	width: 336px;
	height: 224px;
	object-fit: cover;
}

.productPage .twoColumn .photoBox img{
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.productPage img{
	height: auto;
}

.productPage table{
	width: 100%;
	border-collapse: collapse;
  border: 1px solid #ddd;
}

.productPage table th{
	text-align: left;
}

.productPage table th,.productPage table td{
	border-collapse: collapse;
  border: 1px solid #ddd;
	padding: 20px 10px;
}

.productPage table tr:last-of-type th,.productPage table tr:last-of-type td{
	border-collapse: collapse;
  border: 1px solid #ddd;
}

/*----------------------------------------------------
 	下位sitemap privacy PC
----------------------------------------------------*/

.sitemapSub{ margin-top: 60px;}
.sitemapSub li{ margin-bottom: 20px;font-weight: bold;}
.sitemapSub li a{ }
.sitemapSub li ul{margin-top: 10px;}
.sitemapSub li li{margin-left: 20px; font-size: 14px;font-weight: normal;margin-bottom: 5px;}
.sitemapSub li a:hover{ }

.privacyDl{ margin-bottom: 20px;}
.privacyDl dt {font-weight: bold; margin-bottom: 10px;}
.privacyDl dt span{ color: #D9A300; margin-right: 5px;}
.privacyDl dd{ margin-left: 20px; margin-bottom: 80px;}

.privacyDl dd .basicList li{ margin-bottom: 5px;}
.privacyDl dd .numBasic{ margin-bottom: 5px;}

ol.numBasic>li{list-style-type: decimal;margin-left: 20px;}
ol.numBasic.bottom10>li:not(:last-of-type){margin-bottom: 10px;}

/*----------------------------------------------------
 	Recruit PC
----------------------------------------------------*/

.selecAdmin.selecRecruit:before{ background: url(./img/recruit/bg_recruit.jpg) no-repeat center center; -webkit-background-size: cover;background-size: cover;}
.selecAdmin.selecRecruit .subHeaderWrap .recruitHead h2{ position:relative; height: inherit; height: auto; margin-bottom: 50px;}
.selecAdmin.selecRecruit .subHeaderWrap .recruitHead{position: absolute;margin-top: auto;margin-bottom: auto; top: 0;bottom: 0; height: 280px;}
.selecAdmin.selecQuality:before{ background: url(./img/quality/bg_quality.jpg) no-repeat center center; -webkit-background-size: cover;background-size: cover;}
.selecAdmin.selecEnvironment:before{ background: url(./img/environment/bg_environment.jpg) no-repeat center center; -webkit-background-size: cover;background-size: cover;}


.topicsList.recruitDivision{margin-bottom: 100px;}
.topicsList.recruitDivision li{margin-bottom: 60px;}
.topicsList.recruitDivision li .ttl span{display: block; font-size: 14px;}
.topicsList.recruitDivision li .btn a{width: 100%; border-bottom: 1px solid #004da1;}
.topicsList.recruitDivision li p:last-of-type{margin-bottom: 10px;}

.btnBox.recruitBtn {margin-bottom: 120px;}
.btnBox.recruitBtn a{font-size: 24px;}
.btnBox.recruitBtn a span{font-size: 16px;display: block;}
.btnBox.recruitBtn div.subBtn:last-of-type a{background: #004da1 url(./img/icon_ct.png) no-repeat 96% center; background-size: 24px; color: #fff;}
.btnBox.recruitBtn div.subBtn:last-of-type a:hover{ background: #fff url(./img/bg_ftBtn.png) no-repeat 96% center; background-size: 24px; color: #004da1;}
.detailTbl.recruitTbl{ width: 640px; margin-left: auto;margin-right: auto;font-size: 17px;margin-bottom: 80px;}
.detailTbl.recruitTbl tr:first-of-type th{text-align: center;}
.detailTbl.recruitTbl tr th:first-of-type{ width: 44%;}
.detailTbl.recruitTbl td{text-align: center;}
.welfareCap{width: 640px; margin-left: auto;margin-right: auto;margin-bottom: 120px;}

.selecTxt p.mb40{margin-bottom: 40px;}

.timeList{ margin-bottom: 140px;}
.timeList>dt{
	border-bottom: 1px dotted  #999999;
	position: relative;
padding: 22px 32px 22px 0px;
width: 100%;
display: block;
font-size: 20px;
font-weight: bold;
background: url(./img/icon_down.png) no-repeat right 44px;
background-size: 14px;
}
.timeList>dt.active{ background: url(./img/icon_up.png) no-repeat right 44px;background-size: 14px;cursor: pointer;}
.timeList>dd{
	display: none;
margin-bottom: 20px;
padding: 20px 0 20px 0px;
position: relative;
}
.timeList>dd a{display: inline-block; color: #004da1; position: relative;}
.timeList>dd a:after{ content: ''; width: 100%; height: 1px; background: #004da1; position: absolute; left: 0;bottom: 2px; display: block;}
.timeList>dd .historyList{margin-bottom: 30px;}
.timeList>dd .btn{text-align: left;}
.timeList>dd .historyList:before{left: 116px;}
.timeList>dd .historyList dt{ width: 130px;}
.timeList>dd .historyList dt:after{left: 111px;}
.historyList dd{ margin-left: -160px;padding-left: 160px;}
.timeList>dd .historyList dd p{font-size: 14px;}
.timeList>dd .historyList dd p.ttl{font-size: 17px;font-weight: bold;}

.dataList{overflow: hidden;}
.dataList li{width: 48%; float: left; margin-bottom: 120px;font-size: 14px;}
.dataList li:nth-child(2n){float: right;}

.topicsList.recruitVoiceList{margin-bottom: 120px;}
.topicsList.recruitVoiceList li{margin-bottom: 0;}
.topicsList.recruitVoiceList li a{border: none;}

.btnCt.btnCareer a{line-height: 1.4em;}

.recruitDeail {padding-left: 40px;margin-bottom: 80px;}
.recruitDeail.mb120{margin-bottom: 120px;}
.recruitDeail dt{font-weight: bold;margin-bottom: 30px; padding-bottom: 10px;background: url(./img/icon_down.png) no-repeat right 16px;background-size: 14px;border-bottom: 1px dotted  #999999;cursor: pointer;}
.recruitNum{font-size: 14px;margin-bottom: 20px;}
.recruitDeail dt.active{ background: url(./img/icon_up.png) no-repeat right 16px;background-size: 14px;border: none; padding-bottom: 5px;margin-bottom: 0;}
.recruitDeail dt span.red{font-size: 12px;vertical-align: text-top; display: inline-block; margin-left: 10px; }
.recruitDeail dd{margin-bottom: 80px; display: none;}
.recruitCont{border-left: 1px solid #e5e5e5; padding-left: 40px;}
.recruitDeail dd table{ font-size: 14px; width: 100%; table-layout: fixed;margin-bottom: 40px;text-align: left;}
.recruitDeail dd table th{ width: 150px; font-weight: normal; vertical-align: top; padding-left: 0;}
.recruitDeail dd .subBtn a{width: 360px;}
.recruitDeail dd .subBtn a:after{display: none;}
.recruitDeail dd table td a{color: #004da1;text-decoration: underline;}

.reliablityList{display: table; table-layout: fixed;width: 100%;margin-bottom: 120px;}
.reliablityList li{display: table-cell;/*vertical-align: middle;*/width: calc(100% / 3);vertical-align: top;}
.reliablityList li p{ padding-left: 20px;}
/*.reliablityList li:last-of-type{vertical-align: top;}*/


/*--------　新卒採用202202 --------*/

.recruitDeail.recruitDeailNewgrad dt{background: none;pointer-events: none; }
.recruitDeail.recruitDeailNewgrad dd{display: block;}
.recruitDeail.recruitDeailNewgrad .recruitCont{border: none;padding-left: 20px;}

.newGradLink{text-align: center; color: #004da1; font-weight: bold;margin-bottom: 40px;}






.pc60sp20{ margin-bottom: 60px;}
.pc60sp30{ margin-bottom: 60px;}
.pc80sp40{ margin-bottom: 60px;}
.pc100sp40{ margin-bottom: 100px;}
.pc100sp80{ margin-bottom: 100px;}
.pc120sp60{ margin-bottom: 120px;}
.pc120sp80{ margin-bottom: 120px;}
.pc160sp40{ margin-bottom: 160px;}
.pcRight{ text-align: right;}
.pcCenter{text-align: center;}

.fixed {
    position: fixed;
    width: 100%;
    height: 100%;
}



/*スマホ　sumaho*/

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

body{ font:15px/1.8 'Noto Sans JP', sans-serif;}
.onlyPC { display: none;}
.onlySP { display: inline-block;}
img.onlySP { display: inline-block;}
a[href^="tel:"],
.tel-link{ pointer-events: auto; }

.contentsWrap{ padding: 80px 0 80px;}
.contentsWrapSub{padding: 60px 0;}
.contents{ width: 100%;}

#wrapper{ }


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

.headerWrap{ height: 100vh;}
h1{text-align: center;}
h1 img{ width: 122px;left: 4%;top: 20px; position: absolute;}
.showMenu h1 img{ /*display: none;*/}
.showMenu{bottom:0;overflow-y:auto;}
#header.showMenu h1 img{display: none;}
#header{min-height: 60px; background: transparent;}
.headerWrap:before{ content: ''; display: block; background: #fff;width: 100%;position: absolute; top: 0;left: 0; height: 60px;z-index: 1;opacity: 0;animation: 2s fadeInCopy01 forwards; animation-delay: 3s;}
h1.h1Sub img{top: 140px;}

.cap{ width: 100%;margin-left: auto;margin-right: auto; padding-top: 80px; text-align: left; padding-bottom: 10px;}
.cap img{ width: 92%; margin-left: auto; margin-right: auto;top: 28%;}
.headerWrapSub .headerIn, .headerIn.bgMenu{ min-height: inherit; min-height: auto;}
.cap02{top: 66%;}

.menu > ul > li.menuLan.menuJp{display: none;}
.menu > ul > li.onlySP{display: block;}

.spLanMenu{width: 60px;position: fixed;top: 12px;right: 60px; z-index: 99;display: inline-block;opacity: 0;}
.showMenu .spLanMenu{display: none;}
.spLanMenu li{display: inline-block;font-size: 14px; color: #000; }
.spLanMenu li a{color: #999;}
.spLanMenu li:first-of-type:after{ content: '/'; display: inline-block; margin-left: 5px;}
.spLanMenu li span{position: relative;}
.spLanMenu li span:after{ content: ''; display: block;position: absolute; width: 22px; height: 1px;background: #000; bottom: -6px; left: -2px;}

/*----------------------------------------------------
 	TOP SP
----------------------------------------------------*/
h2{font-size: 28px;margin-bottom: 40px;}

.topMenuList{margin-bottom: 100px;overflow: hidden;}
.topMenuList li a{display: block; width: 100%; margin-bottom: 0;font-size: 24px;padding: 28px 4%;float: none;height: 120px; text-align: left;}
.topMenuList li.twoLine a{padding-top: 10px;}
.topMenuList li a img{left: auto;right: 4%; bottom: 0; top: 0; margin-top: auto;margin-bottom: auto; width: 48px; height: 32px;}
.topMenuList li a p{ position: relative;z-index: 1; line-height: 1.4em;margin-bottom: 10px;}
.topMenuList li a span{font-size: 16px;margin-top: 0px;}

.challengeBox{width: 92%;margin-left: auto; margin-right: auto;}
.challengeBox h2{width: 100%;font: none;-ms-writing-mode: horizontal-tb;-webkit-writing-mode: horizontal-tb;writing-mode: horizontal-tb;font-size: 24px;margin-bottom: 40px;}
.challengeBox ol{margin-left: 0; padding-left: 0;}
.challengeBox ol li{font-size: 17px;margin-bottom: 50px;}
.challengeBox ol li .ttl{font-size: 36px;width: 100%; float: none;}
.challengeBox ol li .ttl img{float: left; margin-top: 14px;}
.challengeBox ol li .ttl p{ padding-left: 80px; vertical-align: top;line-height: 1.6em;}
.challengeBox ol li .cont{width: 100%; float: none; margin-left: 0; padding-left: 0; padding-top: 20px;}
.challengeBox ol li .cont p{margin-bottom: 30px;}

.contentsWrapRecruit{padding-bottom: 0;background: none;}
.contentsWrapRecruit .contents{padding-top: 0;}
.contentsWrapRecruit h2{margin-bottom: 20px;}
.contentsWrapRecruit .ttlBox{ margin-top: 0;width: 100%; height: inherit; height: auto; float: none; padding: 40px 4%; }
.contentsWrapRecruit .ttlBox p{margin-bottom: 20px;}

.topicsTtl{width: 92%;margin-left: auto; margin-right: auto;}
.topicsTtl h2{ margin-bottom: 20px;}
.topicsTtl select{
	text-align: left;
	float: none;
	margin-bottom: 60px;
}

.topicsList{width: 92%;margin-left: auto; margin-right: auto;}
.topicsList>li{ width: 100%; margin-right: 0; float: none;margin-bottom: 50px;}
.topicsList>li img{margin-bottom: 10px; width: 100%;}
/* .topicsList>li:nth-child(7),
.topicsList>li:nth-child(8),
.topicsList>li:nth-child(9){display: none;} */
.topicsList .ttl{font-size: 16px;margin-bottom: 5px; line-height: 1.6em;}
.topicsList.subList.mb120{ margin-bottom: 60px;}

.detailLink>li{ width: 100%; margin-right: 0; float: none;margin-bottom: 50px;}
.detailLink>li img{margin-bottom: 10px; width: 100%;}
.detailLink .ttl{font-size: 16px;margin-bottom: 5px; line-height: 1.6em;}
.detailLink.bottom10>li{margin-bottom: 50px;} 

.footerContact{margin-bottom: 60px;width: 92%;margin-left: auto; margin-right: auto;}
.footerContact .contents{ padding: 30px 20px 20px;}
.footerContact .contents h2>span{font-size: 14px;margin-bottom: 10px;}
.footerContact .contents h2{ padding-bottom: 30px; margin-bottom: 30px; font-size: 20px;}
.footerContact .contents div{ width: 100%; float: none;font-size: 16px;color: #004da1;}
.footerContact .contents div:first-of-type a{ font-size: 24px;line-height: 1.4em; color: #004da1;}
.footerContact .contents div:first-of-type p{font-size: 14px;}
.footerContact .contents div:first-of-type{margin-bottom: 15px; background: #fff; padding: 10px 0;}


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

#footer{ width: 100%; padding:50px 4% 0; }

#pageTop{width: 40px;height: 40px;background-size: 40px; right: 10px; bottom: 20px;}

#footer .contents>ul{ width: 100%; float: none;}
#footer .contents>ul:nth-child(2){width: 100%;}

#copyright{ text-align: center; margin-bottom: 20px; margin-top: 20px;}


/*----------------------------------------------------
 	下位common SP
----------------------------------------------------*/
    
.breadcrumb{ padding-top: 0;}
.breadcrumb ul{ padding: 10px 0 20px; width: 88%;margin-left: auto;margin-right: auto;}

.google-maps{ width: 90%;margin-left: auto;margin-right: auto; overflow: auto;text-align: center; height: 500px;}
.google-maps iframe,
.google-maps object,
.google-maps embed {
width: 90%!important;
max-width:100%;
}

h3{font-size: 21px;margin-bottom: 45px;}
h3.servicettl,
.mainSection h3{font-size: 22px; padding-top: 10px;margin-bottom: 30px;}
h3.servicettl:after,
.mainSection h3:after{width: 80px;}

#subAnchor01,
#subAnchor02,
#subAnchor03,
#subAnchor04,
#subAnchor05,
#subAnchor06,
#subAnchor07,
#subAnchor08,
#subAnchor09,
#subAnchor10,
#welfare,
#product01,
#product02,
#product03,
.subSectionWrap{margin-top: -60px;padding-top: 60px;}

/*----------------------------------------------------
 	SS SP
----------------------------------------------------*/

.selecSS{margin-top: -120px;min-height: calc(100vh + 60px);}
.selecSS:before{ width: 100%;height: calc(100vh + 60px);}
.selecSS:after{content: '';display: block; width: 100%; height: calc(100vh + 120px); z-index: 0; background: rgba(255,255,255,0.6); position: absolute; top: 0;z-index: -4;} 

.subHeaderWrap{ margin-top: 0; padding: 140px 10% 75px; min-height: 100vh; margin-bottom: 80px;}
.subHeaderWrap .contents{ padding-top: 90px;}

.subHeaderWrap h2{ margin-bottom: 50px;}
.subHeaderWrap h2 span:first-of-type{font-size: 12px;margin-bottom: 30px;}
.subHeaderWrap h2 span:nth-child(2){ font-size: 40px;margin-bottom: 20px;}
.subHeaderWrap h2.tagH2 span:nth-child(2){font-size: 32px;}
.subHeaderWrap h2 span:nth-child(3){font-size: 21px;}

.subHeaderWrap .btnCt a{ width: 100%;font-size: 14px;}

.bgImg{height: calc(100vh - 90px);width: 100%;z-index: -6; }
.bgImg img{width: 103px;}

.selecCap{font-size: 37px;margin-bottom: 60px; padding-left: 25px;}
.selecCap span:first-of-type:before{ background-size: 30px; width: 30px; height: 25px;left: -25px;}
.selecCap span:last-of-type:after{ background-size: 30px; width: 30px; height: 25px; right: -30px;}

.selecTxt p{ line-height: 2em; margin-bottom: 90px;}

.advantageList{margin-bottom: 70px;}
.advantageList li .ttl{font-size: 17px;}
.advantageList li .num{font-size: 28px;padding-right: 46px;}
.advantageList li .num:after{right: 13px; background-size: 30px;width: 30px; height: 2px; top: 13px;}
.advantageList li .ttl span:last-of-type{padding-left: 90px;margin-left: -90px;}
.advantageList li p{padding-left: 90px;}
.advantageList li:not(:last-of-type){margin-bottom: 30px;}

.topicsList.subList{ width: 100%;}

.clientList{margin-bottom: 100px;}
.clientList li{	width: 48%; padding: 10px; margin-bottom: 20px; height: 60px;}
.clientList li:nth-child(2n){float: right;}
.clientList li img{max-height: 60px;}

.faqList{ margin-bottom: 100px;}
.faqList>dt{
padding: 20px 34px 20px 42px;
font-size: 17px;
background: url(./img/icon_down.png) no-repeat right 34px;
background-size: 14px;
}
.faqList>dt:before{
font-size: 16px;
top: 20px;
width: 32px;
height: 32px;
padding-left: 9px;
padding-top: 1px;
}
.faqList>dd{
padding: 20px 0 20px 42px;
margin-left: 0;
}
.faqList>dd:before{
font-size: 32px;
width: 42px;
height: 42px;
padding-left: 0;
padding-top: 4px;
}

.officeList{/*margin-bottom: 80px;*/}
.officeList li{width: 100%; float: none; margin-bottom: 40px;}
.officeList li:nth-child(2n){float: none;}
.officeList li .ttl{font-size: 15px;margin-bottom: 0;}

.subMenu{ margin-bottom: 100px;}
.subMenu li{width: 100%; float: none;}

.twoColumn li{ overflow: hidden; margin-bottom: 60px;}
.twoColumn li .photoBox{width: 100%; float: none;margin-bottom: 20px;}
.mainSection .postCont .twoColumn li .photoBox{margin-bottom: 0;}
.twoColumn li .txtBox{float: none; margin-left: 0;padding-left: 0;}
.twoColumn li .txtBox .ttl{font-size: 17px; margin-bottom: 10px;}
.twoColumn li .txtBox .cont{line-height: 1.8em;}


ol.parkingFlow>li {padding: 10px 10px 10px 44px; }
ol.parkingFlow>li:before{
  font-size: 16px;
  width: 32px;
  height: 32px;
  line-height: 32px;
  top: 22px;
  }
.parkingFlow li .ttl{font-size: 18px;margin-bottom: 10px;}


.accessList{margin-bottom: 80px;}
.accessList>li{ width: 100%;float: none; margin-bottom: 80px;}
.accessList>li:nth-child(2n){float: none;}



/*----------------------------------------------------
 	Administration SP
----------------------------------------------------*/

.selecAdmin{margin-top: -120px;min-height: calc(100vh + 60px);}
.selecAdmin:before{width: 100%;height:calc(100vh + 60px); max-height: calc(100vh + 60px); }
.selecAdmin:after{content: '';display: block; width: 100%; height: calc(100vh + 120px); z-index: 0; background: rgba(255,255,255,0.6); position: absolute; top: 0;z-index: -4;} 
.selecAdmin .subHeaderWrap{height:calc(100vh + 120px); max-height: calc(100vh + 120px);margin-bottom: 100px;}
.selecAdmin .subHeaderWrap .contents{ padding-top: 90px;}
.selecAdmin .subHeaderWrap h2{height: 115px;}

.contentsWrapMessage{padding-bottom: 80px;margin-bottom: 20px;}
.contentsWrapMessage:before{ height:calc(100% - 300px);}

.contentsWrapMessage .photoBox img{ width: 100%;margin-bottom: 20px;}
.contentsWrapMessage .adminMessage{width: 84%;line-height: 2em;}
.contentsWrapMessage .adminMessage p:first-of-type{ margin-bottom: 30px;}
.adminMessage .adminCeo{font-size: 18px;}

.adminPholo{overflow: hidden;margin-bottom: 40px;}
.adminPholo>.ttl{width: 100%;float: none;margin-bottom: 0;}
.adminPholo>.ttl img{ width: 200px; margin-bottom: 60px;}
.adminPholo .txtBox{float: none; margin-left: 0; padding-left: 0;}
.adminPholo .txtBox>p:first-of-type{margin-bottom: 60px;}

.profileDl {overflow: hidden;margin-bottom: 80px;}
.profileDl dt{width: 100px; float: none; padding: 20px 0px 0px;}
.profileDl dd{ float: none; margin-left: 0;padding: 0 0px 20px;}
.profileDl dd table td{padding-left: 0; padding-bottom: 0;}
.profileDl dd table td:last-of-type{ padding-left: 20px;}
.profileDl dd:last-of-type{border: none;}

.historyList{margin-bottom: 80px;}
.historyList:before{ left: 113px;}
.historyList dt{ width: 130px;letter-spacing: 0em;}
.historyList dt:after{ left: 108px;}
.historyList dd{ margin-left: -130px;padding-left: 130px;}




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

.selecBasic .subHeaderWrap{ padding:0 4%;margin-bottom: 0;}
.selecBasic .contents.contentsForm{width: 92%;}
.selecBasic .subHeaderWrap h2{margin-bottom: 0;}
.selecBasic .contentsWrap{padding-top: 80px;}

.flowList{margin-bottom: 40px;}
.flowList li { font-size: 18px; padding-bottom: 10px;}
.flowList li span{ font-size: 12px;margin-right: 5px; }
.nomalList.formList{margin-bottom: 20px;}

.table01{margin-bottom: 40px;}
.table01 th{width: 100%;padding: 30px 0 0; text-align: left; display: block;}
.table01 td{ width: 100%; padding: 10px 0 30px; display: block;}
.table01 .vat th{vertical-align: top; padding-top: 35px;}

.privacyBox{text-align: center;margin-bottom: 60px;}

.btnSubmit{ width: 100%; font-size: 18px;}
.top_select1 select{font-size: 15px;}

/*----------------------------------------------------
 	下位デフォルト SP
----------------------------------------------------*/

#sideSection{ position: absolute; top: 80px; left: 4%; }
#sideSection span{-ms-writing-mode: horizontal-tb;-webkit-writing-mode: horizontal-tb;writing-mode: horizontal-tb; padding-bottom: 5px;}
#sideSection span:after{ height: 1px; width: 100%;position: absolute; left: 0; bottom: 0; }

.mainSection{width: 92%;margin: 80px auto 80px; }
.catchImg{ margin-bottom: 80px;}
.postSection{margin-bottom: 80px;}
.topicsList.topicsListSub{width: 92%;margin: 0 auto 0px; }
.topicsList.topicsListSub li{width: 100%;margin-right: 0; }
.btn.mb120{margin-bottom: 120px;}

.mainSection .postCont .parkingFlow a[href^="tel:"]{color: #004da1;pointer-events: auto; }
.mainSection .postCont .parkingFlow a[href^="tel:"]:after{ content: ''; width: 100%; height: 1px; background: #004da1; position: absolute; left: 0;bottom: 2px; display: block;}

.solorList{margin-top: 40px;}
.solorList li{margin-bottom: 60px;}
.mainSection .solorList li .ttl{font-size: 20px;}
.solorList li .photoBox{ width: 100%;float: none;margin-bottom: 20px;}
.mainSection .solorList li .photoBox img{margin-bottom: 0;}
.solorList li .txtBox{ width: 100%; float: none; margin-left: 0; padding-left: 0;}
.subBtn a{width: 100%;}
.btnBox>div.subBtn{float: none; width: 100%;}
.btnBox>div.subBtn:first-of-type{margin-bottom: 10px;}
.btnBox>div.subBtn:nth-child(2n){float: none;}

/*----------------------------------------------------
 	下位デフォルト NEW SP
----------------------------------------------------*/
.productPage {
	width: 92%;
	margin: 0 auto;
}

.productPage table{
	display: block;
  overflow-x: scroll;
  white-space: nowrap;
}

.productPage table th,.productPage table td{
	padding-right: 20px;
}

/*----------------------------------------------------
 	Recruit SP
----------------------------------------------------*/

.selecAdmin.selecRecruit .subHeaderWrap{margin-bottom: 20px;}
.selecAdmin.selecRecruit .adminPholo .txtBox > p:first-of-type{margin-bottom: 0;}
.btnBox.recruitBtn .subBtn a{line-height: 1.2em;padding: 10px 0;}
.btnBox.recruitBtn > div.subBtn:first-of-type{margin-bottom: 20px;}
.topicsList.recruitDivision{width: 100%;}
.selecAdmin.selecRecruit .recruitHead a img{max-width: 90%;}
.selecAdmin.selecRecruit .subHeaderWrap .recruitHead{height: 220px;}

.recruitDeail{padding-left: 0px;}
.recruitDeail.mb120{margin-bottom: 80px;}
.detailTbl.recruitTbl{ width: 100%;font-size: 15px; margin-bottom: 40px;}
.recruitDeail dd table th{width: 120px;}
.welfareCap{width: 100%; margin-bottom: 80px;}
.recruitCont{padding-left: 20px;}

.dataList li{width: 100%; float: none; margin-bottom: 60px;}
.dataList li:nth-child(2n){float: none;}

.topicsList.recruitVoiceList{margin-bottom: 80px; width: 100%;}
.topicsList.recruitVoiceList li{margin-bottom: 60px;}

.timeList{ margin-bottom: 80px;}
.timeList>dt{font-size: 18px;background-position: right 34px;}
.timeList>dd .historyList:before{left: 82px;}
.timeList>dd .historyList dt{ width: 110px;}
.timeList>dd .historyList dt:after{left: 77px;}
.historyList dd{ margin-left: -110px;padding-left: 110px;}
.timeList>dd .historyList dd p.ttl{font-size: 15px;}

.reliablityList{display: block;margin-bottom: 80px;}
.reliablityList li{display: block;vertical-align: middle;width: 100%; margin-bottom: 20px;}
.reliablityList li p{ padding-left: 0px;}









/*---------spe*---------*/

.pc60sp20{ margin-bottom: 20px;}
.pc60sp30{ margin-bottom: 30px;}
.pc80sp40{ margin-bottom: 40px;}
.pc100sp40{ margin-bottom: 40px;}
.pc100sp80{ margin-bottom: 80px;}
.pc120sp60{ margin-bottom: 60px;}
.pc160sp40{ margin-bottom: 40px;}
.spmb20{ margin-bottom: 20px;}
.spmb40{ margin-bottom: 40px;}
.spmb60{ margin-bottom: 60px;}
.spPd30{ padding:30px 0; text-align: center;}
.sp92Wrap{ width: 92%; margin-left: auto; margin-right: auto;} 
.sp100Wrap{width: 100%;}
img.sp94Wrap{ max-width: 88%; display: block;margin-left: auto;margin-right: auto;}
.pcCenter,.spCrearBox .pcCenter{ text-align: left;}
.spCenter{ text-align: center;}
.spCrearBox .fl,.spCrearBox .fr{ float: none;}
.spCrearBox .box48p{ width: 100%;}
}

@media only screen and (max-width: 440px){
.cap02{font-size: 20px;}
}
@media only screen and (max-width: 380px){
.subHeaderWrap h2 span:nth-child(2){font-size: 36px;}
.selecCap{font-size: 34px;}
.detailTbl.recruitTbl{ font-size: 14px;}
}


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

.mb0 { margin-bottom:0px;}
.mb5 { margin-bottom:5px;}
.mb10 { margin-bottom:10px;}
.mb20 { margin-bottom:20px;}
.mb30 { margin-bottom:30px;}
.mb40 { margin-bottom:40px;}
.mb60 { margin-bottom:60px;}
.mb80 { margin-bottom:80px;}
.mb120 { margin-bottom:120px;}
.mt120 { margin-top: 120px; }
.pl20{padding-left: 20px;}
.text10{ font-size:10px; }
.text12{ font-size:12px; }
.text20{ font-size:1.25rem; }
.text14 { font-size: 0.875rem;}
.textC { text-align:center!important;}
.textR { text-align:right!important;}
.textL{ text-align: left!important;}
.textB { font-weight:bolder!important;}
.textN{ font-weight: normal!important;}

.red { color:#d00;}
.blue{ color: #004da1;}
.green{ color: #008C00;}
.pink{ color: #FF6085;}
.orange{ color: #FF9900;}

.lrAuto{ margin-left:auto; margin-right:auto;}
.va_b{ vertical-align:bottom;}
.va_m{ display:inline-block;vertical-align:middle;}
.va_t{ vertical-align: top;}

.anchor{
	padding-top: 70px!important; /* 調整したい高さ（固定ヘッダーの高さ） */
	margin-top: -70px!important; /* heightと同じ分のネガティブマージン */
}

/* 20210820 custom */

.serviceDivision-List{ font-size: 12px; font-weight: bold; display: inline-block; border-bottom: 1px solid #000; margin-bottom: 10px;}
p.topicsH2 { font-size: 56px; font-weight: 700; margin-bottom: 60px;}

.productListDetail { overflow: hidden; margin-bottom: 40px;}
.productListDetail-Thumb { width: 336px; float: left; text-align: center;}
.productListDetail-Thumb img{ height: auto;}
.productListDetail-content { width: calc(100% - 396px); float: right; font-size: 16px;}

.productListDetail-content > dt { margin-bottom: 40px; font-size: 1.25em; font-weight: 700;}

.textPolicy { margin-bottom: 10px; font-size: 56px; font-family:  '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif; font-weight: 600; color: #004da1; line-height: 1.2em;}
.img690 img  { width: 100%; max-width: 690px; height: auto;}
.topicsList.subList a.zoomImg{ width: inherit; border-bottom:0; display: block; padding-bottom: 0; position:inherit; padding-bottom: 0;}
.topicsList.subList a.zoomImg img { margin-bottom: 0;}
.topicsList.subList img { text-align: center;}
.qualityActionList { font-size: 0.85rem;}
.qualityISOList { width: calc(100% + 10px); margin: 0 -5px; overflow: hidden;}
.qualityISOList > li { width:calc(33.33333% - 10px); float: left; margin: 20px 5px 0;}
.listMarker > li { background: url(./img/icon_li.png) no-repeat left 0.6em; padding-left: 1em; background-size: 0.6em;}
.listCheck > li { background: url(./img/ico_check.png) no-repeat left 0.4em; padding-left: 1.3em; background-size: 1em;}

@media only screen and (max-width: 1081px){
p.topicsH2 { font-size: 36px;}
}

@media only screen and (min-width: 769px){
    .pcNone { display: none;}
    .productListDetail-Thumb.w50 { width:50%;}
    .productListDetail-content.w50 { width: calc(50% - 40px);}
    .topicsList.qualityActionList > li img { text-align: center; max-height: 240px; width: auto;}
    .container2columnWrap { width:106%; margin-right: -3%; margin-left: -3%; overflow: hidden;margin-bottom: 120px;}
    .container2columnBlock { width: 44%; margin-top: 40px; margin-right: 3%; margin-left: 3%; float: left;}
    .container2columnWrap > .container2columnBlock:nth-of-type(2n+1){ clear: both; float: left}
}
@media only screen and (max-width: 768px){
    .spNone { display: none;}
    .productListDetail-Thumb { width: 100%; float: none; margin-bottom: 10px;}
    .productListDetail-content { width: 100%; float: none;}
    .productListDetail-content > dt { margin-bottom: 20px;}
    .subContainerWrap h3.servicettl { padding-top: 85px; margin-top: -85px;}
    .container2columnBlock { margin-top: 60px;}
}

/* 20220415 environment 更新 */
.esgtopImg{ width: 512px; margin:0 auto 40px;}
.esgtopImg img{ width: 100%;}
.esgimgbdr{border: 1px solid #e5e5e5;}
.governamceCap { font-size: 1rem;}
.governamceCap a { text-decoration: underline; color: #004da1!important;}

@media only screen and (max-width: 768px){
.esgtopImg{ width: 100%;}
.governamceCap {  font-size: 0.875rem;}
}

/* 20220427 quality_assurance デンケン編集 */
.TBiso{width:90%; margin:auto auto 2em; border-collapse: collapse;}
.TBiso, .TBiso td, .TBiso th{border: 1px #dddddd solid; padding:0.5em;}
.TBiso th{text-align:center; background-color:#004da1; color:#ffffff;}
.TBiso .dpmN{text-align:left;}
.ISOn{margin-bottom:4em;}
.ISOn p{margin:2em auto 1em; border-bottom: 1px #dddddd solid;}
.ISOn li.col2box{display:inline; width:35%;}
.ISOn img{margin:1em 0.5em; max-width:500px;}

@media only screen and (max-width: 768px){
.ISOn li{text-align:center;}
.ISOn li.col2box{display:block; width:90%;}
.ISOn img{margin:1em auto; width:90%;}
}

/* 20230328 */
.servicelist{display: flex; flex-wrap: wrap;}
.servicelist li{
display: block;
padding: 8px 12px;
font-size: 12px;
-webkit-transition: .2s;
transition: .2s;
margin: 0 8px 8px 0;
border-radius: 4px;
color: #1158c1;
background-color: #9ec5fe;}

/* 色指定 */
.servicelist.cl_ge li{color: #198754;
background-color: #d1e7dd;}
.servicelist.cl_re li{color: #dc3545;
background-color: #f8d7da;}
.servicelist.cl_ye li{color: #d7a307;
background-color: #fff3cd;}
.servicelist.cl_bs li{color: #0ea2bf;
background-color: #cff4fc;}

/*----------------------------------------------------
 	パーキング事業部
----------------------------------------------------*/
.parking h3{
	position: relative;
	font-size: 26px;
	padding-top: 40px;
}

.parking h3:after{
	content: '';
	display: block;
	height: 1px;
	background: #000;
	position: absolute;
	top: 0;
	left: 0;
	width: 80px;
}

.parking h4 .sub{
	font-size: 0.75rem;
	margin-left: 10px;
	color: #666;
}

.parking .subBtn{
	display: flex;
	justify-content: flex-end;
}

@media only screen and (min-width: 769px){
	.parking .postSection .subBtn a{
			width : 330px;
	}
}

/* 20231016システムソリューションスローガン追加 */
.ssSlogan{max-width: 527px; margin-bottom: 40px; }

/* 20231212 SS 精密機械加工 アイキャッチ */
.machining_eyecatch{
	margin-bottom: 100px;
}

/* 20240115 SS精密機械加お問いボタン調整 */
 .btnCt_SS_machining a{
	display: block;
    width: 40%;
    border: 1px solid #004da1;
    text-align: center;
    padding: 14px 0 13px;
    color: #004da1;
    font-weight: bold;
    font-size: 14px;
	background: #004da1 url(./img/icon_ct.png) no-repeat 96% center;
	background-size: 24px;
	color: #fff;
	margin-top: 20px;}
.btnCt_SS_machining a:hover{ background: #fff url(./img/bg_ftBtn.png) no-repeat 96% center; background-size: 24px; color: #004da1;}

@media only screen and (max-width: 768px){
	.btnCt_SS_machining a{
		width: 100%;}
}

/*20240703　環境宣言のサイン*/
.signaturecontainer {
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	text-align: right;
}
.signatureimage img {
	max-width: 180px; /* 画像の最大幅を設定 */
	height: auto;		
	align-items: flex-end;
}
.signaturetext {
	margin-right: 25px; /* 文字と画像の間に余白を追加 */	
}


/*20240802　新卒採用のインスタ*/
.instacontainer {
	display: flex;
	align-items: center;
}
.instacontainer img {
	margin-right: 10px; /* 画像とテキストの間のスペース */
}

/*20241029　SSのODM/OEM*/
.l-shape {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.row {
	display: flex;
	gap: 2px; /* 写真の間隔 */
}

.row-1 {
	 margin-bottom: 1px; /* 1段目と2段目の間隔を狭める */
}

.row-1 img {
	width: 33%; /* 1段目の画像幅 */
}

.row-2 img {
	width: 33%; /* 2段目の画像幅 */
}

/*20241202　DDX*/
.ddxcontainer {
    display: flex;
	gap: 20px; /* 文章と画像の間に20pxのスペースを追加 */
}

.ddxcontainertext {
    flex: 0 0 60%; /* 横幅を60%に指定 */
}

.ddxcontainerimage {
    flex: 0 0 30%; /* 横幅を40%に指定 */
}

.ddxcontainerimg {
    width: 100%;   /* 画像を親要素の幅に合わせる */
    height: auto;  /* 縦横比を維持 */
}

/********2025/03/21　ELのターンキーソリューション*********/

.container_lsi {
    display: flex;
    align-items: flex-start; /* テキストが上揃えになるように設定 */
}

.container_lsi img {
    margin-right: 20px; /* 画像とテキストの間にスペースを追加 */
    width: 225px; /* 画像の幅を変更 */
    height: auto; /* 画像の高さを自動調整 */
}

.text-container_lsi {
    display: flex;
    flex-direction: column; /* テキストを縦に並べる */
}

.blue-text_lsi {
    color: blue; /* 2段落目の文字色を青に変更 */
}

/********2025/03/21　ELのLSI回路設計*********/
.image-container_el {
    display: flex;
    flex-wrap: wrap; /* 複数行に折り返す */
    gap: 20px; /* 画像間のスペース */
}

.image-item_el {
    width: calc(33% - 10px); /* 5つの画像が横に並ぶように幅を設定 */
    text-align: center; /* リンク文字列を中央揃え */
	margin-bottom: 20px; /* 1段目と2段目の間にスペースを追加 */
}

.image-item_el img {
	margin-bottom: 0px;
	margin-right: 0; /* 画像とテキストの間のスペースをゼロに設定 */
    width: 90%; /* 画像の幅を親要素に合わせる */
    height: auto; /* 画像の高さを自動調整 */
}

.image-item_el a {
    display: block;
    margin-top: 5px; /* 画像とリンク文字列の間にスペースを追加 */
    color: blue; /* リンク文字列の色を青に設定 */
    text-decoration: none; /* リンクの下線を削除 */
}

.image-item_el a:hover {
    text-decoration: underline; /* ホバー時に下線を表示 */
}

/********2026/01/07 SSのトピックス*********/
#SSnewsList {
    list-style: none;
    padding: 0;
    margin: 0;
}

#SSnewsList li {
    border-bottom: none !important;
    margin-bottom: 10px;
}

#SSnewsList li a {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 4px 0;
    text-decoration: none !important;
    color: inherit;
}

#SSnewsList .date {
    font-size: 18px;
    line-height: 1.2;
    color: rgb(14, 60, 151);
    font-family:
        "Bahnschrift SemiBold Condensed",
        "Bahnschrift",
        "Roboto Condensed",
        "Arial Narrow",
        sans-serif;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    display: block;
    flex: 0 0 110px;
    margin: 0;
    padding: 0;
}

#SSnewsList .ttl {
    font-size: 18px;
    line-height: 1.2;
    color: #000 !important;
    display: block;
    flex: 1;
    margin: 0;
    padding: 0;
    position: relative;
    top: -1px;
    text-shadow:
        1px 1px 0 #fff,
        -1px 1px 0 #fff,
        1px -1px 0 #fff,
        -1px -1px 0 #fff;
}

#SSnewsList li a:hover,
#SSnewsList li a:hover .ttl {
    text-decoration: none !important;
}

#SSnewsList a,
#SSnewsList a:hover,
#SSnewsList a:visited,
#SSnewsList a:focus,
#SSnewsList a:active {
    text-decoration: none !important;
}

.SSnewsListImg {
    margin-bottom: 10px;
}

/* 英語翻訳時非表示 */
html[lang="en"] .LangEnNone{
	display: none!important;
}

/* 日本語表示時非表示 */
html[lang="ja"] .LangJpNone{
	display: none!important;
}