@charset "utf-8";

/*----------------------------------------------------
	common
----------------------------------------------------*/

/* PC */
.pcVer {
	display: inline;
}
/* SP */
.spVer {
	display: none;
}
body.responsive-sp {
	box-sizing: border-box;
}
body.responsive-sp .spVer {
	display: inline;
}
body.responsive-sp .pcVer {
	display: none;
}
/* module_proper.html
----------------------------------------------------------- */
#module_proper #mainInner {
	padding: 15px;
	text-align: left;
}
#module_proper .main_box dl dt {
	font-weight: bold;
	padding-bottom: 10px;
}
#module_proper .main_box dl dd {
	padding: 0 0 20px 18px;
}
#module_proper .main_box dl dd:last-child {
	padding-bottom: 0;
}
#module_proper table td {
	vertical-align: middle;
}

/* ====================================
	PC&タブレット、印刷専用スタイル
===================================== */
@media print, screen and (min-width: 768px) {
	.pcDisNone {display: none !important;}
}
/* ====================================
	スマートフォン専用スタイル
===================================== */
@media only screen and (max-width: 767px) {
	.spDisNone {display: none !important;}
}
/* ---------- */

/*----------------------------------------------------
	メインビジュアル
----------------------------------------------------*/
#contentsArea {
	width: 100%;
	background-image: url(/business/solar/images/ppa/bg_grid.gif);
	background-repeat: repeat;
	background-position: center top;
	font-size: 1.69em;
	text-align: left;
	line-height: 1.6;
}
#contentsArea *, #contentsArea *::before, #contentsArea *::after {
	box-sizing: border-box;
}
.mainCatch {
	background-color: #00b7ee;
	color: #fff;
	text-align: center;
	font-weight: bold;
	text-shadow: 0 0 10px rgba(0,0,0,0.5);
	padding: 0.8em;
	font-size: 1.59em;
	line-height: 1.3;
}
#mainVImg {
	width: 100%;
	height: 0;
	padding-top: 45.6%;
	background-image: url(/business/solar/images/ppa/mainv_bg_pc.png);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100% auto;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	position: relative;
}
#mainVWrap {
	width: 100%;
	background-color: #fff;
}
#mainV {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}
#mainVTxt {
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	text-align: center;
}
.mainTtl,
.mainSTtl {
	text-shadow: 0 0 10px rgba(255,255,255,1);
}
.mainTtl > span {
	display: block;
	line-height: 1.2;
}
.mainTtl .ttl em {
	background:linear-gradient(transparent 70%, #dc9797 70%);
}
.mainTtl {
	margin-bottom: 0.5em;
}
.mainSTtl {
	display: inline-block;
	position: relative;
	padding-left: 1em;
	padding-right: 1em;
	line-height: 1.2;
}
.mainSTtl::before {
	content: '';
	width: 0.75em;
	height: 4px;
	background-color: #333;
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
.mainSTtl::after {
	content: '';
	width: 0.75em;
	height: 4px;
	background-color: #333;
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
.movieArea {
	text-align: center;
	position: relative;
	z-index: 2;
}
.movieTtl {
	margin-bottom: 0.25em;
}
.movieFrame {
	padding: 6px;
	border-radius: 4px;
	background-color: #fff;
}
.movieWrap {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.movieWrap iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

/* SP */
body.responsive-sp #contentsArea {
	margin-top: 10px;
}
body.responsive-sp #mainVImg {
	padding-top: 69.010416666%;
	background-image: url(/business/solar/images/ppa/mainv_bg_sp.png);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
}
body.responsive-sp .mainCatch {
	font-size: 1rem;
}

body.responsive-sp #mainVTxt {
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}
body.responsive-sp .mainTtl {
	font-size: 1.3rem;
}
body.responsive-sp .mainSTtl {
	font-size: 1rem;
}
body.responsive-sp .movieArea {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1em;
}

/* PC */
@media print, screen and (min-width: 768px) {
#mainV {
	max-width: 1200px;
}
#mainVTxt {
	top: 32.2%;
}
.mainTtl {
	font-size: 2.18em;
}
.mainTtl .ttl em {
	font-size: 1.13em;
}
.mainSTtl {
	font-size: 1.64em;
}
.movieArea {
	max-width: 530px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 50px;
}
.movieTtl {
	font-size: 1.36em;
}
}

/*----------------------------------------------------
	共通
----------------------------------------------------*/
sub {
	font-size: 70%;
	vertical-align: bottom;
	position: relative;
	bottom: .15em;
}
sup {
	font-size: 70%;
	vertical-align: top;
	position: relative;
	top: .15em;
}
/*----- diagonalTtl -----*/
.diagonalTtl {
	font-weight: bold;
	font-size: 1.63em;
	text-align: center;
	line-height: 1.4;
	margin-bottom: 1em;
}
.diagonalTtl > span {
	display: inline-block;
	background-image:url(/business/solar/images/ppa/ttl_diagonal.svg);
	background-repeat: no-repeat;
	background-position: left top;
	padding: 40px 40px 0 40px;
}
.diagonalTtl .s {
	font-size: 68%;
}

/* SP */
body.responsive-sp .diagonalTtl {
	font-size: 1.3rem;
}
body.responsive-sp .diagonalTtl > span {
	background-size: 20px auto;
	padding: 6px 20px 0 20px;
}

/*----- lineTtl -----*/
.lineTtl {
	font-weight: bold;
	text-align: left;
	margin-bottom: 1em;
	font-size: 1.45em;
}
.lineTtl span {
	padding-bottom: 8px;
	background-image: url(/business/solar/images/ppa/ttl_line.svg);
	background-repeat: repeat-x;
	background-position: left bottom 5px;
	line-height: 1.7;
}
@media all and (-ms-high-contrast:none){
	*::-ms-backdrop, .lineTtl span {
		line-height: 1.8;
	}
}

/* SP */
body.responsive-sp .lineTtl {
	font-size: 0.88rem;
}
body.responsive-sp .lineTtl span {
	background-position: left bottom;
	line-height: 1.8;
	padding-left: 0;
	padding-right: 0;
}

/*----------------------------------------------------
	メリット
----------------------------------------------------*/
#merit {
	padding: 70px 4% 60px;
}
.meritRow {
	margin: 0 -2%;
}
.meritRow .col {
	display: table;
	margin: 0 2%;
}
.meritRow .photo {
	margin-bottom: 20px;
}
.meritRow .txtWrap {
	display: table-caption;
	caption-side: bottom;
	text-align: left;
	padding-left: 10%;
}
.meritRow .txtWrap .lineTtl {
	font-size: 1.27em;
}
#sdgs .desc dt .num {
	display: inline-block;
	vertical-align: bottom;
	width: 1.5em;
	text-align: center;
	margin-right: 0.25em;
	text-indent: 0;
}
#sdgs .desc dt {
	text-indent: -1.75em;
	padding-left: 1.75em;
}
/*.goal07 .desc dt {
	color: #fabd00;
}
.goal13 .desc dt {
	color: #407936;
}*/
.goal07 .desc dt,
.goal13 .desc dt {
	color: #568a4d;
}

/* SP */
body.responsive-sp #merit {
	padding: 30px 4%;
}
body.responsive-sp .meritRow {
	flex-flow: column nowrap;
	align-items: center;
	margin: 0;
}
body.responsive-sp .meritRow .col {
	margin: 0 6% 0 0;
}
body.responsive-sp .meritRow .col:not(:last-child) {
	margin-bottom: 30px;
}
body.responsive-sp .meritRow .photo {
	margin-bottom: 15px;
}
body.responsive-sp .meritRow .txtWrap .lineTtl {
	font-size: 1rem;
}
body.responsive-sp .meritRow .txtWrap .txt {
	font-size: .88rem;
}
/* PC */
@media print, screen and (min-width: 768px) {
#merit {
	padding: 70px 0 80px;
}
.diagonalTtl {
	line-height: 1;
	vertical-align: bottom;
	padding-top: 0;
	padding-bottom: 0;
	margin-bottom: 0;
}
.diagonalTtl > span {
	display: inline-block;
	vertical-align: bottom;
	background-image:url(/business/solar/images/ppa/ttl_diagonal.svg);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 44px auto;
	padding: 30px 34px 0 34px;
	font-size: 0.89em;
}
.diagonalTtl > span em {
	font-size: 1.13em;
}
.meritRow {
	max-width: 1090px;
	width: 98.4%;
	margin: 0 auto !important;
	padding: 12px 0 0;
}
.meritRow .col {
	width: 100%;
	display: table;
	margin: 0 0 35px;
}
.meritRow .col:last-child {
	margin-bottom: 0;
}
.meritRow .photo {
	display: table-cell;
	vertical-align: top;
	width: 34.9%;
	margin-bottom: 0;
}
.meritRow .txtWrap {
	display: table-cell;
	vertical-align: top;
	padding-left: 4.95%;
	padding-right: 3.2%;
	padding-top: 35px;
}
.meritRow .txtWrap .lineTtl {
	font-size: 1.09em;
}
.meritRow .txtWrap .txt {
	font-size: 0.73em;
	line-height: 1.6;
}
}


/*----------------------------------------------------
	SDGsへの貢献
----------------------------------------------------*/
#sdgs {
	background-image: url(/business/solar/images/ppa/sdgs_bg_pc.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: cover;
	padding: 50px 20px;
}
#sdgs .inner {
	max-width: 1100px;
	margin: 0 auto;
	padding: 4%;
	background-color: rgba(255,255,255,0.85);
}
#sdgs .logo {
	text-align: center;
	margin-bottom: 50px;
}
#sdgs .logo img {
	max-width: 80%;
}
#sdgs .row {
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	margin: 0 -2%;
}
#sdgs .row .col {
	display: flex;
	flex-flow: row nowrap;
	width: 50%;
	margin: 0 2%;
}
#sdgs .row .col .ic {
	padding-right: 15px;
}
#sdgs .row .col .ic img {
	width: 100px;
	min-width: 100px;
}
#sdgs .row .col dl {
}
#sdgs .row .col dl dt {
	font-size: .81em;
	font-weight: bold;
	padding-bottom: .6em;
}
#sdgs .row .col dl dd {
	font-size: .72em;
}
#sdgs .txt {
	margin-bottom: 50px;
}
/* SP */
body.responsive-sp #sdgs {
	padding: 6% 4%;
}
body.responsive-sp #sdgs::before {
	background-image: url(/business/solar/images/ppa/sdgs_bg_pc.png);
}
body.responsive-sp #sdgs .inner {
	padding: 5%;
}
body.responsive-sp #sdgs .diagonalTtl {
	font-size: 1.15rem;
}
body.responsive-sp #sdgs .logo {
	margin-bottom: 30px;
}
body.responsive-sp #sdgs .row {
	display: block;
	margin: 0;
}
body.responsive-sp #sdgs .row .col {
	width: 100%;
	margin: 0;
}
body.responsive-sp #sdgs .row .col:not(:last-child) {
	margin-bottom: 15px;
}
body.responsive-sp #sdgs .row .col .ic img {
	width: 80px;
	min-width: 80px;
}
body.responsive-sp #sdgs .row .col dl dt {
	font-size: .92rem;
}
body.responsive-sp #sdgs .row .col dl dd {
	font-size: .88rem;
}
body.responsive-sp #sdgs .txt {	
	font-size: .88rem;
	margin-bottom: 25px;
}
/* PC */
@media print, screen and (min-width: 768px) {
#sdgs {
	background-size: cover;
	padding: 96px 0 110px;
}
#sdgs .inner {
	width: 92%;
	max-width: 1020px;
	padding: 30px 0 0;
}
.diagonalTtl .s {
	font-size: 0.63em;
}
#sdgs .txt {
	padding: 40px 40px 30px;
	font-size: 0.73em;
	line-height: 1.6;
	margin-bottom: 0;
}
#sdgs .row {
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	background-color: #fff;
	border-top: #cfcfcf 1px solid;
}
#sdgs .row .col dl dd {
	font-size: 0.73em;
	line-height: 1.6;
}
#sdgs .row .col {
	margin: 0;
	padding: 40px;
}
#sdgs .row .col:first-child {
	border-right: #cfcfcf 1px solid;
}
#sdgs .row .col dl dt {
	font-size: 1em;
}
}

/*----------------------------------------------------
	初期投資ゼロで導入可能
----------------------------------------------------*/
#introInv {
	position: relative;
	padding: 80px 0;
	z-index: 2;
}
#introInv .lead {
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	width: 94%;
	max-width: 1400px;
	margin: 0 auto;
}
#introInv .lead .l {
	padding-right: 50px;
}
#introInv .lead .l .diagonalTtl {
	margin-bottom: 1.2em;
}
#introInv .lead .l .diagonalTtl span {
	text-align: left;
}
#introInv .lead .l .diagonalTtl em {
	font-size: 1.33em;
	color: #bf4444;
}
#introInv .lead .l .txt {
	font-size: 1.18em;
	font-weight: bold;
	padding-left: 20px;
}
#introInv .lead .l .txt em {
	font-size: 1.35em;
}
#introInv .lead .r .photo {
	text-align: center;
}
#introInv .txtWrap {
	margin-top: 2em;
}
#introInv .txtWrap p {
	margin-bottom: 1em;
}

/* SP */
body.responsive-sp #introInv {
	padding: 30px 0;
}
body.responsive-sp #introInv .lead {
	display: block;
}
body.responsive-sp #introInv .lead .l {
	padding-right: 0;
	margin-bottom: 20px;
}
body.responsive-sp #introInv .lead .l .diagonalTtl em {
	font-size: 1.8rem;
}
body.responsive-sp #introInv .lead .l .txt {
	font-size: 1rem;
}
body.responsive-sp #introInv .lead .l .txt em {
	font-size: 1.5rem;
}
body.responsive-sp #introInv .txtWrap {
	font-size: 0.88rem;
	padding-left: 5%;
	padding-right: 5%;
}

/* PC */
@media print, screen and (min-width: 768px) {
#introInv {
	padding: 80px 0 50px;
}
#introInv .lead {
	width: calc(92% + 68px);
	max-width: 1088px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex !important;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	position: relative;
	padding-right: 34px;
}
#introInv .lead .l {
	padding-right: 40px;
}
#introInv .lead .r {
	width: 49.6%;
}
#introInv .lead .l .diagonalTtl {
	text-align: left;
	line-height: 1.2;
	margin-bottom: 0.67em;
}
#introInv .lead .l .diagonalTtl > span {
	font-size: 0.67em;
}
#introInv .lead .l .diagonalTtl em {
	font-size: 1.83em;
}
#introInv .lead .l .txt {
	padding-left: 34px;
	font-size: 0.82em;
	line-height: 1.4;
}
#introInv .lead .l .txt em {
	font-size: 1.44em;
}
#introInv .txtWrap {
	margin: 50px auto 0;
	max-width: 1020px;
	font-size: 0.73em;
	line-height: 1.6;
}
#introInv .txtWrap p:last-child {
	margin-bottom: 0;
}
}
/* Tablet */
@media screen and (min-width: 768px) {
body.responsive-sp #introInv .lead {
	width: 100%;
	padding-right: 5%;
	padding-left: 5%;
}
body.responsive-sp #introInv .lead .l {
	padding-right: 1em;
}
body.responsive-sp #introInv .lead .l .diagonalTtl {
	margin-left: -20px;
}
body.responsive-sp #introInv .lead .l .txt {
	padding-left: 0;
}
}

/*----------------------------------------------------
	某工場提案例
----------------------------------------------------*/
#ex {
	width: 92%;
	max-width: 1100px;
	margin: 0 auto 80px;
	padding: 4%;
	background-color: rgba(255,255,255,0.7);
	border-radius: 10px;
}
.exInner {
	max-width: 800px;
	margin: 0 auto;
}
.exTtl {
	font-size: 1.45em;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background-color: #333;
	border-radius: 10px;
	padding: .5em;
	margin-bottom: 1.8em;
}
.exList dl {
	display: table;
	width: 100%;
	padding: .5em 1em;
}
.exList dl:not(:last-child) {
	margin-bottom: 15px;
}
.exList dl dt {
	position: relative;
	display: table-cell;
	width: 53%;
	font-weight: bold;
	text-align: center;
	padding: 0 1em;
}
.exList dl dt::after {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	content: '';
	display: block;
	width: 4px;
	height: 1.3em;
	margin: auto 0;
	background-color: #bc5353;
}
.exList dl dd {
	display: table-cell;
	text-align: center;
	padding: 0 1em;
}
.exList dl.typeA { color: #fff; background-color: #af4f50;}
.exList dl.typeA dt::after { background-color: #fff;}
.exList dl.typeB { background-color: #f7eaea;}
.exList dl.typeC { background-color: #e6e6e6;}
.exImg {
	margin-top: 30px;
}
.exTxt {
	margin-top: 2em;
}

/* sp */
body.responsive-sp #ex {
	margin-bottom: 30px;
}
body.responsive-sp .exTtl {
	font-size: 1.13rem;
	margin-bottom: 1.3em;
}
body.responsive-sp .exList dl:not(:last-child) {
	margin-bottom: 8px;
}
body.responsive-sp .exList dl {
	font-size: .88rem;
}
body.responsive-sp .exImg {
	margin-top: 20px;
}
body.responsive-sp .exTxt {
	font-size: 0.88rem;
}
/* PC */
@media print, screen and (min-width: 768px) {
.exTxt {
	text-align: center;
}
#ex {
	max-width: 1020px;
	width: 92%;
	padding: 5.9%;
	box-shadow: 0 0 20px 0 rgba(0,0,0,0.2);
	margin-bottom: 60px;
}
.exInner {
	max-width: 640px;
}
.exTtl {
	font-size: 1.09em;
	line-height: 1;
	padding: 0.62em;
}
.exTxt {
	font-size: 0.73em;
	line-height: 1.6;
}
}

/*----------------------------------------------------
	PPAとは
----------------------------------------------------*/
#about {
	position: relative;
	width: 92%;
	max-width: 1020px;
	margin: 0 auto 80px;
	padding: 2em;
	background-image: url(/business/solar/images/ppa/about_bg.svg);
	background-repeat: no-repeat;
	background-position: right top;
}
#about::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: calc(100% - 31px);
	height: 31px;
	border-top: 2px solid #000;
	border-left: 2px solid #000;
	background-color: #fff;
	border-radius: 2px 0 0 0;
}
#about::after {
	content: '';
	display: block;
	position: absolute;
	top: 31px;
	left: 0;
	width: 100%;
	height: calc(100% - 31px);
	border-left: 2px solid #000;
	border-right: 2px solid #000;
	border-bottom: 2px solid #000;
	background-color: #fff;
	border-radius: 0 0 2px 2px;
}
.aboutInner {
	position: relative;
	z-index: 1;
}
.aboutTtl {
	font-weight: bold;
	background-image: url("/business/solar/images/ppa/about_ttl_bg.png");
	background-repeat: no-repeat;
	background-position: left top;
	line-height: 1.4;
}
.aboutTtl em {
	color: #fff;
	text-shadow:1px 1px 0 #000, -1px -1px 0 #000,
	-1px 1px 0 #000, 1px -1px 0 #000,
	0px 1px 0 #000,  0 -1px 0 #000,
	-1px 0 0 #000, 1px 0 0 #000;
	display: inline-block;
	padding: 0 0.5em;
	position: relative;
}
.aboutTtl em::after {
	content: '';
	width: 60%;
	height: 4px;
	background-color: #000;
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

/* sp */
body.responsive-sp #about {
	padding: 1em;
	margin-bottom: 30px;
}
body.responsive-sp .aboutTtl {
	margin-bottom: 15px;
	background-size: auto 100%;
	padding-bottom: 0.5em;
	font-size: 1.4rem;
}
body.responsive-sp .aboutTtl em {
	font-size: 1.8rem;
}
body.responsive-sp .aboutTxt {
	font-size: .88rem;
}
/* PC */
@media print, screen and (min-width: 768px) {
#about {
	max-width: 1020px;
	padding: 50px 0;
	margin: 0 auto 60px;
}
.aboutTtl {
	font-size: 1.82em;
	padding-bottom: 0.5em;
	margin-bottom: 0.25em;
	margin-left: auto;
	margin-right: auto;
	width: calc(100% - 60px);
}
.aboutTtl em {
	font-size: 1.25em;
}
.aboutTxt {
	padding: 0 4.9%;
	font-size: 0.73em;
	line-height: 1.6;
}
}

/*----------------------------------------------------
	スキーム
----------------------------------------------------*/
#scheme {
	background-color: #fff;
	padding: 60px 0;
}
.schemeInner {
	width: 92%;
	max-width: 1200px;
	margin: 0 auto;
}
.schemePhoto {
	margin-top: 50px;
	text-align: center;
}

/* sp */
body.responsive-sp #scheme {
	padding: 30px 0;
}
body.responsive-sp .schemePhoto {
	margin-top: 0;
}
body.responsive-sp .schemeTxt {
	font-size: 0.88rem;
	margin-bottom: 2em;
}
/* PC */
@media print, screen and (min-width: 768px) {
#scheme {
	box-shadow: 0 0 20px 0 rgba(0,0,0,0.2);
}
.schemeInner {
	max-width: 920px;
}
.schemeTxt {
	font-size: 0.73em;
	line-height: 1.6;
	padding-top: 40px;
}
.schemePhoto img {
	max-width: 862px;
	width: 100%;
}
}

/*----------------------------------------------------
	導入までの流れ
----------------------------------------------------*/
#flow {
	position: relative;
	width: 92%;
	max-width: 1040px;
	margin: 0 auto;
	padding: 80px 0 50px;
}
.flowTtl {
	font-size: 1.45em;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background-color: #333;
	border-radius: 10px;
	padding: .5em;
	margin-bottom: 1.8em;
}
.flowList {
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	margin-bottom: 2em;
}
.flowList li {
	width: 25%;
	padding: 0 1%;
}

/* SP */
body.responsive-sp #flow {
	padding: 30px 0 40px;
}
body.responsive-sp .flowTtl {
	font-size: 1.13rem;
	margin-bottom: 1.3em;
}
body.responsive-sp .flowList {
	flex-wrap: wrap;
	justify-content: flex-start;
	margin-bottom: 30px;
}
body.responsive-sp .flowList li {
	width: 33.3%;
	padding: 0;
}
body.responsive-sp .flowList li:nth-of-type(n+4) {
	margin-top: 4%;
}
body.responsive-sp .flowTxt {
	font-size: 0.88rem;
}
/* PC */
@media print, screen and (min-width: 768px) {
#flow {
	max-width: 1020px;
}
.flowTtl {
	font-size: 1.09em;
	line-height: 1;
	padding: 0.62em;
	margin-bottom: 1.25em;
}
.flowTxt {
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
}
.flowList {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 0.73em;
}
.flowList li {
	padding: 0;
	width: 15.7%;
}
.flowTxt {
	width: 100%;
	max-width: 100%;
	font-size: 0.73em;
	line-height: 1.6;
}
}


/*----------------------------------------------------
	よくある質問
----------------------------------------------------*/
.faqListIndent {
}
/*.faqListIndent .dt {
	width: 5em;
	display: inline-block;
	vertical-align: top;
}
.faqListIndent .dd {
	width: calc(100% - 5em);
	display: inline-block;
	vertical-align: top;
	padding-left: 1em;
	text-indent: -1em;
}*/

/*----- お問い合わせボタン -----*/
.contactBtn {
	width: 90%;
	margin: 0 auto;
}
.contactBtn a {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #bc5353;
	color: #fff;
	text-decoration: none;
	text-align: left;
	font-weight: bold;
	font-size: 1.5em;
	line-height: 1.3;
	box-shadow: 12px 12px 0 0 rgba(0,0,0,0.1);
	padding: 20px 60px 20px 20px;
	position: relative;
}
.contactBtn a::before {
	content: '';
	display: block;
	position: relative;
	width: 130px;
	height: 130px;
	background-image: url(/business/solar/images/ppa/ic_contact.png);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 100% auto;
	margin-right: 20px;
}
.contactBtn a::after {
	content: '';
	display: block;
	width: 20px;
	height: 20px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 30px;
	margin: auto;
}

/* SP */
body.responsive-sp .contactBtn {
	width: 90%;
	margin: 0 auto;
}
body.responsive-sp .contactBtn a {
	padding: 15px 30px 15px 15px;
	font-size: 1rem;
	background-position: 10px center;
	background-size: 55px auto;
	box-shadow: 10px 10px 0 0 #e0e0df;
}
body.responsive-sp .contactBtn a::before {
	width: 55px;
	height: 55px;
	margin-right: 15px;
}
body.responsive-sp .contactBtn a:after {
    width: 10px;
    height: 10px;
    right: 5%;
}
/* PC */
@media print, screen and (min-width: 768px) {
}

/* ------------------------------
2021.09. Add
----------------------------- */
.contentsIn {
	width: 92%;
	margin: 0 auto;
}
.faqList {
	width: 100%;
}
.faqList dt,
.faqList dd {
	position: relative;
}
.faqList dt {
	font-weight: bold;
}
.faqList dt::before {
	content: 'Q';
	display: block;
	border-radius: 50%;
	font-weight: bold;
	text-align: center;
	color: #fff;
	background-color: #5c8fc7;
	position: absolute;
	left: 0;
	top: 0;
}
.faqList dd::before {
	content: 'A';
	display: block;
	border-radius: 50%;
	font-weight: bold;
	text-align: center;
	color: #fff;
	background-color: #bc5353;
	position: absolute;
	left: 0;
	top: 0;
}
.faqList dd:last-child {
	margin-bottom: 0;
}
.contactBtnWrap {
	width: 100%;
	background-color: #fff;
}
/* SP */
@media only screen and (max-width: 767px) {
.contactBtnWrap {
	padding-bottom: 40px;
}
.faqListWrap {
}
.faqList {
	margin-bottom: 0;
}
.faqList dt,
.faqList dd {
	padding-left: 35px;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	font-size: 0.88rem;
}
.faqList dt:before {
	width: 28px;
	height: 28px;
	line-height: 28px;
	font-size: 1rem;
}
.faqList dd:before {
	width: 28px;
	height: 28px;
	line-height: 28px;
	font-size: 1rem;
}
.faqList dd {
	margin-bottom: 0.5em;
}
.contactBtnWrap {
	padding: 2em 1%;
}
}
/* PC */
@media print, screen and (min-width: 768px) {
#contentsArea {
	width: 90%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
.mainCatch {
	font-size: 0.91em;
	line-height: 1;
	padding: 0.85em;
}
.contentsIn {
	max-width: 1020px;
}
#faq {
	padding-bottom: 70px;
}
.faqListWrap {
}
.faqList dt,
.faqList dd {
	padding-left: 70px;
	padding-top: 10px;
	min-height: 54px;
}
.faqList dt {
	font-size: 1em;
	margin-bottom: 8px;
}
.faqList dd {
	margin-bottom: 20px;
	font-size: 0.73em;
	line-height: 1.6;
}
.faqList dt:before {
	width: 54px;
	height: 54px;
	line-height: 54px;
	font-size: 1.75rem;
}
.faqList dd:before {
	width: 54px;
	height: 54px;
	line-height: 54px;
	font-size: 1.75rem;
}
.contactBtnWrap {
	padding: 60px 0 72px;
}
.contactBtn {
	max-width: 960px;
}
}