@charset "utf-8";

/*====================================================================================================

	Style Info: 共通css

		1-1 Header
		1-2 Contents
			2-1 Contents > Side
			2-2 Contents > Main
			
		1-3 Footer

====================================================================================================*/

body {
	background:url(../image/bg-sub.gif) repeat-x left top;
	text-align:center;
	min-width:1100px;
	}

@media screen and (max-width: 750px) {
	body {
		width: 750px !important;
		max-width: 750px !important;
		min-width:750px;
		overflow-x:hidden;
		font-family:'メイリオ', 'Meiryo', sans-serif;
	}
}


.pc-none{display: none;}
.sp-none{display: block;}

@media screen and (max-width: 750px) {
	.pc-none{display: block;}
	.sp-none{display: none;}
}

/*====================================================================

	1-1 Header

====================================================================*/

#hd {
	background:url(../image/hd-bg.jpg) no-repeat center top;
	height:110px;
	}

@media screen and (max-width: 750px) {
	#hd {
		height:140px;
		box-sizing: border-box;
		background-size: cover;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 999;
		width: 100%;		
	}
}


.hd-inner {
	width:1100px;
	height:100px;
	margin:0 auto;
	position:relative;
	}

@media screen and (max-width: 750px) {
	.hd-inner {
		width:100%;
		padding: 0 30px;
		box-sizing: border-box;
		height:140px;
	}
}



.hd-inner h1 {
	width:290px;
	height:152px;
	background:url(../image/logo-bg.png) no-repeat left top;
	position:absolute;
	left:-30px;
	top:0;
	text-align:center;
	}

@media screen and (max-width: 750px) {
	.hd-inner h1 {
		height: 140px;
		width: 280px;
		left: -29px;
		box-sizing: border-box;
		background-size: cover;
		top:-10px;
	}
	
	.hd-inner h1 a{display: block;padding:30px 10px 15px;box-sizing: border-box;}
}


.hd-inner h1 img { margin-top:24px; }

@media screen and (max-width: 750px) {
	.hd-inner h1 img { margin-top:0px; }
}



.hd-sq {
	position:absolute;
	left:270px;
	top:38px;
	}

.hd-tel {
    position: absolute;
    right: 0;
    top: 20px;
}

/* 太陽光パネルバナー */
.hd-business {
    position: absolute;
    right: 0;
    bottom: 21px;
}
/*.hd-solar-warp {
	position:absolute;
	right:0;
	bottom:0;
  line-height:0;
}

.hd-solar {
  position:relative;
  overflow:hidden;
	}

.hd-solar--reflection {
  height:100%;
  width:30px;
  position:absolute;
  top:-18px;
  left:0;
  background-color:#fff;
  background-color:rgba(255,255,255,0.9);
  opacity:0;
  -webkit-transform:rotate(45deg);
  transform:rotate(45deg);
  -webkit-animation:reflection 3s ease-in-out infinite;
  animation:reflection 3s ease-in-out infinite;
  }

@-webkit-keyframes reflection {
  0%   { -webkit-transform:scale(0) rotate(45deg); opacity:0; }
  5%  { -webkit-transform:scale(0) rotate(45deg); opacity:0.5; }
  6%  { -webkit-transform:scale(4) rotate(45deg); opacity:1; }
  25% { -webkit-transform:scale(50) rotate(45deg); opacity:0; }
  100% { -webkit-transform:scale(50) rotate(45deg); opacity:0; }
}

@keyframes reflection {
  0%   { transform:scale(0) rotate(45deg); opacity:0; }
  5%  { transform:scale(0) rotate(45deg); opacity:0.5; }
  6%  { transform:scale(4) rotate(45deg); opacity:1; }
  25% { transform:scale(50) rotate(45deg); opacity:0; }
  100% { transform:scale(50) rotate(45deg); opacity:0; }
}*/


@media screen and (max-width: 750px) {
	.hd-inner .hd-contact{
		display: block;
		position: absolute;
		left: 260px;
		top: 15px;
		line-height: 1.2;
		font-size: 16px;
		text-align: left;
	}

	.hd-inner .hd-contact a{display: block;color: #fff;text-decoration: none;}

	.hd-inner .hd-contact .sp-hd-tel{}
	
	
}

/*====================================================================

	1-2 Contents

====================================================================*/

#ct {
	padding-top:30px;
	background-image:url(../image/nav-bg-top.gif);
	background-repeat:no-repeat;
	background-position: center 139px;
	}

@media screen and (max-width: 750px) {
	#ct {
		padding-top:0px;
	}
}



.ct-inner {
	width:1100px;
	margin:0 auto;
	text-align:left;
	}

@media screen and (max-width: 750px) {
	.ct-inner {
		width:100%;
		padding: 0 30px;
		box-sizing: border-box;		
	}
}


/*-------------------------------------------------------------------

	2-1 Contents > side

-------------------------------------------------------------------*/

.side {
	width:230px;
	float:left;
	margin-top:30px;
	}


@media screen and (max-width: 750px) {
	.side{
		display: none;
	}
}

.sp-side{
	display: none;
}

@media screen and (max-width: 750px) {
	.sp-side{
		display: block;
	}
}





/*----------------------------------------------
   Nav
----------------------------------------------*/

.nav-warp {
	width:252px;
	margin-left:-11px;
  padding-top:11px;
	background:url(../image/nav-bg-topB.gif) no-repeat left top;
	}

@media screen and (max-width: 750px) {
	.nav-warp {
		width:100%;
	}
}

.nav {
	margin-bottom:10px;
	padding-bottom:19px;
	background:url(../image/nav-bg-bottom.gif) no-repeat left bottom;
	text-align:center;
	}

@media screen and (max-width: 750px) {
	.nav{
		display: none;
	}
}

.nav ul {
	width:230px;
	margin:0 auto;
	_margin:0;
	list-style:none;
	background-color:#fff;
	padding-top:8px;
	}

.nav ul.gnav li {
	width:214px;
	margin:0 auto;
	background-color:#191919;
	}

.nav ul.gnav li.start { padding-top:2px; }
.nav ul.gnav li.end { padding-bottom:2px; }

.navimenu.sp-menu{
    display: none;
 }

@media screen and (max-width: 750px) {
  .navimenu.sp-menu {
    display: block;
  }
  .navimenu-toggle {
    cursor: pointer;
    background-color: #c8c8c8;
    border: 0;
    padding: 15px 10px;
    height: 85px;
    width: 85px;
    position: fixed;
    right: 15px;
    top: 15px;
    display: inline-block;
    z-index: 999;
    outline: none;
  }
  .navimenu-toggle:hover {
    background-color: #dddddd;
    outline: none;
  }
	
  [type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled), button:not(:disabled) {
    outline: none;
  }
  .navimenu-toggle-bar {
    display: block;
    width: 55px;
    height: 3px;
    background-color: #1e1e1e;
    transition: all 0.25s;
    margin-left: 5px;
  }
  .navimenu-toggle:hover .navimenu-toggle-bar {
    background-color: #1e1e1e;
  }
  .navimenu-toggle-bar + .navimenu-toggle-bar {
    margin-top: 9px;
  }
  .navimenu-font:before {
    content: "メニュー";
    display: block;
    font-size: 17px;
    font-weight: bold;
    color: #1e1e1e;
    letter-spacing: -0.15em;
    line-height: 1.0;
    padding-top: 10px;
  }
	
  .navimenu-toggle.active .navimenu-toggle-bar {
    margin: 0;
    margin-left: 5px;
    position: absolute;
    top: 30px;	  
  }
  .navimenu-toggle.active .navimenu-toggle-bar:nth-child(1) {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
	    }
  .navimenu-toggle.active .navimenu-toggle-bar:nth-child(2) {
    opacity: 0;
  }
  .navimenu-toggle.active .navimenu-toggle-bar:nth-child(3) {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .navimenu-toggle.active .navimenu-font:before {
    content: none;
  }
	
	.navimenu-toggle.active .navimenu-font:after{
		content: "閉じる";
		display: block;
		font-size: 17px; 
		color: #1e1e1e;
		letter-spacing: -0.075em;
		line-height: 1.0;
		padding-top: 45px;
		font-weight: bold;
	}

  .sp-navimenu-nav {
    display: none;
  }
  .sp-navimenu-nav.open {
    display: block;
  }
  .sp-navimenu-nav {
    width: 100%;
    position: fixed;
    background: rgb(65,65,65);
	background: -webkit-linear-gradient(rgba(65,65,65,1) 0%, rgba(30,30,30,1) 100%);
	background: -o-linear-gradient(rgba(65,65,65,1) 0%, rgba(30,30,30,1) 100%);
	background: linear-gradient(rgba(65,65,65,1) 0%, rgba(30,30,30,1) 100%);
    height: 100%;
    top: 0;
    left: 0;
    padding: 50px !important;
    z-index: 998;
    /*text-align: center;*/
    min-width: 750px;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    margin-top: 0;
	box-sizing: border-box;
  }
  .sp-navimenu-nav {
    padding: 150px 30px 50px!important;
  }
  .sp-navimenu-nav ul {
    margin: 0;
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 25px 0 50px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .sp-navimenu-nav ul:after {
    content: none;
  }
  .sp-navimenu-nav li {
    width: 100%;
	border-bottom: 1px solid #b4b4b4;  
  }
  .sp-navimenu-nav li a {
    padding: 25px 25px 25px 45px;
	text-decoration: none;
    display: block;
	color: #fff;
	font-weight: bold;
	font-size: 28px;
	box-sizing: border-box;
	position: relative;
  }
	
.sp-navimenu-nav li a::before{
	content:"";	
    background: #1e1e1e;
	position: absolute;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 30px;
    height: 30px;
	margin-top: -2px;
}
	
.sp-navimenu-nav li a::after{
	content:"";	
	position: absolute;
    left: 5px;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);	
    box-sizing: border-box;
    width: 5px;
    height: 5px;
    border: 5px solid transparent;
    border-left: 5px solid #fff;
}	
	
	
	
  .sp-navimenu-nav a:hover {
    color:#c8c8c8;
  }

  .sp-navimenu-nav .en{font-size:18px;color: #c8c8c8;margin-left: 15px;font-family: "Arial",sans-serif;}
	
  .sp-navimenu-nav a:hover .en{
    color:#dddddd;
  }	

  .sp-navimenu-nav .logo {
    display: block;
    padding: 25px 30px 60px;
  }
	
	
  .sp-contact {
	  background-color:#000;
	  padding: 30px;
  }
	
  .sp-contact dl{
		display: flex;
		margin: 0;
		padding: 0;
	  align-items: flex-start;
	}

  .sp-contact dl dt,.sp-contact dl dd{
		display: inline-block;
	}
	
	
  .sp-contact dl dt{margin-right: 50px;}

  .sp-contact dl dt a.sp-logo{padding: 15px 0;display: block;margin-top: -15px;}
	

  .sp-contact dl dd.sp-tel a {
	position: relative;
	font-size: 35px;
	padding: 15px 15px 15px 60px;
	color: #fff;
	text-decoration: none;
	font-weight: bold;
	display: block;
	/*margin-top: 15px;	*/  
	}
	
   .sp-contact dl dd.sp-tel a:before{
    content: "";
	background-image: url("../image/sp-tel-icon.png");
	position: absolute;
	left: 0;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	width: 50px;
	height: 45px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
  }	
	
  .sp-contact dl dd.sp-tel .sp-eigyo{
	background: rgb(255,227,118);
	background: linear-gradient(140deg, rgba(255,227,118,1) 0%, rgba(255,253,185,1) 50%, rgba(255,227,118,1) 100%);
	padding: 15px;
	color: #1e1e1e;
	box-sizing: border-box;
	font-size: 19px;
	font-weight: bold;
	letter-spacing: -0.075em;
	line-height: 1.2;
	display: block;
	}

	.sp-contact	ul.sp-sns{
		list-style: none;
		padding: 0;
		margin:30px 0 0; 
		text-align: center;
		justify-content: center;
		flex-direction: row;
		line-height: 1.0;
		border-top: 1px solid #b4b4b4;
		border-bottom: 1px solid #b4b4b4;
		align-items: center;
	}
	.sp-contact	ul.sp-sns h3{color:#fff;margin-right: 15px;}
	
	.sp-contact	ul.sp-sns li{
		display: inline-block;
		border: none;
		width: auto;
		padding-top: 15px;
	}
	
	.sp-contact	ul.sp-sns li a {
		text-align: center;
		display: block;
		padding: 15px; 
		margin: 0;
   }	
	
  .sp-contact ul.sp-sns li a:before{content: none;}	
  .sp-contact ul.sp-sns li a:after{content: none;}	
	
	.sp-contact	ul.sp-banner{
		list-style: none;
		padding: 0;
		margin:15px 0 0; 
		text-align: center;
		justify-content: center;
		flex-direction: row;
		width: calc(100% + 30px);
		box-sizing: border-box;
	}
	
	.sp-contact	ul.sp-banner li{
		border: none;
		width: calc(50% - 30px);
		margin-right: 30px;
		box-sizing: border-box;
		padding-top: 15px;
	}
	
	.sp-contact	ul.sp-banner li a {
		text-align: center;
		display: block;
		padding: 15px;    
   }
	
  .sp-contact	ul.sp-banner li a:before{content: none;}	
  .sp-contact	ul.sp-banner li a:after{content: none;}		
	
	.sp-contact ul.sp-banner li img{max-width: 100%;height: auto;}

  .overflowHidden {
    overflow: hidden;
  }
}

/*----------------------------------------------
   banner
----------------------------------------------*/

.lbn { list-style:none; }
.lbn li { margin-top:15px; }

/*-------------------------------------------------------------------

	2-2 Contents > main

-------------------------------------------------------------------*/

.main {
	width:830px;
	float:right;
	}

@media screen and (max-width: 750px) {
	.main {
		width:100%;
		margin-top: 140px;
	}
}

/*----------------------------------------------
   ページ見出し
----------------------------------------------*/

.pm {
	width:844px;
	height:190px;
	background:url(../image/pm-bg.jpg) no-repeat left top;
	margin-left:-7px;
	margin-right:-7px;
	margin-top:-7px;
	position:relative;
	}


@media screen and (max-width: 750px) {
	.pm {
		width:100%;
		box-sizing: border-box;
		margin: 0;
	}
	
	.pm:before{
		content: "";
		position: absolute;
		top: 0;
		left:-30px;
		width: calc(100% + 60px);
		height:190px;
		background-color: #313131;
	}
}

.pm img {
	position:absolute;
	top:15px;
	left:15px;
	}


@media screen and (max-width: 750px) {
	.pm img{
		max-width:100%;
		height: auto;
		left: 0;
	}
}



/*----------------------------------------------
   パンくず
----------------------------------------------*/

.pan {
	padding:15px 0 35px 0;
	font-size:12px;
	}

@media screen and (max-width: 750px) {
	.pan {
		font-size:23px;
		padding-top: 30px;
	}
}



/*====================================================================

	1-3 Footer

====================================================================*/


.ft-inner {
	width:1100px;
	margin:0 auto;
	text-align:left;
	font-size:12px;
	}


@media screen and (max-width: 750px) {
	.ft-inner {
		width:100%;
		padding: 0 30px;
		box-sizing: border-box;
		font-size: 23px;
	}
}


#ft-nav {
	border-top:1px solid #b4b4b4;
	margin-top:60px;
	}

#ft-nav ul {
	border-left:1px solid #b4b4b4;
	list-style:none;
	float:left;
	}

#ft-nav li {
	float:left;
	line-height:40px;
	height:40px;
	}

@media screen and (max-width: 750px) {
	#ft-nav li {
		line-height:50px;
		height:50px;
		}
}




#ft-nav li span {
	display:-moz-inline-box;
	display:inline-block;
	/display:inline;
	/zoom:1;
	padding-left:9px;
	}

#ft-nav li a {
	display:-moz-inline-box;
	display:inline-block;
	/display:inline;
	/zoom:1;
	height:100%;
	padding:0 20px 0 9px;
	background:url(../image/ft-pan-bg.gif) no-repeat right center;
	}

#ft-nav li a,
#ft-nav li a:visited { color:#000; text-decoration:none; }
#ft-nav li a:hover { color:#c3191e; }

#ft-nav .up {
	float:right;
	margin-top:15px;
	}


#ft {
	background-color:#000;
	color:#7f7f7f;
	padding-bottom:35px;
	}

@media screen and (max-width: 750px) {
	#ft {
		padding-bottom:70px;
		}
}

#ft a,
#ft a:visited { color:#7f7f7f; }
#ft a:hover { color:#c8c8c8; }

.ft-blockA {
	padding-top:20px;
	position:relative;
	}

.ft-blockA ul {
	list-style:none;
	padding:1px 0;
	}

@media screen and (max-width: 750px) {
	.ft-blockA ul {
		text-align: center;
		}
}


.ft-blockA li {
	display:-moz-inline-box;
	display:inline-block;
	/display:inline;
	/zoom:1;
	background:url(../image/ft-linkLine.gif) no-repeat left center;
	padding:0 0.8em 0 0.8em;
	}
.ft-blockA li.ftLink-start {
	background:none;
	padding-left:0;
	}

.ft-blockA .copy {
	position:absolute;
	right:0;
	/*bottom:0;*/
	bottom:10px;
	}

@media screen and (max-width: 750px) {
	.ft-blockA .copy {
	position:absolute;
	right:30px;
	bottom:-345px;
	z-index: 1;
	}
}


.ft-blockB {
	width:1100px;
	height:100px;
	position:relative;
	}

@media screen and (max-width: 750px) {
	.ft-blockB {
		width:100%;
		padding: 0 30px;
		box-sizing: border-box;		
	}
}


.ft-blockB .ft-tel {
	position:absolute;
	left:0;
	top:0;
	z-index:1;
	}

@media screen and (max-width: 750px) {
	.ft-blockB .ft-tel {
		width:100%;
		height: auto;
	}
}

.ft-blockB .ft-contact {
	position:absolute;
	right:23px;
	top:25px;
	z-index:2;
	}
	
@media screen and (max-width: 750px) {
	.ft-blockB .ft-contact{
		max-width:100%;
		height: auto;
	}
}

/*スマホ用フッターお問い合わせ*/
@media screen and (max-width: 750px) {
	.sp-ft-inner {
		width:100%;
		padding: 0 30px;
		box-sizing: border-box;
		font-size: 23px;
		margin-top: 30px;
		text-align: left;
	}
	
	.sp-ft-inner .ft-blockB{
		background-color: #1e1e1e;
		padding: 15px;
		height: auto;
	}
	
	.sp-ft-inner .ft-blockB .sp-ft-contact{
		color: #fff;
	}
	
	.sp-ft-inner .ft-blockB .sp-ft-contact .sp-ft-logo{
		padding: 15px 15px;
		display: inline-block;
	}
	.sp-ft-inner .ft-blockB .sp-ft-contact dl{
		margin: 0;
		width: 100%;
		box-sizing: border-box;
		letter-spacing: -0.075em;
		line-height: 1.5;
		font-size: 22px;
	}
	
	.sp-ft-inner .ft-blockB .sp-ft-contact dl dt,.sp-ft-inner .ft-blockB .sp-ft-contact dl dd{display: inline-block;vertical-align: middle;}
	
	.sp-ft-inner .ft-blockB .sp-ft-contact dl dd{margin-left: 15px;}
	
	.sp-ft-inner .ft-blockB .sp-ft-contact .sp-ft-list{
		width: calc(100% + 30px);
		box-sizing: border-box;
		display: flex;
		align-items: center;
		margin-bottom: 15px;
		margin-top: 15px;
	}
	.sp-ft-inner .ft-blockB .sp-ft-contact .sp-ft-list dt,
	.sp-ft-inner .ft-blockB .sp-ft-contact .sp-ft-list dd{
		width: calc(50% - 30px);
		box-sizing: border-box;
		margin-right: 30px;
		line-height: 1.2;
		margin-left: 0;
	}
	
	.sp-ft-inner .ft-blockB .sp-ft-contact .sp-ft-list dt span{
		display: block;
		font-size: 20px;
		padding-left: 15px;
		letter-spacing: -0.025em;
	}
	
	.sp-ft-inner .ft-blockB .sp-ft-contact .sp-ft-list .sp-ft-tel{
		padding: 15px 15px;
		display: inline-block;
	}
	
	.sp-ft-inner .ft-blockB .sp-ft-contact .sp-ft-list img{max-width: 100%; height: auto;}
	
	.sp-ft-inner .ft-blockB .ft-contact{
		position: relative;
		top: 0;
		right: 0;
	}
	
}



