
@charset "utf-8";
/* ========================
   bootstrap reset
   ======================== */
a {
    color: #fff ;
    text-decoration: none;
}
a:hover, a:focus {
  color: #fff;
  text-decoration: none;
}
body{
	background-color: #000;
	font-size: 20px;
}
hr {
border: 1px #3cb9eb solid;
background-color: #3cb9eb;
height: 3px;
margin-bottom: 0px;
}
span.marker{
	background: linear-gradient(transparent 60%, #fcff00 60%);
}
span.red{
  color:#ff0000;
}

/* header */
header {
	text-align: center;
	padding: 20px 0;
	font-size: 20px;
}
span.border{
	border-bottom: solid 2px white;
}
@media (min-width:1200px) {

}
@media (max-width:991px) {
	header {
		padding: 15px 0;
	}
}
@media (max-width:768px) {
    header {
      font-size: 50%;
      padding: 0px 0;
  }
}
@media (max-width:767px) {
	hr{
		width: 70%;
		margin-bottom: 20px;
	}
}

/* mainvisual */
.mainvisual {
	background-image: url(../images/mv.jpg);
	background-size: cover;
	padding-top: 50px;
	padding-bottom: 100px;
	position: relative;
}
@media (max-width:1199px) {
  .mainvisual {
    padding-top: 15px;
    padding-bottom: 45px;
}
}
@media (max-width:767px) {
.mainvisual {
  background-image: url(../images/sp_mv.jpg);
  background-size: cover;
  padding-top: 15px;
  padding-bottom: 18px;
  position: relative;
}
}
/* common */
.title {
	margin-bottom: 40px;
	font-size: 35px;
    font-weight: bolder;
    text-align: center;
    color: #fff;
}
.title img {
	margin: auto;
}
@media (max-width:1199px) {
}
@media(max-width: 991px){
  .title {
    font-size: 30px;
}
}
@media (max-width:767px) {
  	.title{
		font-size: 18px;
		margin-bottom: 20px;
	}
	.title img{
		width: 35%
	}
}
/* cta */
.cta {
	padding: 40px 0 40px 0;
	background-image: url(../images/os_bg.jpg);
	text-align: center;
}
.cta img{
    margin: auto;
    display: inline-block;
}
.cta-text{
	background-color: #000;
	padding: 20px;
}
@media (max-width:1199px) {
}
@media (max-width:991px) {
.cta{
  background-size: cover;
}
}
@media (max-width:767px) {
  .cta {
    background-size: contain;
  padding: 30px 0 30px 0;
}
  .cta .pt-50{
    padding-top: 0px !important;
  }
  .cta .small img{
    width: 60%;
  }

}

/* content01 */
.content01 {
	background-image: url(../images/bg1.png);
	background-repeat: repeat-y;
	background-size: 100% auto;
}
.content01 .container{
	padding-top: 60px;
	padding-bottom: 30px;
}
.content01 img{
	padding-bottom: 50px;
}
@media (max-width:1199px) {
  .content01 img{
      width: 80%;
}
  .content01 .container{
    margin-right: 0;
  }
}
@media (max-width:991px) {
  .content01 img{
      width: auto;
}
  .content01 .container{
    margin-right: auto;
  }
}
@media (max-width:768px) {
  .content01 .container{
  padding-top: 20px;
  padding-bottom: 10px;
}
  .content01 img{
  padding-bottom: 20px;
}
}

/* jissseki */
.jisseki{
	background-image: url(../images/os_bg.jpg);
	padding: 50px 0 50px 0;
}
@media (max-width:1199px) {
  .jisseki img{
      width: 80%;
}
  .jisseki .container{
    margin-right: 0;
  }
}
@media (max-width:991px) {
  .jisseki img{
      width: auto;
}
  .jisseki .container{
    margin-right: auto;
  }
}
@media (max-width:768px) {
.jisseki{
  background-size: cover;
  padding: 30px 0 30px 0;
}
}
/* content02 */
#content02 {
	background-image: url(../images/bg2.png) ;
	background-repeat: repeat-y;
	background-size: 100% auto;
	padding: 70px 0 60px 0;
}
.content02 img{
	padding-bottom: 50px;
}
@media (max-width:1199px) {
  .content02 img{
      width: 80%;
}
  .content02 .container{
    margin-right: 0;
  }
    .content02 .container .row img{
      width: 100%;
}
  .content02 .container .row{
    margin-right: 90px;
    margin-left: -70px;
  }
}
@media (max-width:991px) {
  .content02 img{
      width: auto;
}
  .content02 .container{
    margin-right: auto;
  }
  .content02 .container .row{
    margin-right: auto;
    margin-left: auto;
  }
}@media (max-width:768px) {
  #content02 {
  padding: 20px 0 20px 0;
}
.content02 img{
  padding-bottom: 10px;
}
}
@media (max-width:767px) {
}
@media (max-width:575px) {
}
@media (max-width:480px) {
}

/* content03 */
#content03 {
	background-image: url(../images/bg1.png);
	background-repeat: repeat-y;
	background-size: 100% auto;
	padding-top: 50px;
	padding-bottom: 50px;
}
#content03 .flex{
	text-align: center;
}
#content03 .flex img{
	width: 16%;
}
#content03 .flex .next{
	width: 5%;
	height: 15%;
	padding-top: 85px;
}
.voice{
	padding-top: 50px;
}
.voice-titile{
  background-color: #f3be00;
  color: #000;
  font-size: 138%;
  padding: 15px;
}
.voice_q{
	background-color: #fff;
	color: #000;
	padding: 8px;
	margin-top: 10px;
	font-size: 21px;
}
.voice_a{
	border-color: #fff;
	padding: 8px;
	border: solid;
	margin-top: 10px;
	color: #fff;
	font-size: 21px;
}
@media (max-width:1199px) {
  .ex{
      width: 85%;
}
}
@media (max-width:991px) {
  .voice_q{
  font-size: 18px;
}
.voice_a{
  font-size: 17px;
}
}
@media (max-width:768px) {
  #content03 {
  padding-top: 30px;
  padding-bottom: 20px;
}
  #content03 .pt-10{
  padding-top: 0px !important;
}
  #content03 .mt-70{
  margin-top: 40px !important;
}
.voice-titile{
  font-size: 14px;
  margin-bottom: 10px;
  padding: 9px;
  line-height: 1.3em;
}
  #content03 .pts-10{
  padding-bottom:10px ;
}
  #content03 .pls-15{
  padding-left:15px ;
}
  .voice_q{
  font-size: 10px;
  line-height: 1.2em;
  padding: 5px;
}
.voice_a{
  font-size: 10px;
  line-height: 1.2em;
  padding: 5px;
}
.container{
  padding-left: 40px;
  padding-right:40px;
}
#content03 .flex img{
  width: 24%;
}
#content03 .flex .next{
  width:14%;
}
.col-xs-6{
  padding-left: 0px;
    padding-right: 0px;
}
}
@media (max-width:767px) {
}
@media (max-width:480px) {
}


/* content06 */
#content06 {
	padding: 70px 0 60px;
	vertical-align: middle;
}
.content06 .title{
	margin-bottom: 50px;
}
.content06 .voice img{
	position:absolute;
	top: 0;
	left:20%;
	z-index: 1;
}
@media (max-width:768px) {
.voice-text{
	padding: 30px 20px;
	right:5%;
	width:65%;
	font-size: 16px; 
}
.content06 .voice img{
	left:5%;
}
}
@media (max-width:767px) {
#content06 {
	padding: 40px 0 60px;
}

.content06 .voice img{
	left:4%;
	width: 50%;
}
.content06 .title img{
	width: 35%;
}
}

/* qa */
#qa{
	background-image: url(../images/qa_bg.jpg);
	background-size: cover;
	padding-top: 50px;
	padding-bottom: 50px;
}
.cp_actab {
position: relative;
overflow: hidden;
width: 100%;
margin: 0 auto;
color: #000;
padding-bottom:5px;
}
.cp_actab input {
position: absolute;
z-index: -1;
opacity: 0;
}
.cp_actab label {
font-weight: bold;
line-height: 3;
position: relative;
display: block;
cursor: pointer;
background: #fff;
}
.cp_actab .cp_actab-content {
overflow: hidden;
max-height: 0;
-webkit-transition: max-height 0.35s;
transition: max-height 0.35s;
color: #595656333;
background: #fff;
}
.cp_actab .cp_actab-content p {
margin: 1em;
}
.cp_actab label {
    background: #000;
    border: 5px solid #fff;
}
#qa .col-xs-1{
  background-color:#fff;
}
#qa .qa_a .col-xs-1{
  background-color:#fff;
}
#qa .cp_actab .oswald{
  color:#000;
  font-size:230%;
  font-weight:bold;
  line-height: 1em;
  padding:10px 0 10px 0px;
}
.qa_a{
  background: #000;
  border-bottom:5px solid #fff;
  border-right:5px solid #fff;
  border-left:5px solid #fff;
}
label{
      margin-bottom: 0px;
      color: #fff;
}
/* :checked */
.cp_actab input:checked ~ .cp_actab-content {
max-height: 20em;
}
/* Icon */
.cp_actab label::after {
line-height: 3;
position: absolute;
top: 0;
right: 0;
display: block;
width: 3em;
height: 3em;
-webkit-transition: all 0.35s;
transition: all 0.35s;
text-align: center;
}
.cp_actab input[type=checkbox] + label::after {
content: '∨';
color:#fff;
font-size:105%;
}
.cp_actab input[type=checkbox]:checked + label::after {
transform: rotate(180deg);
}
.cp_actab .col-xs-11 {
      color: #fff;
    padding-right: 5%;
    line-height: 1.3em;
    font-size: 105%;
    padding: 10px 0px 10px 10%;
}
.qa .cf{
  position:relative;
  padding:15px 0 10px;
}
.qa .qa_q{
    position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
#qa .qa_a .col-xs-1{
	background-color: #810000;
  position:absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  color: #fff;
}
@media(max-width: 991px){
  .cp_actab .col-xs-11 {
    font-size: 18px;
}
}
@media (max-width:767px) {
  #qa{
  padding-top: 30px;
  padding-bottom: 20px;
}
.cp_actab .col-xs-11 {
    padding-right: 10%;
    font-size:10px;
}
.cp_actab .col-xs-1 {
    padding-right:0px;
    padding-left:0px;
}
.qa h2 img{
  width: 50%;
}
#qa .cp_actab .oswald{
  font-size:90%;
}
}

/*お問い合わせフォーム
******************************************/
.form{
	padding-top: 70px;
	padding-bottom: 60px;
	color: #fff;
}
.form_b{
	background-image: url(../images/form_bg.png);
	background-size: 100% 100%;
}
.form2{
	padding-top: 100px;
	font-size: 25px;
}
.form2 .col-sm-4{
}
.radio02-input{
  display: none;
}
.radio02-input + label{
  padding-left: 20px;
  position:relative;
  margin-right: 20px;
}
.bg-white {
    background-color: #fff;
}
p.c_font {
    color: #fff;
}
.form2 .row{
	padding-top: 25px;
}
.radio02-input + label::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 16px;
  height: 16px;
  border: 1px solid #999;
  border-radius: 50%;
}
.radio02-input:checked + label{
  color: #3977cf;
}
.radio02-input:checked + label::after{
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  left: 3px;
  width: 11px;
  height: 11px;
  background: #3977cf;
  border-radius: 50%;
}

#contact_form .input_item span {
    font-size: 20px;
    margin: 0 10px 0 0;
    display: inline;
    line-height: 20px;
    padding: 3px 10px;
    color: #ffffff;
    height: 18px;
    border-radius: 4px;
}
#contact_form .input_item span.stronger{
  font-weight: 600;
  font-size: 15px;
  padding: 0px;
}
#contact_form .input_item span.check{
  margin: 0px;
  padding: 0px;
}
.form-text{
  position:relative;
}
.form_tel {
    position: absolute;
    top: 80px;
    font-size: 380%;
    font-weight: bold;
    left: 100px;
}
span.req {
    background: #e93f23;
}
span.req02 {
    background: #333;
}

span.any {
    background: #cccccc;
}

#contact_form .input_item p.mail_caution {
    font-size: 12px;
    line-height: 19px;
    color: #fff;
    margin: 5px 0 0 0;
}

select{
	width: 100%;
    font-size: 18px;
    height: 30px;
    padding: 3px 0 3px 10px;
    margin: 0;
    color: #333;
}

#contact_form .input_item input[type="text"],
#contact_form .input_item input[type="number"],
#contact_form .input_item input[type="email"],
#contact_form .input_item input[type="tel"]
{
    width:100%;
    font-size: 18px;
    height:60px;
    padding: 3px 0 3px 10px;
    margin:0;
    color: #333;
}
.transmission{
	padding: 60px 0;
}
#contact_form .input_item .transmission input[type="submit"]{
    border: 3px double #FFFFFF;
    background: #e93f23;
    font-size: 150%;
    text-shadow: none;
    color: #ffffff;
    width:60%;
    padding: 30px 0;
    display: block;
    opacity: 1.0;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
    margin: 0 auto;
}

#contact_form .input_item .transmission input[type="submit"]:hover{
    opacity:0.5;
    -webkit-transition: 0.5s;
    -moz-transition: 0.5s;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
    transition: 0.5s;
}

#contact_form .input_item input[type="text"].inp_error,
#contact_form .input_item input[type="number"].inp_error,
#contact_form .input_item input[type="tel"].inp_error,
#contact_form .input_item textarea.inp_error {
    border: 1px solid #F88A8A;
    background: #F4D4D4;
}
#contact_form .input_item textarea {
  padding: 10px 3px 10px 10px;
  font-size: 18px;
  color: #333;
}


#energy_contact #send_status{
    padding: 5px 0 25px;
    text-align: center;
}
.pptxt .text_inner{
    width: 90%;
    margin: 15px auto 15px;
    line-height: 1.5em;
    height: 200px;
    overflow-y: scroll;
    padding: 10px;
    border: 1px solid #d2d2d2;
    font-size: 60%;
    font-family:"メイリオ", sans-serif;
  }
.pptxt .text_inner .white-box{
    background-color: white;
    color: black;

  }
span.error_m {
    font-size: 15px;
    font-weight: normal;
    color: #FF4040;
    display: block;
    margin: 0;
}
form {
    font-weight: normal !important;
    padding-left: 30px;
    font-size: 15px;
    padding-top: 10px;
}

@media (max-width:1199px) {
  .form .title img{
      width: 80%;
}
.form_b{
      background-size: 100% 100%;
}
}
@media(max-width: 991px){
  .form2{
    padding-top: 65px;
  }
  .form2 .col-sm-4{
    font-size: 18px;
  }
  #contact_form .input_item .transmission input[type="submit"]{
    font-size: 20px;
    padding: 20px 0;
}
.transmission{
  padding: 85px 0;
}
}
@media (max-width:768px) {
.form .container {
    padding-left: 30px;
    padding-right: 30px;
}
  form {
    font-weight: normal !important;
    padding-left: 20px;
    padding-right: 20px;
    font-size: 15px;
    padding-top: 10px;
}
.form_b{
  background-image: url(../images/form_bg_sp.png);
  background-size: 100% 100%;
}
.form{
	padding-top: 40px;
	padding-bottom: 50px;
	font-size: 14px;
	}
.form .title img{
	width: auto;
}
.form2 .col-sm-4{
    font-size: 14px;
  }
#contact_form .input_item{
    line-height: 30px;
}
.form2 .row{
  padding-top: 0px;
}
#contact_form .input_item textarea {
  width: 100%;
  font-size: 11px;
  height: 95px!important;
  padding: 0px;
}

form dt {
    font-weight: normal !important;
    font-size: 12px;
}
select{
    width: 80%;
    font-size: 12px;
}
.transmission{
  padding: 7px 0 25px 0;
}
#contact_form .input_item span {
    font-size: 12px;
}
#contact_form .input_item {
}
#contact_form .input_item input[type="text"],
#contact_form .input_item input[type="number"],
#contact_form .input_item input[type="email"],
#contact_form .input_item input[type="tel"]{
    width:100%;
    font-size: 11px;
    height:30px;
    padding: 3px 0 3px 10px;
    margin:0;
}
#contact_form .input_item dl dd textarea {
    width: 95%;
}
#contact_form .input_item .transmission input[type="submit"]{
    font-size: 12px;
    padding: 8px 0;
}
#contact_form .input_item p.mail_caution {
    font-size: 8px;
}
.pptxt .text_inner{
    font-size: 48%;
    width: 100%;
  }
#contact_form .input_item span.stronger{
  font-size: 13px;
}
input[type=checkbox] {
    top: -30px;
}
}

/* content08 */
#content08 {
	padding: 70px 0 160px;
	background-image: url(../images/company_bg.jpg) ;
	background-size: cover;
}
.form-table {
  width: 100%;
}
.form-table th, .form-table td {
    border: 1px solid #ffffff;
    padding: 10px;
	background-color:#000;
	color: #fff;
    vertical-align: middle;
}
.form-table th {
	background-color:#000;
    color: #fff;
    position: relative;
    text-align: left;
    width: 200px;
    font-weight: 500;
    vertical-align: middle;
    text-align: center;
    height: 100px;
    }
@media (max-width:768px) {
#content08 .title img{
	width: 15%;
}
}
@media (max-width:767px) {
#content08 {
	padding: 25px 0 35px;
	background-image: url(../images/company_bg.jpg) ;
	background-size: cover;
}
#content08 .title img{
	width: 55%;
}
.form-table th {
    width: 100px;
    height: 100px;
    font-size: 16px;
}
.form-table th, .form-table td {
	font-size: 12px;
}
.fix_navi{
    position: fixed;
    z-index: 9999;
    bottom: 0;
    width: 100%;
}
.fix_navi .container {
    background-color: #fff;
    padding-left: 5px;
    padding-right: 5px;
    padding-bottom: 8px;
    margin-bottom: -10px;
}
.fix_navi .col-xs-6{
    padding-left: 3px;
    padding-right: 3px;
}
.fix_navi .col-xs-12{
    padding-left: 0px;
    padding-right: 0px;
}
.fix_navi .container{
    padding-left: 5px;
    padding-right: 5px;
}
}

footer {
	padding: 5px 0;
}
@media (max-width:991px) {
	footer {
		font-size: 12px;
	}
}
@media (max-width:480px) {
	footer {
		font-size: 10px;
	}
}
.type-pers-parent {
  -webkit-perspective: 150px;
  height: 200px;
  background-color: transparent;
  overflow: hidden;
  font-size: 130%;
}
.type-pers-child {
  text-align: center;
  -webkit-animation: typetext linear 10s infinite;
  animation-delay:1s; /*1秒後にアニメーション開始*/
  color: #333;
  letter-spacing: 3px;
}
 
@-webkit-keyframes typetext {
   0% {transform: rotateX(30deg) translate(0,0);}
  100% {transform: rotateX(30deg) translate(0,-180px);}
}
@media (max-width:991px) {
  .type-pers-parent {
  font-size: 108%;
}
}
@media (max-width:768px) {
  .type-pers-child {
  -webkit-animation: typetext linear 20s infinite;
  letter-spacing: 1px;
}
  .type-pers-parent {
  font-size: 75%;
}
/*============
nav
=============*/
nav {
  display: block;
  position: fixed;
  top: 0;
  left: -300px;
  bottom: 0;
  width: 300px;
  background: #ffffff;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: .5s;
  z-index: 3;
}
.open nav {
  left: 135px;
    animation: SlideIn 1.6s;
}
@keyframes SlideIn {
  0% {
    opacity: 0;/*初期状態では透明に*/
    transform: translateX(64px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

nav .inner {
  padding: 25px;
}
nav .inner ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
nav .inner ul li {
  position: relative;
  margin: 0;
  border-bottom: 1px solid #333;
}
nav .inner ul li a {
  display: block;
  color: #333;
  font-size: 14px;
  padding: 1em;
  text-decoration: none;
  transition-duration: 0.2s;
}
nav .inner ul li a:hover {
  background: #e4e4e4;
}
@media screen and (max-width: 767px) {
  nav {
    left: -240px;
    width: 240px;
  }
}
/*============
.toggle_btn
=============*/
.toggle_btn {
  display: block;
  position: fixed;
  top: 10px;
  right: -15px;
  width: 60px;
  height: 30px;
  transform: translate(0, 0);
  transition: all .5s;
  cursor: pointer;
  z-index: 3;
}
.open .toggle_btn {
  left: 330px;
}
.toggle_btn span {
  display: block;
  position: absolute;
  left: 0;
  width: 30px;
  height: 2px;
  background-color: #fff;
  transition: all .5s;
}
.toggle_btn span:nth-child(1) {
  top: 5px;
  width: 30px;
}
.toggle_btn span:nth-child(2) {
  top: 15px;
  width: 30px;
}
.toggle_btn span:nth-child(3) {
  top: 25px;
  width: 30px;
}
.open .toggle_btn span {
  background-color: #fff;
  width: 30px;
}
.open .toggle_btn span:nth-child(1) {
  transform: translate(0, 10px) rotate(-45deg);
  animation: unset;
}
.open .toggle_btn span:nth-child(2) {
  opacity: 0;
  animation: unset;
}
.open .toggle_btn span:nth-child(3) {
  transform: translate(0, -10px) rotate(45deg);
  animation: unset;
}
@media screen and (max-width: 767px) {
  .open .toggle_btn {
    left: 30px;
  }
}
/*============
#mask
=============*/
#mask {
  display: none;
}
.open #mask {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .8;
  z-index: 2;
  cursor: pointer;
  transition: all .5s;
}
}