@charset "utf-8";
/* CSS Document */

/****************************
   MAIN IMAGE
*****************************/
.mainContent-headerContainer{
	height:500px;
	overflow:hidden;
    position:relative;
    background-image: url('/assets/image/individual_customer/main_image.jpg');
    background-size: cover;
    background-position: bottom;
    background-repeat: no-repeat;
}
.header-title{
    width:1100px;
    margin: 50px auto;
    padding-left: 10px;
    color:#FFFFFF;
    letter-spacing: 5px;
}
.header-notice{
	position: absolute;
	bottom: 0;
	right:0;
	font-size: 11px;
}
@media screen and (max-width: 1100px) {
    .header-title{
        padding-left: 25px;
    }
}
@media screen and (max-width: 978px) {
    .mainContent-headerContainer{
        height:475px;
    }
    .header-title{
        font-size: 4.3rem;
    }
}
@media screen and (max-width: 479px) {
    .mainContent-headerContainer{
        height:300px;
    }
    .header-title{
        font-size: 2.5rem;
    }
		.header-notice{
			background-color: rgb(255, 255, 255,0.8);
			padding: 5px 15px;
		}
}


/****************************
   VIDEO
*****************************/
.mainContent-videoContainer{
    display: block;
    clear: both;
    overflow: hidden;
    background-color:#F2CFA2;
}
.video{
    max-width: 1100px;
    width:100%;
    margin: auto;
}
.video-catchcopy{
    margin:70px 0 50px 0;
    font-weight: 700;
    color:#ffffff;
    text-align:center;
}
.video-youtube{
    max-width:850px;
    width:100%;
    height:478px;
    margin: 0 auto 45px auto;
    box-shadow: 0 0 8px gray;
}
.video-text{
    text-align: center;
    font-size: 2.5rem;
    font-weight: 500;
    margin-bottom: 75px;
}

@media screen and (max-width: 1100px) {
    .mainContent-videoContainer{
        padding:0 25px;
    }
    .video-catchcopy{
        margin:35px 0 40px 0;
    }
}
@media screen and (max-width: 978px) {
    .video-catchcopy{
        font-size:4.5rem;
    }
}
@media screen and (max-width: 479px) {
    .video-youtube{
        height:250px;
    }
    .video-catchcopy{
        margin:35px 0 25px 0;
        font-size:2.5rem;
    }
    .video-text{
        font-size:1.8rem;
        margin-bottom: 35px;
    }
}

/****************************
   CHARACTERISTICS
*****************************/
.mainContent-characteristicsContainer{
    background-color: #FCF2E5;
    overflow: hidden;
    padding-top:75px;
}
.characteristics{
    max-width:1100px;
    margin: auto;
}
.characteristics-catchcopy{
    color:#290202;
    text-align: center;
    margin:0 0 75px 0;
}
.characteristics-characteristicContainer{
    overflow: hidden;
    display: flex;
    justify-content:space-between;
    align-items: center;
    width: 85%;
    padding-bottom:75px;
    margin: auto;
}
.characteristic{
    padding:25px;
    border-radius:50px;
    height:300px;
    width:300px;
    box-sizing: border-box;
    text-align: center;
}
.characteristic.chartA{
    border:10px solid #FF8000;
}
.characteristic.chartB{
    border:10px solid #21AE00;
}
.characteristic.chartC{
    border:10px solid #E270D3;
}
.characteristic > figure{
    height:60%;
    margin:0;
    overflow: hidden;
}
.characteristic > figure > img{
    width: 50%;
}
.characteristic > p{
    font-size:2.2rem;
    font-weight: 500;
}
.characteristic > p.biomas{
	margin-top: 7px;
}

@media screen and (max-width: 1100px) {
	.characteristic{
    	padding:25px;
    	border-radius:50px;
    	height:300px;
    	width:70%;
		margin:25px 5px;
    	box-sizing: border-box;
	}
}
@media screen and (max-width: 978px) {
	.characteristics-characteristicContainer{
		display:block!important;
	    padding-bottom:0;
	}
	.characteristic{
    	padding:15px;
    	height:auto;
    	width:75%;
		margin:25px auto;
    	box-sizing: border-box;
        text-align: center;
    }
    .characteristic > figure{
        height:auto;
    }
    .characteristic > figure > img{
        width: 25%;
    }
    .characteristic > p{
        font-size:1.6rem;
    }
	.characteristics-catchcopy{
		font-size:3rem;
		margin:50px 0 25px 0;
	}
}

@media screen and (max-width: 479px) {
    .mainContent-characteristicsContainer{
        padding-top:0px;
    }
    .characteristic{
    	padding:15px;
    	width:75%;
		margin:25px auto;
    }
    .characteristic > figure{
        height:auto;
    }
    .characteristic > figure > img{
        width: 35%;
    }
    .characteristic > p{
        font-size:1.6rem;
    }
}



/****************************
   PLANS
*****************************/
.mainContent-plansContainer{
    background-image: url('/assets/image/individual_customer/plan_bg.jpg');
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    overflow: hidden;

}
.mainContent-inner{
    background-color:rgba(255,255,255,0.3);
    width:100%;
    height:100%;
    overflow: hidden;
    padding-bottom: 75px;
}
.plans{
    max-width:1100px;
    width:100%;
    margin: auto;

}
.plans-title{
    margin:70px 0 30px 0;
    font-weight: 700;
    color:#ffffff;
    text-align:center;
    clear: both;
}
.plans-title.simulation{
    clear: both;
    padding:100px 0 10px 0;
    font-size: 3.9rem;
}
.plans-title.simulation > span{
    display: block;
    font-size: 1.6rem;
    margin-top: 10px;
}
.plans-detail{
    background-color: rgba(255, 255, 255,0.8);
    text-align: center;
    opacity:0.8;
    padding:5px 25px;
    margin-top:25px;
    width: 49%;
    min-height:660px;
}
.plans-detail > figure{
    margin:15px auto;
}
.plans-detail.carbonPlus{
    float: left;
}
.plans-detail.carbon{
    float: right;
}
.plans-detail-ttl{
    margin:25px 0 0 0;
}
.plans-detail-ttl span{
    font-size: 1.6rem;
    display: block;
    margin-top: 10px;
}
.plans-detail-pointContainer{
    display:table;
    width:100%;
    overflow: hidden;
}
.point-img{
    display:table-cell;
    width:75px;
}
.point-img > img{
    width:100%;
}
.point-pt{
    display:table-cell;
    margin: 0;
    padding: 0;
    vertical-align: middle;
    width:375px;
}
.point-pt > li{
    margin: 0;
    padding: 5px 0 0 50px;
    font-size: 1.4rem;
    list-style: none;
    text-align: left;
    margin-bottom: 0px;
    background-repeat: no-repeat;
    background-size:30px;
    height:40px;
    background-position-x: 10px;
}
.point-pt > li.as_plume{
    background-image: url('/assets/image/individual_customer/plumeIcon.png');
    padding: 0px 0 0 50px;
}
.point-pt > li.as_c02{
    background-image: url('/assets/image/individual_customer/c02Icon.png');
}
.point-pt > li.as_fuel{
    background-image: url('/assets/image/individual_customer/fuelIcon.png');
}
.point-renewable100{
    clear: both;
    display: block;
    background-color: #4DAAFC;
    color: #ffffff;
    max-width:305px;
    width:100%;
    margin: 10px auto 10px auto;
    border-radius:25px;
		font-weight: bold;
		padding: 5px 0;
}
.point-textBlue{
    clear: both;
    display: block;
}
.point-text{
    font-weight: 400;
    line-height:1.5;
    margin:10px 0;
    padding:15px;
    text-align: left;
}
.point-text span{
    font-size: 1.3rem;
}
.plans-pricesContainer{
	clear: both;
	background: rgba(255, 255, 255, 0.7);
	list-style: none;
	margin: 0;
	padding: 25px 0;
	/*justify-content: center;
	align-items: center;*/
}
.prices{
	display: table;
	margin: 0 auto;
	padding: 15px 0;
	border-collapse: separate;  /* セルの間隔を空ける */
	border-spacing: 10px 0;  /* 左右 上下で記述 */
}
.prices-pdf{
	display: table-cell;
	width:200px;
	background-color: #ffffff;
	text-align: center;
	margin: 35px 15px;
	border-radius:25px;
	border: 3px solid #006FFF;
	padding: 0px 25px 10px 25px;
	vertical-align: middle;
}
.prices-pdf.as-tokyoArea p{
	margin-top: 35px;
}
.prices-pdf.as-tokyoArea img{
	margin-top: 15px;
}
.prices-pdf > a{
	display: block;
}
.plans-pricesNotice{
	text-align: center;
}

.plans-simulationContainer{
    clear: both;
    background: rgba(255, 255, 255, 0.9);
    overflow: hidden;
}

.simulation{
    margin:45px auto 50px auto;
    font-weight: 700;
    text-align:center;
    padding: 45px;
    max-width: 900px;
    width: 95%;
}
.simulation-form{
    overflow: hidden;
}
.simulation-form-selector{
    width:55%;
    float: left;
    text-align: left;
}
.simulation-form-selector > label{
    display: inline-block;
    width:50%;
}
.simulation-form-selector > select{
    padding:5px;
    width:40%;
    margin:10px;
    border: 1px solid #ececec;
    text-align:center;
}
.simulation-form-selector > select.contract_quantity{
    display:none;
}
.simulation-form-button{
    width:45%;
    float: right;
}
.simulation-form-button > button{
    margin-top: 35px;
    width:100%;
    height:100px;
    line-height: 100px;
    background: #fe7003;
    background: -moz-linear-gradient(top,  #fe7003 0%, #ffc400 100%);
    background: -webkit-linear-gradient(top,  #fe7003 0%,#ffc400 100%);
    background: linear-gradient(to bottom,  #fe7003 0%,#ffc400 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fe7003', endColorstr='#ffc400',GradientType=0 );
    font-size: 2.5rem;
    color: #ffffff;
		cursor: pointer;
}
.simulation-form-button > button > i{
    margin-right:10px;
}
.simulation-result{
    clear: both;
    margin: 35px auto 0 auto;
    max-width:850px;
    width:95%;
}
.simulation-result-title{
    font-size: 3rem;
    padding-bottom:10px;
    border-bottom:5px #4a96fd groove;
}
.simulation-result-list{
    margin: 0;
    padding: 0;
    display:flex;
}
.simulation-result-list > li{
    list-style: none;
    margin: 0;
    padding: 0;
    flex: auto;
}
.simulation-result-list > li.for_current{
    width:300px;
    margin-top: 85px;
}
.simulation-result-list > li.for_current > p{
    border:3px #000000 solid;
    padding: 10px;
    font-size: 2rem;
}
.simulation-result-list > li.for_current > p > span{
    display:inline-block;
    width:90%;
    font-size: 3.5rem;
}
.simulation-result-list > li.for_current > p > span > span{
    font-size: 2rem
}
.simulation-result-list > li.for_triangle{
    margin-left:10px;
}
.simulation-result-list > li.for_triangle > span{
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 36.5px 0 36.5px 22px;
    border-color: transparent transparent transparent #00E5F6;
    line-height: 0;
    _border-color: #000000 #000000 #000000 #00E5F6;
    _filter: progid:DXImageTransform.Microsoft.Chroma(color='#000000');
    margin: 115px 3px 0 3px;
}
.simulation-result-list > li.for_carbon{

}

.simulation-result-list > li.for_carbon > p{
    border:3px #006FFF solid;
    padding: 10px;
    font-size: 2rem;
    width: 350px;
    float:right;
    clear: both;
}
.simulation-result-list > li.for_carbon > p > span{
    display:inline-block;
    width:90%;
    font-size: 3.5rem;
}
.simulation-result-list > li.for_carbon > p > span > span{
    font-size: 2rem
}

.simulation-description{
    max-width: 850px;
    width: 95%;
    background-color: #FFFFFF;
    padding: 15px;
    text-align: left;
    margin:25px auto 35px auto;
}
.simulation-description > p{
    font-size: 1.6rem;
    margin: 0;
    padding: 0;
}
.simulation-description > ul{
    list-style: none;
    font-size:1.4rem;
    margin: 15px 0 0 0;
    padding: 0;
}
@media screen and (max-width: 1100px) {
	.plans-detail{
		width:90%;
        margin:auto;
        float: none!important;
        min-height: 0;
    }
    .plans-detail.carbon{
        margin-top:25px;
        float: none;
    }
    .plans-detail > figure{
        margin:15px auto;
    }
    .plans-detail > figure > img{
        width: 100%;
    }
	.plans-simulationContainer{
		width:90%;
		margin:auto;
    }
    .simulation-form-selector{
        width:75%;
        float: none;
        margin: auto;
    }
    .simulation-form-selector > select{
        width:50%;
        height:45px;
        line-height: 45px;
    }
    .simulation-form-button{
        width:100%;
        float: none;
        margin: auto;
    }
    .simulation-result-list{
        display: block;
    }
    .simulation-result-list > li.for_current{
        width:100%;
        margin-top: 60px;
    }
    .simulation-result-list > li.for_triangle{
        margin-left:0;
        width:100%;
    }
    .simulation-result-list > li.for_triangle > span{
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 15px 30px 0 30px;
        border-color: #00E5F6 transparent transparent transparent;
        line-height: 0;
        _border-color: #000000 #000000 #000000 #00E5F6;
        _filter: progid:DXImageTransform.Microsoft.Chroma(color='#000000');
        margin: 0 3px 0 3px;
    }

    .simulation-result-list > li.for_carbon > p{
        width: 100%;
        float:none;
        clear: both;
    }


}
@media screen and (max-width: 978px) {
	.plans-title{
		font-size:3rem;
		margin:45px 0 35px 0;
	}
	.plans-title.simulation{
        font-size:2.5rem;
		margin:0px 0 25px 0;
    }
    .simulation{
        padding: 0;
    }
    .simulation-form-selector > label{
        display: block;
        width:95%;
        margin: auto;
    }
    .simulation-form-selector{
        width:100%;
        display: block;
        margin: auto;
    }
    .simulation-form-selector > select{
        width:95%;
    }
    .simulation-form-button > button{
        width:100%;
        height:75px;
        line-height: 75px;
        color: #ffffff;
        font-size:1.6rem;
    }
    .simulation-result-title{
        font-size: 2rem;
    }

}
@media screen and (max-width: 475px) {
		.prices-pdf{
			font-size: 14px;
			padding: 0 5px;
		}

.prices{
	display: block;
	margin: 0 auto;
	border-collapse:unset;  /* セルの間隔を空ける */
	border-spacing: 0;  /* 左右 上下で記述 */
}
.prices-pdf{
	display: block;
	margin: 10px auto;
	padding: 0 10px 15px 10px;
	
}

    .simulation-result-list > li.for_current{
        margin-top: 0px;
    }

}

/****************************
   FLOW
*****************************/
.mainContent-flowContainer{
    background-color: #F2E9DD;
    overflow: hidden;
    padding-bottom: 45px;
}
.flow{
    max-width:850px;
    width:100%;
    margin: auto;
}
.flow-title{
    margin:65px 0 50px 0;
    font-weight: 700;
    text-align:center;
}
.flow-stepContainer{
    background-color:#ffffff;
    position: relative;
    margin: 75px 0;
    padding: 10px 20px;
}
.flow-stepContainer:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -25px;
    border: 25px solid transparent;
    border-top: 35px solid #ffffff;
    overflow: hidden;
}
.step{
    width:100%;
    height:125px;
    overflow: hidden;
}
.step-number{
    width:85px;
    height:85px;
    float:left;
    margin-top: 20px;
}
.step-number-circle{
    padding-top:15px;
    width:85px;
    height:85px;
    border-radius:60px;
    text-align: center;
    color:#ffffff;
    font-size:3.5rem;
}
.step-number-circle > span{
    display:block;
    font-size:1.6rem;
}
.step-number-circle.one{
    background-color: #FF7D81;
}
.step-number-circle.two{
    background-color: #F19149;
}
.step-number-circle.three{
    background-color: #FFCB00;
}
.step-number-circle.four{
    background-color: #26AE90;
}
.step-number-circle.five{
    background-color: #45C0BF;
}
.step-detail{
    width:650px;
    height:125px;
    float:left;
    padding: 0 0 0 25px;
    margin: 0;
}
.step-detail-ttl{
    font-size:2rem;
    font-weight: 500;
    padding: 0;
    margin-top: 10px;
}
.step-detail-det{
    padding: 0;
    margin-top: -30px;
    font-weight: 500;
}
.step-detail-not{
    padding: 0;
    margin: 0;
    font-size:1.4rem;
    margin-top: -30px;
    font-weight: 400;
}
.step-icon{
    float:left;
    width:75px;
    margin-top: 25px;
}
.step-icon > img{
    width:100%;
}
.flow-appBtn{
    text-align: center;
    margin: 45px auto 15px auto;
    width:400px;
}
.flow-appBtn > a > img{
    width:100%;
}
.flow-notice{
    line-height: 1.5;
    text-align: center;
    font-size: 1.4rem;
}
.flow-notice > span{
    font-weight: 700;
    font-size: 1.6rem;
}


@media screen and (max-width: 1100px) {
	.flow-stepContainer{
		width:85%;
		margin:50px auto;
		text-align:center;
	}
	.step{
		height:auto;
	}
	.step-number{
    	width:100%;
		height:auto;
		text-align:center;
		display:block;
		overflow:hidden
	}
	.step-number-circle{
	    width:200px;
   		height:200px;
	    border-radius:100px;
		overflow:hidden;
		margin:auto;
		padding-top:50px;
	}
	.step-detail{
		height:auto;
		display:block;
		width:100%;
	    float:none;
	    padding: 0;
	    margin: 0;
	}
	.step-detail-ttl{
		font-size:2rem;
		font-weight: 500;
		padding: 0;
		margin-top: 20px;
	}
	.step-icon{
    	float:none;
		margin:auto;
    	width:75%;
	}
	.flow-appBtn{
    	width:75%;
    	margin: 75px auto 0 auto;
	}
	.flow-appBtn > a > img{
		width:100%;
	}

}
@media screen and (max-width: 834px) {
	.flow-title{
		margin:45px 0 50px 0;
		font-weight: 700;
		font-size:3rem;
	}
	.step-number-circle{
	    width:100px;
   		height:100px;
	    border-radius:50px;
		overflow:hidden;
		margin:auto;
		padding-top:20px;
	}
	.step-number-circle{
		font-size:3.5rem;
	}
	.step-icon{
		margin:25px auto 0 auto;
    }
    .step-icon > img{
        width:auto;
    }
}
@media screen and (max-width: 414px) {
	.flow-appBtn{
    	width:90%;
    	margin: 75px auto 0 auto;
	}

}

