/*************************
メディアクエリ
*************************/
@media screen and (max-width: 768px){

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}




body {
-webkit-text-size-adjust: 100%;
background:#fff;
font-family:'Avenir','Corbel',"游ゴシック","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ ゴシック",sans-serif;
　　　font-weight: 200;	
font-weight: 200;	
word-wrap:break-word;
word-break:break-all;
}


img{
  max-width: 100%;
  height: auto;
  border: 0;
  text-align:center;
}



/**************************************************************************************************

WRAPPER

**************************************************************************************************/
#wrapper {
margin:0 auto 0 auto;
	width:100%;
	padding:0;
margin:60px 0 0 0;
	background:#fff;
color:#000;
}




/**************************************************************************************************

固定ヘッダー

**************************************************************************************************/
/*** スマホでは表示しない箇所 ***/
.fix-header {
display:none;
}

/*** スマホでは表示しない箇所 ***/
.fix-header-contents{
display:none;
}



/*************************************************************************************************

P

**************************************************************************************************/
p{
font-size:15px;
line-height:2.0em;
color:#000;
}

p.catch {
font-size:16px;
text-align:left;
font-weight:900;
line-height:1.5em;
margin:0 0 30px 0;
}

p.catch2 {
font-size:18px;
text-align:center;
font-weight:900;
line-height:1.5em;
}

p.cap{
font-size:13px;
margin:5px 0 0 0;
line-height:1.4em;
text-align:left;
}

.uldisc{
  padding: 0;
  margin: 20px 0 0px 25px; //左のマージンはここで指定
  list-style-type: disc;
}

.uldisc li{
  list-style-type: disc;
  line-height: 1.8em;
	font-size:15px;
  margin:0 0 20px 0;
}


.uldecimal{
  padding: 0;
  margin: 20px 0 0px 25px; //左のマージンはここで指定
  list-style-type: decimal;
}

.uldecimal li{
  list-style-type: decimal;
  line-height: 1.8em;
	font-size:15px;
  margin:0 0 20px 0;
}


.uldecimalDot{
  padding: 0;
  margin: 20px 0 0px 30px; //左のマージンはここで指定
  list-style-type: decimal;
}

.uldecimalDot li{
  list-style-type: decimal;
  line-height: 1.8em;
	font-size:15px;
  margin:0 0 30px 0;
  padding:0 0 30px 0;
  border-bottom:dotted 1px #ccc;
}


.attenBig{
color:#f50000;
font-size:20px;
margin:0 5px;
}

ul li span.tel{
color:#186e1a;
font-weight:900;
font-size:24px;
margin:0 5px;
line-height:1.5em;
}


/**************************************************************************************************

PCHEADER

**************************************************************************************************/

/*** スマホでは表示しない箇所 ***/
#headerWrap{
display:none;
}



/**************************************************************************************************

ロゴ

**************************************************************************************************/


.splogo{
z-index:10;
display:block;
	padding:10px 0 0 20px;
}


.splogo img{
  height:40px;
  max-width: none;
}



/**************************************************************************************************

HEADER

**************************************************************************************************/
header{
  position: fixed;
  top: 0;
  left: 0;
  z-index:100;
    width: 100%;
padding:0 0 0 0;
margin: 0 auto;
background:#003368;
	height:60px;
	 	-webkit-box-shadow:0 2px 5px rgba(0,0,0,0.1);
box-shadow:0 2px 5px rgba(0,0,0,0.1);
}

.is-animation{
    width: 100%;
padding:0 0 0 0;
top: 0;
	height:60px;
  -webkit-transition: all 0.25s ease-in-out;
ransition: all 0.25s ease-in-out; /* 滑らかな変化を設定 */
}


/**************************************************************************************************

メニュー

**************************************************************************************************/


#headerSpMenu{
position: fixed;
    z-index:10000;
	top:0;
	right:0;
	width:60px;
	height:60px;
display:block;
background:#003368;
}


#headerMenu{
display:block;
	position: relative;
	background:#f0f0f0;
padding:0;
	}

.button-toggle {
	position: absolute;
	margin:21px 0 0 15px ;
	cursor:pointer;
}

.button-toggle span{
margin:0 0 0 5px;
}


#headerSpMenu p{
color:#000;
font-size:10px;
margin:15px 0 0 2px;
}


#headerSpMenu a{
text-decoration:none;
}




.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {
	position: relative;
	width: 20px;
	height: 16px;
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #fff;
	border-radius: 3px;         /* CSS3 */
	-moz-border-radius: 3px;    /* Firefox */
	-webkit-border-radius: 3px;
}
.menu-trigger span:nth-of-type(1) {
	top: 0;
}
.menu-trigger span:nth-of-type(2) {
	top: 7px;
}
.menu-trigger span:nth-of-type(3) {
	bottom: 0;
}


#menu-trigger01.active span:nth-of-type(1) {
	-webkit-transform: translateY(11px) rotate(-45deg);
	transform: translateY(7px) rotate(-45deg);
}
#menu-trigger01.active span:nth-of-type(2) {
	opacity: 0;
}
#menu-trigger01.active span:nth-of-type(3) {
	-webkit-transform: translateY(-7px) rotate(45deg);
	transform: translateY(-7px) rotate(45deg);
}



/**************************************************************************************************

スマホヘッダーメニュー

**************************************************************************************************/


.navimenu {
	position: fixed; /*** absolute は被せる ***/
	width: 100%;
	height:100%;
	background: #f7f7f8;
		padding:0 0 100px 0;
	top:60px;
	z-index:1000;
	display:none;
	float:none;
		overflow: hidden;
animation-name: fadeinSpmenu;
    animation-duration: 0.5s;

}

.navimenu .spMenu {
display:block;
	padding:0;
	height:100%;
	overflow-y: scroll;
	-webkit-overflow-scrolling:touch;
}

.navimenu ul {
	padding: 0;
	margin: 0;
	list-style: none;
	
}

.navimenu ul.spm li {
	position: relative;

}

.navimenu ul.spm li a {
	display: block;
	color: #333;
	text-decoration: none;
	border-bottom:solid 1px #e6e6e6;
	line-height: 54px;
	padding:0 0 0 25px;
	position:relative;
	font-size:17px;
font-weight:700;
}

.navimenu ul.spm li:first-child a {
border-radius: 5px 5px 0 0;         /* CSS3 */
	-moz-border-radius: 5px 5px 0 0;    /* Firefox */
	-webkit-border-radius: 5px 5px 0 0;
}

.navimenu ul.spm li:last-child a {
border-radius: 0 0 5px 5px;         /* CSS3 */
	-moz-border-radius: 0 0 5px 5px;    /* Firefox */
	-webkit-border-radius: 0 0 5px 5px;
}

.navimenu ul.spm li a:after {
font-family: "Font Awesome 5 Free";
content:'\f054';
 font-size: 0.6em;
 	color: #003368;
position:absolute;
font-weight: 900;
top:0;
right:24px;
}


.navimenu ul.spm ul.accordion{
     width:100%;
     overflow: hidden;
}

.navimenu ul.spm ul.accordion ul{
     display: none;
}    


.navimenu ul.spm ul.accordion li p{
     font-size:17px;
     	color: #333;
     	position:relative;
     	line-height: 60px;
	          	border-bottom:solid 1px #e6e6e6;
	padding:0 0 0 25px;
     margin:0;
     cursor: pointer;/*カーソルを通常の物に*/    
}

.navimenu ul.spm ul.accordion li p:after {
font-family: "Font Awesome 5 Free";
content:'\2b';
 font-size: 135%;
position:absolute;
font-weight: 900;
color:#003368;
top:-2px;
right:20px;
}




.navimenu ul.spm ul.accordion li p span{
     font-size:17px;
     text-decoration:none;
font-weight:700;
     color:#333;
}

.navimenu ul.spm ul.accordion li p.active{

     	position:relative;

}

.navimenu ul.spm ul.accordion li p.active:after{
font-family: "Font Awesome 5 Free";
content:'\f068';
 font-size: 85%;
position:absolute;
font-weight: 700;
top:2px;
right:20px;
}




.navimenu ul.spm ul.accordion ul {
padding:0 0;
background:#fff;
}

.navimenu ul.spm ul.accordion ul li{
background:#fff;
     	position:relative;
     	line-height: 40px;
	          	border-bottom:solid 0px #ccc;
	text-indent:0;
     cursor: pointer;/*カーソルを通常の物に*/    
}

.navimenu ul.spm ul.accordion ul li a{
background:#fff;
     font-size:16px;
	border-bottom:solid 1px #e6e6e6;
margin:0px;
font-weight:normal;
color:#333;
     	position:relative;
     	line-height:60px;
padding:0 0 0 45px;
}

.navimenu ul.spm ul.accordion ul li a:after{
font-family: "Font Awesome 5 Free";
content:'\f054';
color:#003368;
 font-size: 0.6em;
position:absolute;
font-weight: 900;
top:0;
right:24px;
}


/***  h3 ***/
.navimenu h3{
background:#eeeef1;
font-size:16px;
font-weight:700;
padding:5px 0 5px 30px;
color:#333;
line-height:1.5em;
margin:15px 0 10px 0;
}


/***  submenu ***/
.navimenu .spSubMenu ul{

margin:10px auto 0 auto;
}

.navimenu .spSubMenu ul li{
display: inline-block;
font-size:15px;
line-height:15px;
width:50%;
margin:0 0 12px 0;
text-align:left;
position:relative;
}

.spSubMenu ul li a{
color:#333;
	text-decoration: none;
padding:0 0 0 45px;
}

.spSubMenu ul li a:after {
font-family: "Font Awesome 5 Free";
content:'\f054';
 font-size: 0.6em;
 	color: #003368;
position:absolute;
font-weight: 900;
top:0;
left:32px;
}



#spSnsMenu{
width:100%;
margin:0 auto;
}


#spSnsMenu ul{
text-align:center;
padding:20px 0 0 0;
}

#spSnsMenu ul li{
display:inline-block;
margin:0 20px 0 0;
}

#spSnsMenu ul li:last-child{
margin:0;
}

#spSnsMenu ul li img{
width:25px;
}



/* ★スクロールに合わせてコンテンツを表示させるCSS
 * 'effect'クラスのアニメーション処理速度を指定できます
 */
 

@keyframes fadeinSpmenu {
from {
    opacity: 0;
    transform: translateY(-5px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}






/**************************************************************************************************

PANKUZU

**************************************************************************************************/

#pankuzuArea {
	width: 100%;
}



#pankuzuBox {
min-width:100%;
max-width:100%;
	margin:0 auto;
	text-align:left;
	color:#000;
	padding:10px 3% 0 3%;
	font-size:11px;
	color:#333;
	line-height:1.2em;
	letter-spacing:.3px;
}


#pankuzuBox span{
color:#000;
padding:0 5px;
}



    
#pankuzuBox a{
    color:#000;
    text-decoration:none;
    }
  
 

#pankuzuBox a:visited{
    color:#000;
    text-decoration:none;
}

#pankuzuBox a:hover{
    color:#1a9ede;
    text-decoration:none;
}



#pankuzuBox a.active{
    color:#1a9ede;
    text-decoration:none;
}


#pankuzuArea img{
width:15px;
height:15px;
}




/**************************************************************************************************

ページ内アンカーリンク

**************************************************************************************************/

#comPageLinkBox {
	width:100%;
	background:#fff;
	margin:0 auto 30px auto;
}


#comPageLinkBox ul {
margin:0 auto;
text-align:center;
}

#comPageLinkBox ul li{
font-size:13px;
line-height:1.4em;
position:relative;
display:inline-block;
margin:0 0 10px 0;
padding:0 0 0 0;
color:#000;
font-weight:700;
}

#comPageLinkBox ul li:nth-child(even){
font-size:13px;
display:inline-block;
color:#000;
margin:0 15px;

}

#comPageLinkBox ul li:last-child{
font-size:13px;
line-height:1.4em;
position:relative;
display:inline-block;
margin:0 0 10px 0;
padding:0 0 0 0;
color:#000;
}




#comPageLinkBox ul li a{
color:#004b94;
    text-decoration:none;
}


#comPageLinkBox ul li a:visited{
color:#004b94;
    text-decoration:none;
}

#comPageLinkBox ul li a:hover{
  	opacity:0.8;
	filter: alpha(opacity=80);
}



#comPageLinkBox ul li a.active{
  	opacity:0.8;
	filter: alpha(opacity=80);
}


#comPageLinkBox ul li i{
margin:0 7px 0 0;
}




/**************************************************************************************************

コンテンツBOX

**************************************************************************************************/
.contentsBox{
width:100%;
margin:30px auto 30px auto;
padding:0 3%;
}

.contentsBox p {
font-size:15px;
line-height:2.0em;
color:#000;
}

.box1200{
max-width:100%;
min-width:100%;
margin:0 auto;
}


.box1000{
width:100%;
margin:0 auto;
padding:0;
}




/**************************************************************************************************

MAINBOX

**************************************************************************************************/

#mainBox {
	width:100%;
	float:none;
	padding:0 0;
	margin:0 0 30px 0;
}


/**************************************************************************************************

SUBBOX

**************************************************************************************************/

#subBox {
	width:100%;
	padding:0 0;
margin:0 0 20px 0;
	float:none;
}


.sideArchiveTtl{
	width:100%;
font-size:15px;
font-weight:bold;
line-height:1.5em;
color:#fff;
padding:8px 0 6px 15px;
background:#002d5c;
margin:0;
}




.sideArchiveBox{
	width:100%;
background:#fff;
margin:0;
border:solid 1px #cfcfcf;
border-top:solid 0px #cfcfcf;
}

.sideArchiveBoxInner{
padding:0 10px 10px 10px;
}

.sideArchiveListBox ul li{
border-bottom:dotted 1px #ccc;
padding:8px 0 8px 6px;
font-size:14px;
line-height:1.4em;
margin:0;
}


.sideSpNone{
display:none;
}



/**************************************************************************************************

画像角丸

**************************************************************************************************/
.imgBorderRadius {
    border-radius: 50%;
    -webkit-border-radius:50%;
    -moz-border-radius:50%;
}

.imgmaru {
    border-radius: 8px;
    -webkit-border-radius:8px;
    -moz-border-radius:8px;
}




/**************************************************************************************************

H1：第2階層コンテンツ共通

**************************************************************************************************/
.h1Box{
color:#000;
font-weight:900;
line-height:1.5em;
margin:0 0 0 0;
position:relative;
}

.h1Box .ttl{
position:absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
white-space: nowrap;
background:#fff;
padding:10px 20px 8px 20px;
background-color: rgba(255,255,255,0.7);
 	-webkit-box-shadow:5px 5px 10px rgba(0,0,0,0.1);
box-shadow:5px 5px 10px rgba(0,0,0,0.1);
    transform: translate(-50%, -50%);
}



.h1Box .roman{
font-size:12px;
color:#172b49;
   font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
letter-spacing:2.0px;
font-weight:normal;
text-align:center;
line-height:1.2em;
}


.h1Box h1{
font-size:25px;
color:#000;
font-weight:900;
text-align:center;
line-height:1.5em;
   font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
margin:0 0 0 0;
}



.h1Box img{
width: 100%;
height:200px;
  object-fit: cover;
}


/**************************************************************************************************

H1：第2階層共通

**************************************************************************************************/
.comH1Box{
color:#000;
font-weight:900;
line-height:1.5em;
margin:0 0 0 0;
position:relative;
}

.comH1Box .ttl{
position:absolute;
    top: 50%;
    left: 50%;
width:100%;
    transform: translate(-50%, -50%);
padding:20px 10px 20px 10px;
}


.comH1Box .roman{
font-size:10px;
color:#fff;
letter-spacing:2.0px;
font-weight:900;
text-align:center;
line-height:1.2em;
}


.comH1Box h1{
font-size:25px;
color:#fff;
font-weight:900;
text-align:center;
line-height:1.3em;
letter-spacing:2.0px;
margin:10px 0 0 0;
   font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
}

.comH1Box img{
width: 100%;
height:120px;
  object-fit: cover;
}


/*** ノーマル（背景グレー） ***/
.subtitle h1{
color:#000;
width:100%;
background:#f0f0f0;
font-size:22px;
text-align:center;
font-weight:700;
letter-spacing:2.0px;
line-height:1.4em;
margin:0;
padding:20px 0;
   font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
}



/**************************************************************************************************

h2：共通

**************************************************************************************************/


.subtitle h2{
font-size:22px;
font-weight:bold;
margin:60px 0 40px 0;
color:#000;
letter-spacing:2.0px;
text-align:center;
position:relative;
}

 .subtitle h2.upper{
font-size:22px;
font-weight:bold;
margin:0 0 40px 0;
color:#000;
letter-spacing:2.0px;
text-align:center;
position:relative;
}


.subtitle h2:before, .subtitle h2.upper:before{
position:absolute;
width:30px;
height:2px;
background:#0e4d8f;
font-weight: 900;
bottom:-20px;
content: "";
left:50%;
-webkit-transform: translateX(-50%);
-ms-transform:translateX(-50%);
transform: translateX(-50%);
}

 .subtitle h2.upperW{
font-size:22px;
font-weight:bold;
margin:0 0 40px 0;
color:#fff;
letter-spacing:2.0px;
text-align:center;
position:relative;
}


.subtitle h2.upperW:before{
position:absolute;
width:30px;
height:2px;
background:#fff;
font-weight: 900;
bottom:-20px;
content: "";
left:50%;
-webkit-transform: translateX(-50%);
-ms-transform:translateX(-50%);
transform: translateX(-50%);
}


/*** プライバシーポリシー ***/
 .subpage h2{
font-size:18px;
line-height:1.6em;
font-weight:bold;
color:#000;
margin:40px 0 10px 0;
width:100%;

}

 .subpage h2.upper{
font-size:18px;
line-height:1.6em;
font-weight:bold;
color:#000;
margin:0 0 10px 0;
width:100%;

}




/**************************************************************************************************

h3：共通

**************************************************************************************************/

 .subtitle h3.upper{
  background:#f5f0ed;
font-size:24px;
font-weight:bold;
border-left:solid 3px #003367;
border-bottom:solid 1px #ccc;
margin:40px 0 20px 0;
letter-spacing:2.0px;
padding:14px 0 13px 20px;
color:#000;
border-radius: 0px;         /* CSS3 */
	-moz-border-radius: 0px;    /* Firefox */
	-webkit-border-radius: 0px;
}


 .subtitle h3{
  background:#f5f0ed;
font-size:24px;
font-weight:bold;
border-left:solid 3px #003367;
border-bottom:solid 1px #ccc;
margin:80px 0 20px 0;
letter-spacing:2.0px;
padding:14px 0 13px 20px;
color:#000;
border-radius: 0px;         /* CSS3 */
	-moz-border-radius: 0px;    /* Firefox */
	-webkit-border-radius: 0px;
}

/*** プライバシーポリシー ***/
.subtitle2 h3.subpage{
font-size:18px;
font-weight:bold;
margin:30px 0 15px 0;
color:#000;
line-height:1.5em;
}


/**************************************************************************************************

h4：共通

**************************************************************************************************/
.subtitle h4{
font-size:20px;
font-weight:bold;
margin:50px 0 15px 0;
color:#000;
line-height:1.5em;
}


.subtitle h4.upper{
font-size:20px;
font-weight:bold;
margin:0 0 15px 0;
color:#000;
line-height:1.5em;
}

.subtitle h4 span{
font-size:16px;
font-weight:bold;
margin:0 7px 0 0;

color:#0056a2;
}




/**************************************************************************************************

TOPキービジュアル

**************************************************************************************************/
/* Main */

/*** PCは非表示 ***/
#keyVisualPc{
display:none;
}

#keyVisualSp{
display:block;
width:100%;
min-width:100%;
height:100%;
margin:0 auto;
position:relative;
padding:0 0 0 0;
}


#keyVisualSp .keyBox{
background-color: rgba(255,255,255,0.8);
width:95%;
height:25%;
top:50%;
left:50%;
-webkit-transform: translate(-50%, -50%);
-ms-transform:translate(-50%, -50%);
          transform: translate(-50%, -50%);
position:absolute;
margin:0 auto;
z-index:21;
}

#keyVisualSp .roman{
color:#003265;
font-size:10px;
width:100%;
font-weight:700;
position:absolute;
letter-spacing:1.5px;
text-align:center;
line-height:1.2em;
top:10%;
left:50%;
   font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;

-webkit-transform: translateX(-50%);
-ms-transform:translateX(-50%);
          transform: translateX(-50%);
	  text-shadow: 1px 1px 0px #fff;
}

#keyVisualSp .catch{
color:#000;
font-size:19px;
width:100%;
font-weight:700;
   font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;

position:absolute;
text-align:center;
line-height:1.4em;
padding:0 20px;
top:23%;
left:50%;
-webkit-transform: translateX(-50%);
-ms-transform:translateX(-50%);
          transform: translateX(-50%);
	  text-shadow: 1px 1px 0px #fff;
}


.slide-img{
min-width:100%;
 background-size:cover;
background-position: center center; /* 背景画像は中央を軸に表示させる */
 height:calc(100vh - 100px);
}



/**************************************************************************************************

TOPキャッチ

**************************************************************************************************/

.topH2Catch{
text-align:center;
line-height:1.4em;
font-size:17px;
font-weight:700;
color:#003367;
margin:15px 0 0 0;
letter-spacing:1.2px;
}


/**************************************************************************************************

TOP動画バナー

**************************************************************************************************/

.topban{
width:100%;
text-align:center;
margin:20px 0 0 0;
}

.topban img{
width:90%;
}


/**************************************************************************************************

TOPH2共通

**************************************************************************************************/

.topH2Roman{
text-align:center;
line-height:1.2em;
font-size:10px;
font-weight:normal;
color:#003367;
letter-spacing:2.0px;
}

h2.topH2{
text-align:center;
margin:10px 0 20px 0;
line-height:1.2em;
font-size:26px;
font-weight:normal;
color:#000;
letter-spacing:2.0px;
   font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
}

h2.topH2Recruit{
text-align:center;
margin:10px 0 20px 0;
line-height:1.2em;
font-size:26px;
font-weight:normal;
color:#000;
letter-spacing:2.0px;
   font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
}

h2.topH2S{
text-align:center;
margin:10px 0 20px 0;
line-height:1.2em;
font-size:26px;
font-weight:normal;
color:#000;
letter-spacing:2.0px;
   font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
}




/**************************************************************************************************

TOP施工実績

**************************************************************************************************/

#topWorksArea{
max-width:100%;
min-width:100%;
display:block;
margin:0 auto;
padding:30px 2% 30px 2%;
background:#fff;
}

#topWorksArea ul.sponly {
width:100%;
margin:30px auto 0 auto;
}

#topWorksArea ul.sponly li{
width:49%;
display:inline-block;
vertical-align:top;
margin:0 2% 6% 0;
}

#topWorksArea ul.sponly li:nth-child(4n){
width:49%;
display:inline-block;
vertical-align:top;
margin:0 0 6% 0;
}

#topWorksArea ul.sponly li:nth-child(even){
width:49%;
display:inline-block;
vertical-align:top;
margin:0 0 6% 0;
}



#topWorksArea ul.sponly li p{
display:block;
margin:5px 0 0 0;
line-height:1.4em;
}

#topWorksArea ul.sponly li p span{
color:#004b95;
background:#fff;
border:solid 1px #004b95;
font-size:9px;
padding:3px 5px 3px 5px;
margin:0 0 0 0;
text-align:center;
line-height:1.1em;
border-radius: 20px;         /* CSS3 */
	-moz-border-radius: 20px;    /* Firefox */
	-webkit-border-radius: 20px;
}

#topWorksArea ul.sponly li p.day{
text-align:left;
color:#969696;
font-size:11px;
margin:5px 0 0 0;
}

#topWorksArea ul.sponly li p span.frame{
color:#fff;
background:#2d96a5;
border:solid 1px #2d96a5;
font-size:9px;
padding:3px 5px 3px 5px;
margin:0 0 0 5px;
text-align:center;
line-height:1.1em;
border-radius: 20px;         /* CSS3 */
	-moz-border-radius: 20px;    /* Firefox */
	-webkit-border-radius: 20px;
}

#topWorksArea ul.sponly li p span.tent{
color:#fff;
background:#ce5e76;
border:solid 1px #ce5e76;
font-size:9px;
padding:3px 5px 3px 5px;
margin:0 0 0 5px;
text-align:center;
line-height:1.1em;
border-radius: 20px;         /* CSS3 */
	-moz-border-radius: 20px;    /* Firefox */
	-webkit-border-radius: 20px;
}


#topWorksArea ul.sponly li p span.other{
color:#fff;
background:#3c5ec2;
border:solid 1px #3c5ec2;
font-size:9px;
padding:3px 5px 3px 5px;
margin:0 0 0 5px;
text-align:center;
line-height:1.1em;
border-radius: 20px;         /* CSS3 */
	-moz-border-radius: 20px;    /* Firefox */
	-webkit-border-radius: 20px;
}



#topWorksArea ul.sponly li h3 {
font-size:15px;
line-height:1.5em;
text-align:left;
margin:5px 0 0 0;
}

#topWorksArea ul.sponly li h3 span{
border-radius: 20px;         /* CSS3 */
	-moz-border-radius: 20px;    /* Firefox */
	-webkit-border-radius: 20px;
	background:#fa0000;
	color:#fff;
	font-size:10px;
	font-weight:normal;
	text-align:center;
	padding:2px 4px;
}



#topWorksArea ul.sponly li img{
width:100%;
}


#topWorksArea .btn a{
width:50%;
	font-size:13px;
	text-align:center;
	color:#002248;
	text-decoration: none;
border:solid 1px #002248;
margin:10px auto 0 auto;
	display: block;
	padding:10px 0;
	position:relative;
background:#fff;
}

#topWorksArea .btn .visited a, {
background:#fff;
}


#topWorksArea .btn a:hover {
background:#002248;
color:#fff;
	opacity:1.0;
	filter: alpha(opacity=100);
}

#topWorksArea .btn a:active {
color:#fff;
background:#002248;
	opacity:1.0;
	filter: alpha(opacity=100);
}

#topWorksArea .btn a:after{
font-family: "Font Awesome 5 Free";
content:'\f105';
position:absolute;
font-weight: 900;
font-size: 80%;
top:50%;
right:15px;
color:#002248;
-webkit-transform: translateY(-50%);
-ms-transform:translateY(-50%);
          transform: translateY(-50%);
}

#topWorksArea .btn a:hover:after{
font-family: "Font Awesome 5 Free";
content:'\f105';
position:absolute;
font-weight: 900;
font-size: 80%;
top:50%;
right:15px;
color:#fff;
-webkit-transform: translateY(-50%);
-ms-transform:translateY(-50%);
          transform: translateY(-50%);
}




/**************************************************************************************************

TOP事業案内

**************************************************************************************************/
#topServiceArea{
margin:0 auto;
width:100%;
background:#fff;
background: linear-gradient(#e8f8ff, #fff);
padding:30px 0 30px 0;
position:static;
}

#topServiceArea .serviceImg{
display:none;
position:absolute;
top:-30px;
left:0;
z-index:1;
}



#topServiceArea .imgBox {
max-width:100%;
min-width:100%;
margin:0 0 0 0;
float:right;
position:relative;
z-index:3;
}


#topServiceArea h2 {
font-size:24px;
color:#002248;
line-height:1.4em;
text-shadow: 1px 1px 0px #fff;
margin:0 0 15px 3%;
}

#topServiceArea p.serviceTxt {
font-size:15px;
margin:10px 0 0 0;
line-height:1.6em;
text-align:left;
margin:0 0 0 3%;
}



#topServiceArea ul {
max-width:100%;
min-width:100%;
margin:20px auto 0 auto;
padding:0 2%;
}

#topServiceArea ul li{
width:48%;
display:inline-block;
vertical-align:top;
margin:0 0 0 0;
}

#topServiceArea ul li img{
width:100%;
outline:solid 1px #fff;
}

#topServiceArea ul li:nth-child(1){
width:49%;
display:inline-block;
vertical-align:top;
margin:0 2% 5% 0;
}

#topServiceArea ul li:nth-child(2){
width:49%;
display:inline-block;
vertical-align:top;
margin:0 0  5% 0;
}

#topServiceArea ul li:nth-child(3){
width:49%;
display:inline-block;
vertical-align:top;
margin:0 2% 0 0;
}




#topServiceArea ul li h3 {
font-size:16px;
color:#002248;
margin:15px 0 5px 0;
text-align:left;
line-height:1.2em;
padding:0 0 0 15px;
position:relative;
}

#topServiceArea ul li h3 a:after{
font-family: "Font Awesome 5 Free";
content:'\f138';
position:absolute;
font-weight: 900;
font-size:75%;
top:50%;
left:0;
color:#004b94;
-webkit-transform: translateY(-50%);
-ms-transform:translateY(-50%);
          transform: translateY(-50%);
}
#topServiceArea ul li p{
font-size:13px;
margin:10px 0 0 0;
line-height:1.6em;
text-align:left;
}




/**************************************************************************************************

TOPお知らせ

**************************************************************************************************/
#topNewsBox{
margin:0 auto;
width:100%;
padding:30px 2% 30px 2%;
background:#fff;
}


#topNewsBox dl{
padding:0 0 15px 0;
margin:0 auto 15px auto;
width:100%;
}

#topNewsBox dt{
width:100%;
text-align:left;
font-size:15px;
padding:3px 0;
line-height:1.4em;
color:#555;
display:block;
vertical-align:middle;
}



#topNewsBox dd{
width:100%;
font-size:15px;
line-height:1.4em;
padding:5px 0 0 0;
margin:0 0 0 0;
display:block;
vertical-align:middle;
}



/**************************************************************************************************

共通：スタッフ紹介とご希望の連絡方法

**************************************************************************************************/
.comRenrakuArea{
width:100%;
height:auto;
display:block;
background:#f7f4f1;
padding:20px 2% 10px 2%;
}

.comRenrakuBox{
min-width:100%;
max-width:100%;
margin:0 auto;

}

.comRenrakuBox .comRenrakuToolBox h3{
font-size:20px;
line-height:1.4em;
font-weight:normal;
margin:0 0 0 0;
text-align:center;
}

.comRenrakuBox .comRenrakuToolBox p{
text-align:center;
font-size:14px;
line-height:1.5em;
margin:20px 0 0 0;
}



.comRenrakuBox .comRenrakuToolBox ul {
width:100%;
margin:20px auto 10px auto;
}

.comRenrakuBox .comRenrakuToolBox ul li {
width:48.5%;
display:inline-block;
margin:0 3% 3% 0;
vertical-align:top;
background:#fff;
 	-webkit-box-shadow:2px 2px 2px rgba(0,0,0,0.1);
box-shadow:2px 2px 2px rgba(0,0,0,0.1);
}

.comRenrakuBox .comRenrakuToolBox ul li:last-child{
width:48.5%;
display:inline-block;
margin:0;
vertical-align:top;
}

.comRenrakuBox .comRenrakuToolBox ul li:nth-child(even){
width:48.5%;
display:inline-block;
margin:0 0 3% 0;
vertical-align:top;
background:#fff;
 	-webkit-box-shadow:2px 2px 2px rgba(0,0,0,0.1);
box-shadow:2px 2px 2px rgba(0,0,0,0.1);
}


.comRenrakuBox .comRenrakuToolBox ul li img{
width:100%;
}

.comRenrakuBox .comRenrakuToolBox ul li h4{
font-size:17px;
line-height:1.3em;
color:#003a72;
font-weight:normal;
text-align:center;
margin:20px 5% 5px 5%;
padding:0 0 2% 0;
}



.comRenrakuBox .comRenrakuToolBox ul li p{
text-align:left;
font-size:14px;
padding:0 6% 6% 6%;
margin:0;
font-weight:normal;
line-height:1.6em;
}


.comRenrakuBox .telArea{
display:none;
}


.comRenrakuBox .telAreaSp{
width:100%;
display:block;
margin:0 auto 10px auto;
}


.comRenrakuBox .telAreaSp ul li {
float:none;
margin:0 auto 10px auto;
text-align:center;
}

.comRenrakuBox .telAreaSp ul li:nth-child(even){
float:none;
margin:0 auto;

}

.comRenrakuBox .telAreaSp ul li p.addr{
font-size:14px;
margin:0 0 0 0;
line-height:1.4em;
color:#003367;
}

.comRenrakuBox .telAreaSp ul li .telTxt{
font-size:36px;
margin:0;
padding:0 0 0 0;
line-height:1.4em;
color:#003367;
position:relative;
font-weight:500;
}

.comRenrakuBox .telAreaSp ul li .telIcon{
font-size:18px;
margin:0;

color:#003367;
top:13px;
left:0;
position:absolute;
}


.comRenrakuBox .telAreaSp ul li i{
font-size:18px;
color:#003a72;
margin:0 5px 0 0;
}

.comRenrakuArea .btn a{
display:none;

width:280px;
	font-size:14px;
	text-align:center;
	color:#002248;
	text-decoration: none;
border:solid 1px #002248;
margin:30px auto 0 auto;
	padding:20px 0 20px 20px;
	position:relative;
background:#fff;
}

.comRenrakuArea .btn .visited a, {
background:#fff;
}


.comRenrakuArea .btn a:hover {
background:#00559f;
border:solid 1px #00559f;
color:#fff;
	opacity:1.0;
	filter: alpha(opacity=100);
}

.comRenrakuArea .btn a:active {
color:#fff;
background:#00559f;
border:solid 1px #00559f;
	opacity:1.0;
	filter: alpha(opacity=100);
}

.comRenrakuArea .btn i{
	font-size:110%;
margin:0 0 0 0;
color:#003a72;
}

.comRenrakuArea .btn a:after{
font-family: "Font Awesome 5 Free";
content:'\f0e0';
position:absolute;
font-weight: 900;
font-size: 120%;
top:50%;
left:55px;
color:#002248;
-webkit-transform: translateY(-50%);
-ms-transform:translateY(-50%);
          transform: translateY(-50%);
}

.comRenrakuArea .btn a:hover:after{
font-family: "Font Awesome 5 Free";
content:'\f0e0';
position:absolute;
font-weight: 900;
font-size: 120%;
top:50%;
left:55px;
color:#fff;
-webkit-transform: translateY(-50%);
-ms-transform:translateY(-50%);
          transform: translateY(-50%);
}



/**************************************************************************************************

翔栄について

**************************************************************************************************/

.aboutArea{
width:100%;
background: #fff;
}

.aboutBox{
min-width:100%;
max-width:100%;
margin:0 auto;

}

.aboutTxtBox{
min-width:100%;
max-width:100%;
margin:0 auto;
}

.aboutTxtBox h2{
font-size:20px;
line-height:1.6em;
text-align:center;
margin:0 0 20px 0;
color:#00224c;

}
.aboutTxtBox ul li{
display:block;
vertical-align:top;
margin:0 0 0 0;
width:100%;
}

.aboutTxtBox ul li:last-child{
display:inline-block;
vertical-align:top;
margin:20px 0 0 0;
width:100%;
}

.aboutTxtBox ul li img{
width:100%;
}


.aboutTxtBox p{
margin:0 0 20px 0;
}

.aboutLeftBox{
background:#fff;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
padding:6% 0 0 0;
}

.aboutRightBox{
background:#fff;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
padding:0;
}

.aboutBoxInner{
min-width:100%;
max-width:100%;
margin:0 auto;
}

.aboutArea h3.upper{
font-size:22px;
margin:0 auto 10px auto;
border-left:solid 3px #0e4d8f;
padding:5px 0 5px 10px;
}


.aboutArea h3{
font-size:22px;
margin:50px auto 10px auto;
border-left:solid 3px #0e4d8f;
padding:5px 0 5px 10px;
}




.aboutArea .btn a{
width:50%;
	font-size:13px;
	text-align:center;
	color:#002248;
	text-decoration: none;
border:solid 1px #002248;
margin:10px auto 0 auto;
	display: block;
	padding:10px 0;
	position:relative;
background:#fff;
}

.aboutArea .btn .visited a, {
background:#fff;
}


.aboutArea .btn a:hover {
background:#002248;
color:#fff;
	opacity:1.0;
	filter: alpha(opacity=100);
}

.aboutArea .btn a:active {
color:#fff;
background:#002248;
	opacity:1.0;
	filter: alpha(opacity=100);
}

.aboutArea .btn a:after{
font-family: "Font Awesome 5 Free";
content:'\f105';
position:absolute;
font-weight: 900;
font-size: 80%;
top:50%;
right:15px;
color:#002248;
-webkit-transform: translateY(-50%);
-ms-transform:translateY(-50%);
          transform: translateY(-50%);
}

.aboutArea .btn a:hover:after{
font-family: "Font Awesome 5 Free";
content:'\f105';
position:absolute;
font-weight: 900;
font-size: 80%;
top:50%;
right:15px;
color:#fff;
-webkit-transform: translateY(-50%);
-ms-transform:translateY(-50%);
          transform: translateY(-50%);
}




/**************************************************************************************************

企業情報

**************************************************************************************************/

/***************************
ご挨拶
***************************/

.msgArea{
width:100%;
padding:0 0 0 0;
}


.msgBox{
width:100%;
margin:0 auto;
}

.msgBox p{
margin:0 0 20px 0;
}

.msgBoxL{
float:none;
width:100%;
vertical-align:top;
}

.msgBoxR{
float:none;
width:100%;
vertical-align:top;
text-align:center;
margin:30px auto 0 auto;
}

.msgBoxR img{
width:80%;
}

.msgBox h3{
font-size:19px;
line-height:1.6em;
text-align:left;
margin:0 0 20px 0;
color:#00224c;
}

.msgBox .namePredident{
font-size:15px;
line-height:1.2em;
font-weight:bold;
margin:10px 0 0 0;
}

.msgBox .namePredident span{
font-size:17px;
margin:0 0 0 20px;
}




/***************************
経営理念・方針
***************************/
.policyArea{
width:100%;
background: linear-gradient(to right, #013f86, #2584c0);
padding:30px 20px;
margin:50px 0 0 0;
}

.policyBox{
width:100%;
margin:0 auto;
}


.policyBox h3{
font-size:30px;
text-align:center;
color:#fff;
margin:60px 0 30px 0;
font-weight:900;
text-shadow: 1px 1px 0px #000;
}

.policyBox .policyTxt {
font-size:18px;
text-align:center;
color:#fff;
line-height:1.8em;
font-weight:900;
text-shadow: 1px 1px 0px #000;
}


/***************************
会社概要
***************************/

.guideBox {
	width:100%;
margin:50px auto 0 auto
}



.guideBox table {
	width:100%;
	border-collapse:collapse;
	background:#fff;
}

.guideBox th {
display:block;
	font-size:15px;
	line-height:1.6em;
width:100%;
	vertical-align:middle;
	padding:15px 5px;
	font-weight:bold;
	text-align:left;
	border-bottom:solid 1px #ccc;
	color:#00224c;
}
.guideBox td {
display:block;
	font-size:15px;
	line-height:1.6em;
width:100%;
	padding:15px 5px;
	vertical-align:middle;
	text-align:left;
	border-bottom:solid 1px #ccc;
	color:#000;
}



/***************************
工場
***************************/
.factoryArea{
width:100%;
background: #f5f5f5;
padding:30px 0;
margin:50px 0 0 0;
}

.factoryBox{
width:100%;
margin:0 auto;
padding:0 10px;
}


.factoryBoxL{
float:none;
width:100%;
vertical-align:top;
}

.factoryBoxR{
float:none;
width:100%;
vertical-align:top;
margin:20px 0 0 0;
}


.factoryBox table {
width:100%;
	border-collapse:collapse;
}

.factoryBox th {
	font-size:15px;
display:block;
	line-height:1.6em;
width:100%;
	vertical-align:middle;
	padding:15px 0;
	font-weight:bold;
	text-align:left;
	border-bottom:solid 1px #ccc;
	color:#00224c;
}
.factoryBox td {
	font-size:15px;
display:block;
	line-height:1.6em;
width:100%;
	padding:15px 0 15px 2%;
	vertical-align:middle;
	text-align:left;
	border-bottom:solid 1px #ccc;
	color:#000;
}

.factoryBox table ul li{
display:inline-block;
line-height:1.6em;
width:75%;
}

.factoryBox table ul li:nth-child(even){
display:inline-block;
line-height:1.6em;
width:25%;
}



/***************************
アクセス
***************************/

.accessBox{
width:100%;
margin:50px auto 0 auto;
}

.accessBox h3{
font-size:17px;
margin:0 0 10px 0;
}

.accessBox h3 span{
font-size:16px;
color:#004e92;
margin:0 5px 0 0;
}

.accessBox ul {
border-bottom:solid 1px #e6e6e6;
padding:0 0 30px 0;
margin:0 0 30px 0;
}

.accessBox ul.second {
border-bottom:solid 0px #e6e6e6;
padding:0 0 0 0;
margin:0 0 0 0;
}
.accessBox ul li{
width:100%;
display:block;
vertical-align:top;
}

.accessBox ul li:nth-child(even){
width:100%;
display:block;
vertical-align:top;
}


.accessBox ul li .google{
position: relative;
padding-bottom: 75%; /*これが縦横比*/
height: 0;
overflow: hidden;
margin:20px 0 0 0;
}

.accessBox ul li .google iframe {
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
}




.accessBox .btn a{
width:50%;
	font-size:14px;
	text-align:center;
	color:#002248;
	text-decoration: none;
border:solid 1px #002248;
margin:20px auto 0 auto;
	display: block;
	padding:12px 0;
	position:relative;
background:#fff;
}

.accessBox .btn .visited a, {
background:#fff;
}


.accessBox .btn a:hover {
background:#002248;
color:#fff;
	opacity:1.0;
	filter: alpha(opacity=100);
}

.accessBox .btn a:active {
color:#fff;
background:#002248;
	opacity:1.0;
	filter: alpha(opacity=100);
}

.accessBox .btn a:after{
font-family: "Font Awesome 5 Free";
content:'\f105';
position:absolute;
font-weight: 900;
font-size: 80%;
top:50%;
right:15px;
color:#002248;
-webkit-transform: translateY(-50%);
-ms-transform:translateY(-50%);
          transform: translateY(-50%);
}

.accessBox .btn a:hover:after{
font-family: "Font Awesome 5 Free";
content:'\f105';
position:absolute;
font-weight: 900;
font-size: 80%;
top:50%;
right:15px;
color:#fff;
-webkit-transform: translateY(-50%);
-ms-transform:translateY(-50%);
          transform: translateY(-50%);
}




/**************************************************************************************************

事業・サービス

**************************************************************************************************/

.serviceArea{
width:100%;
background:#fff;
}

.serviceBox{
min-width:100%;
max-width:100%;
margin:0 auto;

}

.serviceTxtBox{
width:100%;
margin:0 auto 30px auto;

}

.serviceLeftBox{
background:#fff;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
padding:0 0 4% 0;
}

.serviceRightBox{
background:#fff;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
padding:0 0 4%;
}

.serviceBoxInner{
min-width:100%;
max-width:100%;
margin:0 auto;
}

.serviceArea h3.upper{
font-size:18px;
margin:0 auto 10px auto;
border-left:solid 3px #0e4d8f;
padding:3px 0 3px 10px;
}


.serviceArea h3{
font-size:18px;
margin:30px auto 10px auto;
border-left:solid 3px #0e4d8f;
padding:3px 0 3px 10px;
}


.serviceLeftBox ul {
width:100%;
text-align:center;
margin:0 auto;

}

.serviceArea ul li{
width:100%;
display:block;
margin:2% 0 0 0;
}

.serviceArea ul li:nth-child(even){
width:100%;
display:block;
margin:2% 0 0 0;
}
.serviceArea ul li img{
width:100%;
}



.serviceArea .btn a{
width:60%;
	font-size:13px;
	text-align:center;
	color:#002248;
	text-decoration: none;
border:solid 1px #002248;
margin:20px auto 0 auto;
	display: block;
	padding:10px 0;
	position:relative;
background:#fff;
}

.serviceArea .btn .visited a, {
background:#fff;
}


.serviceArea .btn a:hover {
background:#002248;
color:#fff;
	opacity:1.0;
	filter: alpha(opacity=100);
}

.serviceArea .btn a:active {
color:#fff;
background:#002248;
	opacity:1.0;
	filter: alpha(opacity=100);
}

.serviceArea .btn a:after{
font-family: "Font Awesome 5 Free";
content:'\f105';
position:absolute;
font-weight: 900;
font-size: 80%;
top:50%;
right:15px;
color:#002248;
-webkit-transform: translateY(-50%);
-ms-transform:translateY(-50%);
          transform: translateY(-50%);
}

.serviceArea .btn a:hover:after{
font-family: "Font Awesome 5 Free";
content:'\f105';
position:absolute;
font-weight: 900;
font-size: 80%;
top:50%;
right:15px;
color:#fff;
-webkit-transform: translateY(-50%);
-ms-transform:translateY(-50%);
          transform: translateY(-50%);
}


/**************************************************************************************************

商品紹介

**************************************************************************************************/

.productArea{
width:100%;
background:#fff;
}

.productBox{
min-width:100%;
max-width:100%;
margin:0 auto;

}

.productTxtBox{
width:100%;
margin:0 auto 30px auto;

}

.productBox h2 {
font-size:19px;
line-height:1.6em;
text-align:left;
margin:0 0 20px 0;
color:#00224c;
}


.normalTxtImg {
width:100%;
margin:0 auto;
}

.normalTxtImg dl dt{
width:100%;
margin:0 0 10px 0;
display:block;
vertical-align:top;
}

.normalTxtImg dl dd{
width:100%;
display:block;
vertical-align:top;
text-align:center;
padding:0 0 0 0;
}

.normalTxtImg dl dd img{
width:100%;
margin:0 0 0 0;
}

.normalTxtImg dl dd ul {
margin:0;
}


.normalTxtImg dl dd ul li{
display:block;
margin:0 0 10px 0;
width:100%;
vertical-align:top;
}

.normalTxtImg dl dd ul li:last-child{
display:block;
margin:0;
width:100%;
vertical-align:top;
}


.normalTxtImg dl dd p{
text-align:center;
margin:5px 0 20px 0;
}





/**************************************************************************************************

施工事例

**************************************************************************************************/

/*********************************/
/*** 一覧 ***/
/*********************************/
.worksArea{
width:100%;
padding:0 0 0 0;
background:#fff;
}

.worksBox, .worksOtherBox{
min-width:100%;
max-width:100%;
margin:0 auto;
padding:0;
}

.worksBox ul, .worksOtherBox ul {
width:100%;
margin:50px 0 0 0;
}

.worksBox ul li{
aspect-ratio: 4 / 3;
width:49%;
display:inline-block;
vertical-align:top;
margin:0 2% 4% 0;
}


.worksBox ul li:nth-child(3n){
width:49%;
display:inline-block;
vertical-align:top;
margin:0 0 6% 0;
}

.worksBox ul li:nth-child(odd){
width:49%;
display:inline-block;
vertical-align:top;
margin:0 2% 6% 0;
}

.worksBox ul li:nth-child(even){
width:49%;
display:inline-block;
vertical-align:top;
margin:0 0 6% 0;
}

.worksOtherBox ul li{
width:49%;
display:inline-block;
vertical-align:top;
margin:0 2% 4% 0;
}

.worksOtherBox ul li:nth-child(odd){
width:49%;
display:inline-block;
vertical-align:top;
margin:0 2% 6% 0;
}

.worksOtherBox ul li:nth-child(even){
width:49%;
display:inline-block;
vertical-align:top;
margin:0 0 6% 0;
}

.worksOtherBox ul li:nth-child(4n){
width:49%;
display:inline-block;
vertical-align:top;
margin:0 0 6% 0;
}


.worksBox ul li p, .worksOtherBox ul li p{
display:inline-block;
margin:0 0 0 0;
}

.worksBox ul li p span, .worksOtherBox ul li p span{
color:#004b95;
background:#fff;
border:solid 1px #004b95;
font-size:9px;
padding:3px 5px 3px 5px;
margin:0 0 0 0;
text-align:center;
line-height:1.4em;
border-radius: 20px;         /* CSS3 */
	-moz-border-radius: 20px;    /* Firefox */
	-webkit-border-radius: 20px;
}

.worksBox ul li p span.frame, .worksOtherBox ul li p span.frame{
color:#fff;
background:#2d96a5;
border:solid 1px #2d96a5;
font-size:9px;
padding:3px 5px 3px 5px;
margin:0 0 0 5px;
text-align:center;
line-height:1.4em;
border-radius: 20px;         /* CSS3 */
	-moz-border-radius: 20px;    /* Firefox */
	-webkit-border-radius: 20px;
}

.worksBox ul li p span.tent, .worksOtherBox ul li p span.tent{
color:#fff;
background:#ce5e76;
border:solid 1px #ce5e76;
font-size:9px;
padding:3px 5px 3px 5px;
margin:0 0 0 5px;
text-align:center;
line-height:1.4em;
border-radius: 20px;         /* CSS3 */
	-moz-border-radius: 20px;    /* Firefox */
	-webkit-border-radius: 20px;
}

.worksBox ul li p span.other, .worksOtherBox ul li p span.other{
color:#fff;
background:#3c5ec2;
border:solid 1px #3c5ec2;
font-size:9px;
padding:3px 5px 3px 5px;
margin:0 0 0 5px;
text-align:center;
line-height:1.4em;
border-radius: 20px;         /* CSS3 */
	-moz-border-radius: 20px;    /* Firefox */
	-webkit-border-radius: 20px;
}


.worksBox ul li p.day, .worksOtherBox ul li p.day{
text-align:left;
color:#969696;
font-size:11px;
margin:0 5px 0 0;
}


.worksBox ul li h3, .worksOtherBox ul li h3 {
font-size:15px;
line-height:1.5em;
text-align:left;
margin:5px 0 0 0;
}

.worksBox ul li h3 span, .worksOtherBox ul li h3 span{
border-radius: 20px;         /* CSS3 */
	-moz-border-radius: 20px;    /* Firefox */
	-webkit-border-radius: 20px;
	background:#fa0000;
	color:#fff;
	font-size:10px;
	font-weight:normal;
	text-align:center;
	padding:2px 4px;
}



.worksBox ul li img, .worksOtherBox ul li img{
width:100%;
height:100%;
}


/*********************************/
/*** 詳細 ***/
/*********************************/


.workDetailArea {
min-width:100%;
max-width:100%;
margin:0 auto;
}

.workDetailArea .shunkou{
margin:0 auto;
}

.workDetailArea .shunkou p{
display:inline-block;
margin:10px 0 0 0;
}

.workDetailArea .shunkou p span{
color:#004b95;
background:#fff;
border:solid 1px #004b95;
font-size:11px;
padding:3px 10px 3px 10px;
margin:0 0 0 0;
text-align:center;
line-height:1.4em;
border-radius: 20px;         /* CSS3 */
	-moz-border-radius: 20px;    /* Firefox */
	-webkit-border-radius: 20px;
}

.workDetailArea .shunkou p span.frame{
color:#fff;
background:#2d96a5;
border:solid 1px #2d96a5;
font-size:11px;
padding:3px 10px 3px 10px;
margin:0 0 0 5px;
text-align:center;
line-height:1.4em;
border-radius: 20px;         /* CSS3 */
	-moz-border-radius: 20px;    /* Firefox */
	-webkit-border-radius: 20px;
}

.workDetailArea .shunkou p span.tent{
color:#fff;
background:#ce5e76;
border:solid 1px #ce5e76;
font-size:11px;
padding:3px 10px 3px 10px;
margin:0 0 0 5px;
text-align:center;
line-height:1.4em;
border-radius: 20px;         /* CSS3 */
	-moz-border-radius: 20px;    /* Firefox */
	-webkit-border-radius: 20px;
}

.workDetailArea .shunkou p span.other{
color:#fff;
background:#3c5ec2;
border:solid 1px #3c5ec2;
font-size:11px;
padding:3px 10px 3px 10px;
margin:0 0 0 5px;
text-align:center;
line-height:1.4em;
border-radius: 20px;         /* CSS3 */
	-moz-border-radius: 20px;    /* Firefox */
	-webkit-border-radius: 20px;
}



.workDetailArea .shunkou p.day{
text-align:left;
color:#969696;
font-size:12px;
margin:0 10px 0 0;
}

.workDetailArea h2{
font-size:20px;
line-height:1.5em;
margin:10px 0 20px 0;
padding:0 0 10px 0;
border-bottom:solid 1px #e6e6e6;
}


.workDetailArea h2 span{
border-radius: 20px;         /* CSS3 */
	-moz-border-radius: 20px;    /* Firefox */
	-webkit-border-radius: 20px;
	background:#fa0000;
	color:#fff;
	font-size:10px;
	font-weight:normal;
	text-align:center;
	padding:2px 4px;
}


.workImgArea ul li{
width:100%;
margin:3% 0 0 0;
}


.workImgArea ul li img{
width:100%;
height:100%;
}



.worksArea2{
width:100%;
padding:30px 3% 0 3%;
margin:30px 0 0 0;
background: linear-gradient(#e8f8ff, #f8fcfe);
}



/**************************************************************************************************

新着情報

**************************************************************************************************/
.newsDetail{
width:100%;
margin:0 auto 0 auto;
}


.newsDetail h2{
color:#000;
text-align:left;
border-bottom:solid 1px #e6e6e6;
border-left:solid 3px #002d5c;
font-size:18px;
padding:5px 10px 10px 12px;
letter-spacing:1.0px;
line-height:1.4em;
font-weight:normal;
}

.newsDetBox{
border-bottom:solid 1px #e6e6e6;
padding:20px 10px 30px 10px;
margin:0 0 0 0;
}

.newsDetBox img{
width:auto;
height:auto;
}

.newsDetBox p{
margin:0 0 20px 0;
}

.newsDetBox p.day{
font-size:11px;
margin:0 0 10px 0;
color:#969696;
}

.newsDetail p.day span{
border-radius: 20px;         /* CSS3 */
	-moz-border-radius: 20px;    /* Firefox */
	-webkit-border-radius: 20px;
	background:#fa0000;
	color:#fff;
	font-size:10px;
	font-weight:normal;
	text-align:center;
	padding:2px 4px;
}

/**************************************************************************************************

共通：次の記事、前の記事

**************************************************************************************************/
.pageNextBox{
min-width:100%;
max-width:100%;
margin:30px auto 0 auto;
border-radius: 10px;         /* CSS3 */
	-moz-border-radius: 10px;    /* Firefox */
	-webkit-border-radius: 10px;
}

.pageNextBox ul li{
font-size:14px;
float:left;
}

.pageNextBox ul li:last-child{
font-size:14px;
float:right;
}




/**************************************************************************************************

共通：詳細から一覧へ戻るボタン

**************************************************************************************************/

/*** ボタン ***/
.comBackToListBtn a{
width:60%;
	font-size:13px;
	text-align:center;
	color:#002248;
	text-decoration: none;
border:solid 1px #002248;
margin:30px auto 0 auto;
	display: block;
	padding:10px 0;
	position:relative;
background:#fff;
}


.comBackToListBtn .visited a, {
	opacity:1.0;
}


.comBackToListBtn a:hover {
background:#002248;
color:#fff;
	opacity:1.0;
	filter: alpha(opacity=100);
}

.comBackToListBtn a:active {
color:#fff;
background:#002248;
	opacity:1.0;
	filter: alpha(opacity=100);
}



.comBackToListBtn a:after{
font-family: "Font Awesome 5 Free";
content:'\f104';
position:absolute;
font-weight: 900;
font-size: 80%;
top:50%;
left:15px;
color:#002248;
-webkit-transform: translateY(-50%);
-ms-transform:translateY(-50%);
          transform: translateY(-50%);
}

.comBackToListBtn a:hover:after{
font-family: "Font Awesome 5 Free";
content:'\f104';
position:absolute;
font-weight: 900;
font-size: 80%;
top:50%;
left:15px;
color:#fff;
-webkit-transform: translateY(-50%);
-ms-transform:translateY(-50%);
          transform: translateY(-50%);
}




/* 記事内の画像 */
.aligncenter{
display: block;
margin-left: auto;
margin-right: auto;
}

div.post img{
border: none;
}

.sitei img{
width:100%;
}


div.post a:hover img{
opacity:0.6;
filter: alpha(opacity=60);
}

.alignleft	{
float: left;
margin-right: 20px;
margin-bottom: 10px;
}

.alignright {
float: right;
margin-left: 20px;
margin-bottom: 10px;
}

.wp-caption	{
border: solid 0px #aaaaaa;
text-align: center;
padding-top: 5px;
margin-top: 10px;
}



/* ---------------------------------------------------
 PLUGIN WP-Page Navi
---------------------------------------------------- */
.navigation { padding: 15px; text-align:center;}

.wp-pagenavi { font-weight: normal;
font-size:13px;
}

.wp-pagenavi a, .wp-pagenavi a:link {
padding:7px;
margin:0 5px 15px 5px;
	text-decoration: none;
	border: 1px solid #003265;
	color: #003265;
}

.wp-pagenavi a:visited {
padding:7px;
margin:0 5px;
	text-decoration: none;
	border: 1px solid #003265;
}

.wp-pagenavi a:hover {
	border: 1px solid #003265;
opacity:.8;	
}

.wp-pagenavi a:active {
padding:7px;
margin:0 5px;
	border: 1px solid #003265;
opacity:.8;
}

.wp-pagenavi span.pages {
padding:7px;
margin:0 5px;
	color: #003265;
	border: 1px solid #003265;
}

.wp-pagenavi span.current {
padding:7px;
margin:0 5px;
background:#003265;
	border: 1px solid #003265;
	color: #fff;
}

.wp-pagenavi span.extend {
padding:7px;
margin:0 5px;
	border: 1px solid #003265;
	color: #003265;
}





/**************************************************************************************************

お問い合わせ
Contact

**************************************************************************************************/
.contactBox h2{
font-size:18px;
color:#000;
border-left:solid 3px #004b95;
border-bottom:solid 1px #ccc;
padding:10px 0 8px 10px;
background:#f6f6f6;
font-weight:normal;
line-height:1.4em;
margin:30px 0 10px 0;
}


.contactBox h2.upper{
font-size:18px;
color:#000;
border-left:solid 3px #004b95;
border-bottom:solid 1px #ccc;
padding:10px 0 8px 10px;
background:#f6f6f6;
font-weight:normal;
line-height:1.4em;
margin:30px 0 10px 0;
}


.contactBox .telArea{
width:100%;
margin:20px auto 0 auto;

border:solid 1px #ccc;
padding:20px 10px;
border-radius: 10px;         /* CSS3 */
	-moz-border-radius: 10px;    /* Firefox */
	-webkit-border-radius: 10px;
}

.contactBox .telArea p{
text-align:center;
font-size:18px;
line-height:1.5em;
}

.contactBox .telArea p.cap{
text-align:left;
font-size:14px;
line-height:1.6em;
margin:20px 0 0 0;
}




.contactBox .telArea ul {
margin:0 auto;
text-align: center;
}


.contactBox .telArea ul li {
display:block;
margin:0 0 0 0;

}

.contactBox .telArea ul li:nth-child(even){
display:block;
margin:0 0 0 0;

}

.contactBox .telArea ul li p.addr{
font-size:13px;
margin:20px 0 0 0;
line-height:1.4em;
color:#003367;
}

.contactBox .telArea ul li .telTxt{
font-size:36px;
margin:0;
padding:0 0 0 0;
line-height:1.4em;
color:#003367;
position:relative;
font-weight:500;
font-family:"游ゴシック","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ ゴシック",sans-serif !important;
}

.contactBox .telArea ul li .telIcon{
font-size:18px;
margin:0;
line-height:1.4em;
color:#003367;
top:13px;
left:0;
position:absolute;
}


.contactBox .telArea ul li i{
font-size:20px;
color:#003a72;
margin:0 10px 0 0;
}

#contact{
width:100%;
margin:30px auto 50px auto;
}

#contact form{
width:100%;
margin:0 auto;
}




/*************************************************************************************************

アンカーリンクずれ解消

**************************************************************************************************/

#message {
  margin-top : -70px;
  padding-top : 70px;
}


#policy {
  margin-top : -30px;
  padding-top : 30px;
}


#guide {
  margin-top : -30px;
  padding-top : 30px;
}


#history {
  margin-top : -30px;
  padding-top : 30px;
}



#factory {
  margin-top : -30px;
  padding-top : 30px;
}



#access {
  margin-top : -30px;
  padding-top : 30px;
}



#steelframe {
  margin-top : -100px;
  padding-top : 100px;
}


#tent {
  margin-top : -70px;
  padding-top : 70px;
}


#environment {
  margin-top : -70px;
  padding-top : 70px;
}


#menu1 {
  margin-top : -70px;
  padding-top : 70px;
}


#menu2 {
  margin-top : -30px;
  padding-top : 30px;
}


#menu3 {
  margin-top : -30px;
  padding-top : 30px;
}


#menu4 {
  margin-top : -30px;
  padding-top : 30px;
}


#menu5 {
  margin-top : -30px;
  padding-top : 30px;
}


#menu6 {
  margin-top : -30px;
  padding-top : 30px;
}

/**************************************************************************************************

サイトマップ

**************************************************************************************************/
#sitemapBox{
width:100%;
margin:0 auto;
}


#sitemapBoxL{
width:45%;
float:left;
}


#sitemapBoxR{
width:55%;
float:right;
}

#sitemapBox h2.home{
font-size:15px;
margin:0 0 10px 0;
padding:0 0 0 20px;
position:relative;
}

#sitemapBox h2.upper{
font-size:15px;
margin:0 0 10px 0;
padding:0 0 0 20px;
position:relative;
}

#sitemapBox h2{
font-size:15px;
margin:30px 0 10px 0;
padding:0 0 0 20px;
position:relative;
}

#sitemapBox h2 a:link {
	color:#333;
	text-decoration: none;
}
#sitemapBox h2 a:visited {
	color:#333;
	text-decoration: none;
}
#sitemapBox h2 a:hover {
	color:#1a9ede;
	text-decoration: none;
}
#sitemapBox h2 a:active {
	color:#1a9ede;
	text-decoration: none;
}



#sitemapBox h2.home a:before{
font-family: "Font Awesome 5 Free";
content:'\f015';
 font-size:100%;
position:absolute;

	color:#636363;
font-weight: 900;
font-size:80%;
top:50%;
left:0px;
-webkit-transform: translateY(-50%);
-ms-transform:translateY(-50%);
          transform: translateY(-50%);

}


#sitemapBox h2 a:before{
font-family: "Font Awesome 5 Free";
content:'\f068';
 font-size:100%;
position:absolute;

	color:#636363;
font-weight: 900;
font-size:80%;
top:50%;
left:0;
-webkit-transform: translateY(-50%);
-ms-transform:translateY(-50%);
          transform: translateY(-50%);

}

#sitemapBox ul li{
margin:0 0 0 0;
padding:0 0 10px 20px;

}


#sitemapBox ul li span{
font-weight:900;
}



#sitemapBox  ul li a{
position:relative;
width:auto;
line-height:2.0em;
padding:0 0 0 0;
font-size:14px;
text-decoration: none;
}


#sitemapBox ul li a:link {
	color:#333;
	text-decoration: none;
}
#sitemapBox ul li a:visited {
	color:#333;
	text-decoration: none;
}
#sitemapBox ul li a:hover {
	color:#1a9ede;
	text-decoration: none;
}
#sitemapBox ul li a:active {
	color:#1a9ede;
	text-decoration: none;
}





/*************************************************************************************************

NONE

**************************************************************************************************/
.pcnone{
display:block;
}

.spnone{
display:none;
}

.br-sp { display:none; }

.br-pc { display:block; }



a[href^="tel:"] {
    pointer-events:auto;
}

/*** reCAPTCHAバッジ（ロゴマーク）を消す ***/
.grecaptcha-badge { visibility: hidden; }

p.recaptcha{
margin:30px 0 15px 0;
text-align:center;
line-height:1.4em;
font-size:10px;
}


/**************************************************************************************************

ERROR

**************************************************************************************************/
.errBox{
margin:30px 0;
padding:0 10px;
}


.errMsgTitle{
text-align:center;
font-size:14px;
font-weight:bold;
color:#ff0000;
}

.errBox p{

text-align:center;
}




/**************************************************************************************************

PAGEUP

**************************************************************************************************/

.pagetop {
	display: none;
	position: fixed;
	bottom:105px;
	right:40px;
	z-index:10000;
}

.pagetop a {
position:absolute;
	display: block;
	width: 40px;
	height: 40px;
	background-color: #002248;
	text-align: center;
	color: #fff;
	font-size: 14px;
	text-decoration: none;
	line-height: 40px;

}


.pagetop a:before{
font-family: "Font Awesome 5 Free";
content:'\f106';
 font-size: 0.6em;
position:absolute;
font-weight:900;
font-size: 100%;
top:50%;
left:50%;
-webkit-transform: translate(-50%, -50%);
-ms-transform:translateY(-50%, -50%);
          transform: translateY(-50%, -50%);

}




/**************************************************************************************************

FOOTER

**************************************************************************************************/
footer{
	width:100%;
	margin:0 auto;
	padding:0;
	height:auto;
	background:#002656;
	text-align:center;
}


#footerInfoBox{
max-width:100%;
min-width:100%;
background:#002656;
padding:30px 0 20px 0;
margin:0 auto;
}


/*** フッター左ロゴエリア ***/
#footerInfoBox #footerLogo{
display:block;
width:100%;
margin:0 auto;

vertical-align:top;
}

#footerInfoBox #footerLogo p.name{
font-size:16px;
color:#fff;
font-weight:700;
line-height:1.4em;
letter-spacing:1.0px;
text-align:center;
}

#footerInfoBox #footerLogo p.addr{
font-size:12px;
color:#fff;

text-align:center;
line-height:1.4em;
margin:10px 0 18px 0;
}

#footerInfoBox #footerLogo ul {
text-align:center;
}

#footerInfoBox #footerLogo ul li{
display:inline-block;
color:#fff;
font-size:10px;
margin:0 12px 0 0;
line-height:1.2em;
text-align:left;
vertical-align:middle;
}

#footerInfoBox #footerLogo ul li img{
width:20px;
}


/*** お問い合わせボタン ***/
#footerInfoBox #footerLogo .btn a{
width:300px;
	font-size:12px;
	vertical-align:middle;
margin:25px auto 0 auto;
text-align:center;

	color:#fff;
	line-height:1.6em;
	text-decoration: none;
border:solid 1px #7f98b3;
	display: block;
	padding:15px 0;
background:#002656;
position:relative;
}


#footerInfoBox #footerLogo .btn .visited a, {
	opacity:1.0;
}


#footerInfoBox #footerLogo .btn a:hover {
background:#00559f;
}

#footerInfoBox #footerLogo .btn a:active {
background:#00559f;
}

#footerInfoBox #footerLogo .btn i{
margin:0 7px 0 0;
}


/*** 言語切り替え ***/

#footerInfoBox #footerLogo .languageBtn ul li{
font-size:12px;
font-weight:normal;
color:#000;
margin:15px 20px 0 0;
text-align:left;
padding:0 0 0 10px;
line-height:1.4em;
position:relative;
display:inline-block;
}


#footerInfoBox #footerLogo .languageBtn p.second{
margin:10px 0 0 0;

}

#footerInfoBox #footerLogo .languageBtn ul li a{
color:#fff;
	text-decoration: none;
}



#footerInfoBox #footerLogo .languageBtn ul li .visited a, {
color:#fff;
	text-decoration: none;
}

#footerInfoBox #footerLogo .languageBtn ul li a:hover {
  	opacity:0.8;
	filter: alpha(opacity=80);
}

#footerInfoBox #footerLogo .languageBtn ul li a:active {
  	opacity:0.8;
	filter: alpha(opacity=80);
}

#footerInfoBox #footerLogo .languageBtn ul li:after{
font-family: "Font Awesome 5 Free";
content:'\f0da';
position:absolute;
font-weight:900;
color:#fff;
font-size:60%;
top:50%;
left:3px;
-webkit-transform: translateY(-50%);
-ms-transform:translateY(-50%);
          transform: translateY(-50%);
}


/*** フッター右メニューエリア ***/
#footerMenu{
display:none;
text-align:left;
width:79%;
margin:0 0 0 0
vertical-align:top;
}

#footerMenu ul {
margin:0 auto;
text-align:center;
}

#footerMenu ul li{
display:inline-block;
vertical-align:top;
text-align:left;
margin:0 8% 0 0;
}

#footerMenu ul li:last-child{
display:inline-block;
vertical-align:top;
text-align:left;
margin:0;
}


#footerMenu p.m{
font-size:15px;
margin:0 0 14px 0;
color:#fff;
position:relative;
padding:0 0 0 20px;
line-height:1.4em;
}

#footerMenu p.m:after{
font-family: "Font Awesome 5 Free";
content:'\f068';
position:absolute;
font-weight:900;
color:#fff;
font-size:50%;
top:50%;
left:3px;
-webkit-transform: translateY(-50%);
-ms-transform:translateY(-50%);
          transform: translateY(-50%);
}

#footerMenu p.home{
font-size:16px;
margin:0 0 10px 0;
color:#000;
position:relative;
padding:0 0 0 20px;
line-height:1.4em;
}

#footerMenu p.home:after{
font-family: "Font Awesome 5 Free";
content:'\f015';
font-weight:900;
position:absolute;
color:#fff;
font-size:80%;
top:50%;
left:0;
-webkit-transform: translateY(-50%);
-ms-transform:translateY(-50%);
          transform: translateY(-50%);
}

#footerMenu p{
font-size:13px;
font-weight:normal;
color:#000;
margin:0 0 10px 23px;
line-height:1.4em;
}


#footerMenu p a{
color:#fff;
	text-decoration: none;
}



#footerMenu p .visited a, {
color:#fff;
	text-decoration: none;
}

#footerMenu p a:hover {
  	opacity:0.8;
	filter: alpha(opacity=80);
}

#footerMenu p a:active {
  	opacity:0.8;
	filter: alpha(opacity=80);
}




/***  スマホフッターメニュー ***/

.footerSpSubMenu {
display:block;
margin:20px 0 0 0;
}
.footerSpSubMenu ul li{
display:inline-block;
font-size:11px;
}

.footerSpSubMenu ul li:nth-child(even){
font-size:11px;
margin:0 20px;
}


.footerSpSubMenu ul li:nth-child(4){
font-size:11px;
margin:0 0 0 20px;
}


p.footerExp{
margin:20px 0 0 0;
text-align:left;
line-height:1.5em;
font-size:13px;
}


/**************************************************************************************************

コピーライト

**************************************************************************************************/

.copyright{
width:100%;
height:auto;
padding:25px 0 25px 0;
background:#002248;
}

.copyright ul li{
float:none;
text-align:center;
font-size:11px;
color:#fff;
margin:0 0 0 0;
}

.copyright ul li:last-child{ 
display:none;
float:right;
font-size:12px;
margin:0 3% 0 0;
}






		
}

