/*--------------------------------------------------------------------
  common
--------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
	.pc-only { display: none!important; }
	.sp-only { display: block!important; }

	.spScroll {
		overflow-x: auto;
		padding-bottom: 14px;
	}
	.spScroll img { min-width: 470px; }
    .ps__rail-x {
        display: block;
        height: 14px!important;
        background: #cccccc!important;
        opacity: 1!important;
        border-radius: 0px!important;
    }
    .ps__thumb-x {
        display: block;
        bottom: 0!important;
        background: #007947!important;
        opacity: 1!important;
        height: 14px!important;
        border-radius: 7px!important;
    }
    .ps__rail-y,.ps__rail-x { border-radius: 0!important; }
    .ps__thumb-y { z-index: 9999; }
    .ps__thumb-x { z-index: 9998; }
    .modal-body {
        position: relative;
        width: 100%;
        box-sizing: border-box;
    }
    .modal-img-set {
        width: 100%;
        box-sizing: border-box;
    }
    .modal-img-set span {
        position: relative;
        display: block;
        width: 100%;
        min-width: 500px;
        margin: 0 auto;
        padding: 15px;
        box-sizing: border-box;
    }
    .modal-img-set span img {
        position: relative;
        z-index: 100;
    }
    #inline-wrap01 .modal-img-set {
        background: -ms-linear-gradient(#02856d 0%, #37b950 100%);
        background: -moz-linear-gradient(#02856d, #37b950);
        background: -webkit-linear-gradient(#02856d, #37b950);
        background: linear-gradient(#02856d, #37b950);  
    }
    #inline-wrap01 .modal-img-set span::before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        z-index: 5;
        width: 100%;
        height: 25%;
        background-color: #abdd5a;
    }
    #inline-wrap01 .modal-img-set span::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        z-index: 10;
        width: 100%;
        height: 40%;
        margin: 0 auto;
        background: url("/assets_renewable_energy/img/block01_foot.png") center top no-repeat;
        background-size: 100% auto;
    }
    #inline-wrap03 .modal-img-set {
	    background: #a4e0b4;
    }
    #inline-wrap04 .modal-img-set {
        background: -ms-linear-gradient(left, #14b050 0%, #91d050 100%);
        background: -moz-linear-gradient(left, #14b050, #91d050);
        background: -webkit-linear-gradient(left, #14b050, #91d050);
        background: linear-gradient(left, #14b050, #91d050);
    }
    #inline-wrap05 .modal-img-set {
	    background: #abdd5a;
    }
    #inline-wrap06 .modal-img-set {
        background: -ms-linear-gradient(left, #14b050 0%, #91d050 100%);
        background: -moz-linear-gradient(left, #14b050, #91d050);
        background: -webkit-linear-gradient(left, #14b050, #91d050);
        background: linear-gradient(left, #14b050, #91d050);
    }
    .modal-body .mfp-close {
        top: -45px!important;
        text-indent: 100%;
        white-space: nowrap;
        opacity: 1!important;
        font-size: 0;
    }
    .modal-body .mfp-close::before {
        content: "";
        position: absolute;
        top: 0;
        right: 15px;
        width: 2px;
        height: 40px;
        background-color: #ffffff;
        transform: rotate(45deg);
    }
    .modal-body .mfp-close::after {
        content: "";
        position: absolute;
        top: 0;
        right: 15px;
        width: 2px;
        height: 40px;
        background-color: #ffffff;
        transform: rotate(-45deg);
    }
    .sp-large-btn {
        display: block;
        margin-top: 15px;
        text-align: center;
    }
    .sp-large-btn a {
        display: inline-block;
        padding: 10px 15px 10px 32px;
        border: solid 2px #ffffff;
        border-radius: 5px;
        background: #20a35c url("/assets_renewable_energy/img/icon_kakudai.png") center left 10px no-repeat;
        background-size: 16px 16px;
        text-decoration: none;
        font-size: 16px;
        color: #ffffff;
        line-height: 100%;
        user-select: none;
        transition: background-color 0.2s;
    }
    .sp-large-btn a:hover { background-color: #016f33; }
}


/*--------------------------------------------------------------------
  block01
--------------------------------------------------------------------*/
@media screen and (min-width: 1400px) {
	#sec-block01::before { height: 20%; }
	#sec-block01::after { height: 33%; }
}
@media screen and (max-width: 1000px) {
	#sec-block01 br.adjust-br { display: none; }
}
@media screen and (max-width: 767px) {
	#sec-block01 { padding-bottom: 0; }
	#sec-block01::before { height: 19%; }
	#sec-block01::after { height: 32%; }
	#sec-block01 header h1 {
        width: 120px;
		padding-top: 15px;
		padding-left: 15px;
	}
	#sec-block01 h2 .sp-title {
		display: block;
		font-weight: bold;
		font-size: 20px;
		color: #ffffff;
		line-height: 150%;
	}
	#sec-block01 h2 .sp-title .pbr { font-size: 30px; }
	#sec-block01 .text-style {
		padding-top: 30px;
		font-size: 18px;
		line-height: 160%;
	}
	#sec-block01 .image-style { padding-top: 50px; }
	#sec-block01 .image-style.spScroll { padding-bottom: 25px; }
}
@media screen and (max-width: 579px) {
	#sec-block01::before { height: 22%; }
	#sec-block01::after { height: 29%; }
}
@media screen and (max-width: 430px) {
	#sec-block01::before { height: 20%; }
	#sec-block01::after { height: 27%; }
}
@media screen and (max-width: 399px) {
	#sec-block01::before { height: 18%; }
	#sec-block01::after { height: 24%; }
}
@media screen and (max-width: 320px) {
	#sec-block01::before { height: 15%; }
	#sec-block01::after { height: 23%; }
}


/*--------------------------------------------------------------------
  block02
--------------------------------------------------------------------*/
@media screen and (max-width: 1000px) {
	#sec-block02 br.adjust-br { display: none; }
}
@media screen and (max-width: 767px) {
	#sec-block02 h2 .sp-title {
		display: block;
		font-weight: bold;
		font-size: 20px;
		color: #007947;
		line-height: 150%;
	}
	#sec-block02 h2 .sp-title .pbr { font-size: 30px; }
	#sec-block02 .text-style01 {
		padding-top: 30px;
		font-size: 18px;
		line-height: 150%;
		text-align: left;
	}
	#sec-block02 .text-style02 {
		padding-top: 15px;
		padding-bottom: 30px;
		font-size: 16px;
		text-align: left;
		line-height: 160%;
	}
}


/*--------------------------------------------------------------------
  block03
--------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
	#sec-block03 {
		padding-top: 90px;
		padding-bottom: 50px;
	}
    #sec-block03 .contents-in { padding-top: 20px; }
}
@media screen and (max-width: 579px) {
	#sec-block03 { padding-top: 70px; }
}
@media screen and (max-width: 399px) {
	#sec-block03 { padding-top: 50px; }
}


/*--------------------------------------------------------------------
  block04
--------------------------------------------------------------------*/
@media screen and (max-width: 1000px) {
	#sec-block04 br.adjust-br { display: none; }
}
@media screen and (max-width: 767px) {
	#sec-block04 {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	#sec-block04 h2 .sp-title {
		display: block;
		font-weight: bold;
		font-size: 20px;
		color: #ffffff;
		line-height: 150%;
	}
	#sec-block04 h2 .sp-title .pbr { font-size: 30px; }
	#sec-block04 .text-style01 {
		padding-top: 30px;
		font-size: 18px;
		line-height: 150%;
		text-align: left;
	}
	#sec-block04 .text-style02 {
		padding-top: 15px;
		padding-bottom: 30px;
		font-size: 16px;
		text-align: left;
		line-height: 160%;
	}
}


/*--------------------------------------------------------------------
  block05
--------------------------------------------------------------------*/
@media screen and (max-width: 1000px) {
	#sec-block05 br.adjust-br { display: none; }
}
@media screen and (max-width: 767px) {
	#sec-block05 {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	#sec-block05 h2 .sp-title {
		display: block;
		font-weight: bold;
		font-size: 20px;
		color: #007947;
		line-height: 150%;
	}
	#sec-block05 .text-style01 {
		padding-top: 30px;
		font-size: 18px;
		line-height: 150%;
		text-align: left;
	}
	#sec-block05 .text-style02 {
		padding-top: 15px;
		padding-bottom: 30px;
		font-size: 16px;
		text-align: left;
		line-height: 160%;
	}
	#sec-block05 .box-section {
		padding-top: 50px;
	}
	#sec-block05 .box-section::before {
		top: 16px;
		margin-left: -18px;
		border-width: 20px 18px 0 18px;
	}
	#sec-block05 .box-section .box-style {
		padding: 15px;
		border-radius: 10px;
		text-align: left;
		font-size: 16px;
		line-height: 160%;
	}
}


/*--------------------------------------------------------------------
  block06
--------------------------------------------------------------------*/
@media screen and (max-width: 1000px) {
	#sec-block06 h3 span.sub-title { font-size: 18px; }
}
@media screen and (max-width: 767px) {
	#sec-block06 { padding-top: 50px; }
	#sec-block06 h2 .sp-title {
		display: block;
		font-weight: bold;
		font-size: 20px;
		color: #ffffff;
		line-height: 150%;
	}
	#sec-block06 h2 .sp-title .pbr { font-size: 30px; }
	#sec-block06 .box-style {
		margin-top: 30px;
		padding: 15px;
	}
	#sec-block06 .box-style ul li {
		padding-left: 25px;
		background: url("/assets_renewable_energy/img/icon_check.png") top 3px left no-repeat;
		background-size: 16px 14px;
		font-size: 16px;
		line-height: 150%;
	}
	#sec-block06 h3 { padding-top: 50px; }
	#sec-block06 h3 span.sub-title {
		margin-bottom: 12px;
		font-size: 16px;
	}
	#sec-block06 h3 span.sp-title .dot-text {
		position: relative;
		display: inline-block;
	}
	#sec-block06 h3 span.sp-title .dot-text::before {
		content: "";
		position: absolute;
		top: -2px;
		left: 50%;
		width: 4px;
		height: 4px;
		margin-left: -2px;
		border-radius: 4px;
		background-color: #ffffff;
		font-size: 0;
	}
	#sec-block06 h3 span.sp-title {
		display: block;
		font-weight: bold;
		font-size: 20px;
		color: #ffffff;
		line-height: 180%;
	}
	#sec-block06 .img-style01 { padding-top: 30px; }
	#sec-block06 .img-style02 {
		padding-top: 50px;
		padding-bottom: 50px;
	}
}


/*--------------------------------------------------------------------
  footer
--------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
	footer { height: 140px; }
	footer p {
		padding-top: 70px;
		font-size: 14px;
	}
}